Facebook Profile Picture Link Changes?

Does a link to a facebook profile picture stay up to date or should I store images in storage?

I am using firebase and facebook authentication and grabbing a users profile picture link like this when they FIRST create an account:

const photoLarge = await getFacebookUserInfo().then((userResponse) => {
              }).catch((error) => {
                return error
            const userId = await firebaseService.auth().currentUser.uid;

For some reason I noticed in dev vs prod I have 2 different links with the dev not working.

Dev doesn't work:

Prod Does:

I am trying to figure out if the facebook picture should be downloaded and stored in storage and then referenced instead and if so how to go about doing that? (/ is there a expiration date on a link)

I haven't seen if this is happening or not for Google Sign-in.

Here is my graph request:

//graph QL request to get larger facebook profile
export const getFacebookUserInfo = () => {
  return new Promise((resolve, reject) => {
    const infoRequest = new GraphRequest(
        parameters: {
          fields: {
            string: 'email,about,name,picture.type(large)'
      (error, data) => {
        if (error) {
        } else {
    new GraphRequestManager().addRequest(infoRequest).start();


So somehow I finally figured this out today. Essentially the graphAPI spits back several pieces with one being a picture piece. This looks like the links I posted above

THIS CHANGES!!! Not sure how often, but do NOT use this as eventually it will be a dead link.

However, what I missed was that you can use the ID that the graphAPI spits back instead and use the following link:{your_id_goes_here}/picture?type=large&redirect=true&width=500&height=500

More information can be found in this other post:

Get user profile picture by Id