Instagram location API
Look up a place by its Instagram location id: name, coordinates and category, in the shared Social Fetch envelope.
GET /v2/instagram/locations/{locationId}1 credit Failed requests are free
About this endpoint
GET /v2/instagram/locations/{locationId} takes the Instagram location id in the path, or an instagram.com /explore/locations/<id>/ URL. Read data.lookupStatus (found or not_found), then data.location: id, name, lat, lng, category (for example Cafe), address, city, description, imageUrl, facebookPlacesId and url. Every field is always present and is null when Instagram doesn't say. description is the short text on the place, imageUrl its picture (an Instagram CDN URL that expires) and facebookPlacesId the id of the same place on Facebook. This lookup has no address or city, so those two are null; the location search has them. An id that doesn't exist comes back as not_found, and anything that can't be an id is a 400 that costs nothing.
Find an id with GET /v2/instagram/locations/search, or read location.id on a post. Use it to turn a location id into a venue record, or to enrich a list of ids with coordinates and categories. To list the posts and Reels tagged at a place use GET /v2/instagram/locations/{locationId}/media. meta.version is v2; bill from meta.creditsCharged.
Instagram location API FAQ
How do I get an Instagram location's coordinates and category via API?
Call GET /v2/instagram/locations/{locationId} with your Social Fetch API key (x-api-key) and the location id in the path. Read data.lookupStatus, then data.location.lat, data.location.lng and data.location.category. See the API docs for parameters and examples.
How much does the Instagram location API cost?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.
Where do I get a location id?
Search by name with GET /v2/instagram/locations/search: each result's id works here. A post's location.id is the same id, and it is the number in an instagram.com/explore/locations/{id}/ URL, which you can also pass in the path.
Does it return a street address or city?
Not on this route: address and city are null. The place's name, coordinates, category and, when it has them, description and picture are filled. The location search returns an address or city when Instagram has one.
How is this different from location media and search?
This route returns the place itself. GET /v2/instagram/locations/{locationId}/media lists the posts and Reels tagged there, and GET /v2/instagram/locations/search finds places by name.
Other Instagram endpoints
- ProfileGET /v2/instagram/profiles/{profile}
- Profile mediaGET /v2/instagram/profiles/{profile}/media
- Profile highlightsGET /v2/instagram/profiles/{profile}/highlights
- Profile storiesGET /v2/instagram/profiles/{profile}/stories
- Profile followingGET /v2/instagram/profiles/{profile}/following
- HighlightGET /v2/instagram/highlights/{highlightId}
- Profile engagementGET /v2/instagram/profiles/{profile}/engagement
- Search reelsGET /v2/instagram/reels/search