Getting a High Resolution picture from Facebook API

13,675

Getting the max size of a picture

/USER_ID?fields=images

images gives back "an array of objects containing width, height, source each representing the various photo sizes". The result looks like this:

{
  "data": [
    {
      "images": [
        {
          "height": 1536, 
          "width": 2048, 
          "source": "https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn1/s2048x2048/65169_XXXXXX_n.jpg"
        }, 
        {
          "height": 720, 
          "width": 960, 
          "source": "https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn1/65169_44590146XXXXXXXXn.jpg"
        }, 
        {
          "height": 540, 
          "width": 720, 
          "source": "https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-prn1/s720x720/65169_44XXXXXXX0984540_n.jpg"
        },
        { 
          ...
        },
        {
          "height": 97, 
          "width": 130, 
          "source": "https://fbcdn-photos-a.akamaihd.net/hphotos-ak-prn1/s75x225/65169_44XXXXX_s.jpg"
        }
      ], 
    }
  ]
}

Getting the max size of a profile picture

Try with more than 960, i.e 961. You'll get the maximum size of the picture, if available!

/USER_ID?fields=picture.height(961)

Result:

{
  "id": "PROFILE_ID", 
  "picture": {
    "data": {
      "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn1/615962_4486XXXXXXXXX3_601495975_o.jpg", 
      "width": 1536, 
      "height": 2048, 
      "is_silhouette": false
    }
  }
}
Share:
13,675
jbkkd
Author by

jbkkd

Ambitious human being in an overly complex universe

Updated on June 04, 2022

Comments

  • jbkkd
    jbkkd almost 2 years

    Facebook FQL API for Photos states the maximum resolution for a photo returned from the API is 960x960:

    The Photo object has an equivalent src connection. Using photo_src FQL, you can retrieve images with the following dimensions: 960, 720, 480, 320, 180, 130, 75 pixels.

    However, some images are uploaded at a higher resolution. Sometimes even much higher.

    When browsing Facebook regularly, you can see these pictures and view their full size. However, I can't seem to find any way to get the original resolution in the API.

    Is this possible and I have missed something? And if it's not - why?

  • jbkkd
    jbkkd over 11 years
    What do you mean by that? when trying something like this: select src_big from photo where object_id = 10151151370658685 and src_big_width = 960, I get no data back
  • jbkkd
    jbkkd over 11 years
    Thanks, works like a charm. I still wonder though why src_big doesn't return the biggest image available
  • AmitP
    AmitP almost 11 years
    It seems like there is no FQL equivalent for "/USER_ID?fields=picture.height(961)". I was looking for hours, did anyone find FQL to retrieve full profile image size by given UID (user ID) only?
  • fvisticot
    fvisticot almost 11 years
    it is not clear for me how it is possible to get images with 2048px if facebook is storing images with max 960px :( ... can you please explain ?
  • Stéphane Bruckert
    Stéphane Bruckert almost 11 years
    @AmitP The FQL equivalent is select images from photo where object_id = PHOTO_ID. Just get the first picture in the image array. @fvisticot You'll always get the biggest size. If there is no big picture available, it means that the photo has not been uploaded as high definition.
  • Kaan Soral
    Kaan Soral over 10 years
    This is gold: /USER_ID?fields=picture.height(961) thanks a lot :)
  • Vineesh TP
    Vineesh TP over 9 years
    Can I get timeline photos ?