facebook-graph-apicachingfacebook-likefacebook-opengraphfacebook-sharer

Is there an API to force Facebook to scrape a page again?


I'm aware you can force update a page's cache by entering the URL on Facebook's debugger tool while been logged in as admin for that app/page: https://developers.facebook.com/tools/debug

But what I need is a way to automatically call an API endpoint or something from our internal app whenever somebody from our Sales department updates the main image of one of our pages. It is not an option to ask thousands of sales people to login as an admin and manually update a page's cache whenever they update one of our item's description or image.

We can't afford to wait 24 hours for Facebook to update its cache because we're getting daily complaints from our clients whenever they don't see a change showing up as soon as we change it on our side.


Solution

  • Page metadata isn't the sort of thing that should change very often, but you can manually clear the cache by going to Facebook's Debug Tool and entering the URL you want to scrape

    There's also an API for doing this, which works for any OG object:

    curl -X POST \
         -F "id={object-url OR object-id}" \
         -F "scrape=true" \
         -F "access_token={your access token}" \
         "https://graph.facebook.com"
    

    An access_token is now required. This can be an app or page access_token; no user authentication is required.