Instagram Location Scraper - Posts by Place
Pricing
$0.40 / 1,000 result returneds
Instagram Location Scraper - Posts by Place
Scrape Instagram posts by location/place at $0.40 per 1k - cheaper than apidojo. Get captions, likes, comments, media URLs, owner & timestamp. Top & recent posts, multi-cookie rotation, export JSON/CSV/Excel or to Notion. Failed runs cost nothing.
Pricing
$0.40 / 1,000 result returneds
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
⚡ Instagram Location Scraper — Posts by Place
Scrape Instagram posts by location/place — without the per-call price of the big providers. Give it location IDs or /explore/locations/<id>/ URLs and get back the top & recent posts for each place: caption, likes, comments, media URLs, owner, hashtags, mentions and timestamp. Export to JSON, CSV or Excel, call it from the API, or have every run delivered straight to Notion. Just $0.40 per 1,000 posts — built for local lead gen, event coverage, geo-trend tracking and competitor research.
Instagram location data is login-gated. The paid services scrape it with pools of logged-in accounts. This actor does the same with your throwaway
sessionidcookies, rotated through residential proxy — and bills a fraction of what they charge. Run it with no cookie and it returns one clearly-labeled SAMPLE post (free) so you can preview the exact output shape before adding a session.
Why this scraper wins
- 💸 Cheaper — $0.40 / 1,000 posts, billed per post actually returned. Empty/failed runs cost nothing.
- 🔁 Account + IP rotation built in — paste a few throwaway
sessionidcookies and the actor rotates accounts and fresh residential IPs on every block, the same way the expensive providers stay alive. - 🧹 Clean, flat records — one tidy object per post, ready for sheets, dashboards or LLM pipelines.
- 📬 Built-in Notion delivery — push every run into Notion via Apify connectors, zero extra code.
- 🚦 Honest errors — a clear diagnostic row (
BLOCKED,RATE_LIMITED,NO_RESULTS) instead of silent emptiness.
⚠️ Requires a logged-in sessionid cookie
Instagram gates location feeds behind a login. Get the cookie (1 min): log in to instagram.com on a throwaway account → F12 → Application → Cookies → copy the sessionid value → paste it into sessionCookies (one per line). Add a few accounts for more throughput; the actor rotates between them automatically.
What you can scrape
| Mode | Input | Returns |
|---|---|---|
| Location ID | locationIds (e.g. 212988663) | Top & recent posts at that place |
| Location URL | startUrls — /explore/locations/<id>/ | Same, ID parsed from the URL |
Input
locationIds— Instagram location/place IDs (the number in/explore/locations/<id>/).startUrls— or paste full/explore/locations/<id>/URLs instead.sessionCookies(required for real data) — one or more throwaway-accountsessionidcookies, one per line. Leave empty for a free, labeled sample post that shows the output shape.resultsLimit— max posts to return (default50, up to2000). You pay per post.proxyConfiguration— Residential proxy (required; preconfigured).notionConnector/notionParentId— optional Notion delivery.
Output (one record per post)
{"type": "image","shortCode": "Cabc123XyZ","url": "https://www.instagram.com/p/Cabc123XyZ/","caption": "Sunset over the bay 🌅 #travel","hashtags": ["travel"],"mentions": [],"likesCount": 12840,"commentsCount": 213,"videoViewCount": null,"displayUrl": "https://...jpg","videoUrl": null,"images": ["https://...jpg"],"isVideo": false,"dimensions": { "height": 1080, "width": 1080 },"ownerUsername": "someaccount","ownerId": "123456789","timestamp": "2024-06-12T14:00:00.000Z","locationId": "212988663"}
type is image, video or carousel. Video posts include videoUrl and videoViewCount; carousels list every frame in images.
Pricing
$0.40 per 1,000 posts ($0.0004 per post, pay-per-result). You are only charged for posts actually returned — empty and failed runs are free.
FAQ
Why do I need a cookie? Instagram location feeds require a logged-in session — there is no keyless endpoint. This is exactly how the paid Instagram scrapers work; the difference is you supply your own throwaway accounts and pay far less.
Is my main account at risk? Use a throwaway account, never your personal one. The actor rotates accounts and residential IPs to spread requests.
How do I find a location ID? Open the place on Instagram — the URL is /explore/locations/<id>/. That <id> is what goes in locationIds.
Do I need a proxy? Residential proxy is required and already preconfigured — just run.
I got a NO_RESULTS / BLOCKED row — why? That's the actor telling you exactly what happened instead of failing silently. Add more sessionCookies and re-run.