Instagram location search API
Find Instagram places by name and get the location ids that open their details and tagged posts, with names and coordinates in structured JSON.
GET /v2/instagram/locations/search1 credit Failed requests are free
About this endpoint
GET /v2/instagram/locations/search takes a required query string, such as times square or a business name, and returns the places Instagram's own location search matches, in Instagram's ranking, in the shared Social Fetch envelope (meta.version is v2). Read data.locations: each place has id, name, lat, lng, address, city, category, description, imageUrl, facebookPlacesId and url, always present and null when Instagram doesn't say. address, city and facebookPlacesId are filled for many places; category, description and imageUrl are null here: GET /v2/instagram/locations/{locationId} has them.
Each id is a location id: pass it to GET /v2/instagram/locations/{locationId} for the place and to GET /v2/instagram/locations/{locationId}/media for the posts and Reels tagged there. One search is one set of up to about 30 places with no next page, so refine the query to narrow the results. Matching is loose: a query with no real match can still return loosely related places, so check each name. One search costs one request; bill from meta.creditsCharged.
Instagram location search API FAQ
How do I find an Instagram location id via API?
Call GET /v2/instagram/locations/search with your Social Fetch API key (x-api-key) and a required query. Each item in data.locations has an id, a name and coordinates; pass the id to GET /v2/instagram/locations/{locationId} or its /media. A post's location.id is the same id. See the API docs for parameters and examples.
How much does the Instagram location search 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.
Does the search page through more results?
No. One search returns one set of up to about 30 places in Instagram's ranking, and there is no cursor. Add detail to the query, such as a city, to reach a place that isn't in the set.
Why does a nonsense query still return places?
Instagram matches place names loosely, so a query with no real match can still return loosely related places. Check each result's name and coordinates before you use its id.
What do I get for each place?
The id, name, latitude and longitude, a street address or city when Instagram has one, the Facebook Places id and the public page URL. For the category, description and picture use GET /v2/instagram/locations/{locationId}.
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