Project Nayuki


Understanding Facebook IDs

Example of an FBID

Example of an FBID

On Facebook, an identifier (FBID) is assigned to most pieces of content. The identifier is a simple positive integer like 12345. You can use the FBID to cite a piece of content precisely and concisely using the URL fb.com/<fbid>.

Explained below, a publicly visible FBID is available for many types of content, though not all types. These identifiers can be used (and abused) in interesting ways.

Examples

Here are some URLs of various content on Facebook. The FBID is indicated in bold:

  • https://www.facebook.com/profile.php?id=4
  • https://www.facebook.com/pages/doorsopenTO/361063578336
  • https://www.facebook.com/photo.php?fbid=10151052362543337&set=a.402126878336.167300.361063578336
  • https://www.facebook.com/doorsopenTO/posts/10150868476418337

Scope

For these top-level types, each item has an FBID:

  • Person (a.k.a. profile, user, timeline)
  • Page
  • Event
  • Group

For these types that are attached to a top-level item, each item has an FBID:

  • Status update (a text post)
  • Photo
  • Video
  • Album

FBIDs do not seem to exist for these item types:

  • Comment (which is attached to a status/photo/video/album) [0]
  • Like[1]
  • The news feed
  • Messages in private messaging
  • File attachments in private messaging

(These lists are incomplete. If a Facebook item is not in these lists, then I am not aware of it or I have not determined whether it has an FBID.)

How to use, and why

The main way you use an FBID is to cite a specific item. For example, it could be a person’s profile or a single photo. The alternative to using an FBID is resorting to an awkward natural language reference like “that photo where you wore the red shirt” or “that car accident thread from last night”. But there are some subtle points as well:

  • When you know an FBID, you can view the item at www.facebook.com/<fbid>, or even more simply at fb.com/<fbid>. There is no need to edit the number into a structured URL such as /photo.php?fbid=xxx&set=yyy or /JohnSmith/posts/zzz.

  • To get the FBID of a post or photo, look at the timestamp text (e.g. “5 minutes ago”), which is a permalink to that piece of content. To get the FBID of a person, page, or group can be difficult and will not be explained here.

  • Referring to a person by name (e.g. John Smith) can be very error-prone. For example, many people might have this name, so searching may yield many wrong results. The person might have excluded their profile from public search, which would make them hard to find[2]. By comparison, citing by FBID is easy and unambiguous. [3]

  • For any photo, the URL for the raw image (rather than the photo page with likes and comments) always seems to contain the FBID, along with other unexplained numbers. For example, the FBID of 526270_10151052362543337_2115714767_n.jpg is 10151052362543337. Older photo URLs also contain the uploader’s FBID, but photos uploaded after a certain date[4] no longer have it. So if you are given a direct photo URL from out of the blue, this is useful for retrieving the conversation thread (if you have the permission to view the thread). And as noted, for earlier URLs you can even retrieve the profile of the user who uploaded the photo.

  • The standard link for a photo page includes not only the photo’s FBID, but extra optional information such as the album (set), type (not sure what it means), theatre mode, and others. The album string usually contains the FBID of the album and the FBID of the uploader. For example: https://www.facebook.com/photo.php?fbid=10151052362543337&set=a.402126878336.167300.361063578336&type=1&relevant_count=1

  • The FBID of people who registered early have some information about their college/university. Early Facebook users were attached to a certain school, and the school shows up in the prefix (3 digits?) of their FBID. You can notice this if you collect the FBIDs of many friends and look at ones with the same prefix, or ones who claim to go to the same postsecondary school.

Notes

  • Facebook’s front-end (web page presentation) and back-end (database model) systems are in constant flux. As you can see, I’ve already noted some places where the behavior changed in the last few years. So to make things clear, all the claims on this page are valid at the time of writing (), to the best of my knowledge.

  • In the year , Facebook introduced a new post ID format that is ~70 characters long, consisting of numbers, lowercase letters, and uppercase letters. Old numeric post IDs are transparently upgraded to the new format.

  • [0]: However, comments have their own ID space, e.g.: https://www.facebook.com/doorsopenTO/posts/414358988584020?comment_id=5092420&offset=0&total_comments=1

  • [1]: The act of clicking “Like” does not generate an FBID. However, likes are associated with the FBID of the item. Moreover, the like list for a comment has an ID that is different from the comment ID and the thread’s FBID. For example, this is the list of likes for the comment in [0]: https://www.facebook.com/browse/likes?id=414365728583346

  • [2]: They still can be found through friend lists, random public activity, Google searching for their exact name string, etc. But these methods are much harder.

  • [3]: In addition to a numerical ID, most people have a Facebook URL name too (e.g. john.smith.42). This was optional in the past, but in late Facebook began gradually assigning a URL to each user by force.

  • [4]: In approximately year , if I recall correctly?