Instagram Location Scraper
Pricing
$19.99/month + usage
Instagram Location Scraper
Extract Instagram location data quickly and accurately. Collect location names, post counts, related posts, captions, hashtags, and engagement details for local trend research, travel insights, and market analysis. Get clean, structured data without coding or manual searching.
Pricing
$19.99/month + usage
Rating
0.0
(0)
Developer
ScraperForge
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Instagram Location Scraper
The Instagram Location Scraper is a purpose-built Apify actor that collects posts from Instagram location pages with clean, structured outputs. It solves the hassle of manual location searches and inconsistent results by automating discovery from location URLs, usernames, or keywords. As an instagram geotag scraper and instagram places scraper, it’s ideal for marketers, developers, data analysts, and researchers who need to extract reliable place-based content at scale.
By converting keywords/usernames into location URLs and crawling posts, this instagram location extractor enables location-based trend analysis, market intelligence, tourism insights, and content discovery — without coding.
What data / output can you get?
Here’s a snapshot of the structured fields you’ll receive for each Instagram post. All data is saved to your Apify dataset and can be exported as JSON, CSV, or Excel.
| Data field | Description | Example value |
|---|---|---|
| type | Item type identifier | "post" |
| id | Unique Instagram post ID | "3761820491792436654" |
| code | Short code used in post URLs | "DQ0q85qEs2u" |
| url | Full URL to the Instagram post | "https://www.instagram.com/p/DQ0q85qEs2u/" |
| createdAt | ISO 8601 timestamp of post creation | "2025-11-09T10:52:49Z" |
| likeCount | Number of likes | 1 |
| commentCount | Number of comments | 0 |
| caption | Post caption text | "#berlin #travel" |
| isAvailable | Whether the post is available | true |
| isLikeAndViewCountsDisabled | If counts are hidden | false |
| isPinned | If the post is pinned | false |
| isPaidPartnership | Paid partnership flag | false |
| isCarousel | If the post has multiple media | true |
| isVideo | If the post contains video | false |
| owner | Object with user details | {"id":"222741818","username":"example"...} |
| location | Object with location info | {"id":"1681866845218607","name":"Messe Berlin"...} |
| image | Image object for photos | {"url":"https://...%22,%22width%22:1440,%22height%22:1440} |
| video | Video object for videos | {"id":"video_...","url":"https://...%22,%22duration%22:24.4} |
| audio | Audio/music object if available | {"title":"...","artist":"...","audioUrl":"https://..."} |
Bonus: Media metadata includes best-quality image/video candidates and parsed video duration. Audio/music info is extracted when present (e.g., reels), and engagement counts are included by default.
Key features
-
🔎 Smart input detection (URLs, usernames, keywords) Automatically detects input types and converts usernames or keywords into location URLs. It works as an instagram location search scraper capable of discovering place pages from free-form inputs.
-
🌐 Location-focused crawling Extracts posts from Instagram location pages reliably — perfect to scrape instagram posts by location and build an instagram locations dataset.
-
🧭 Timeframe filtering (absolute or relative) Use dateFilterType with absoluteStartDate/absoluteEndDate or relativeValue/relativeUnit to include only posts within your desired time window.
-
🧠 Proxy fallback & resilience Built-in detection and fallback from no proxy → datacenter → residential for consistent runs, minimizing blocks and maximizing throughput.
-
📦 Structured media & engagement Captures image/video URLs, dimensions, video duration, audio metadata (when available), likes and comments counts, plus owner and location details.
-
📈 Pagination and limits Handles pagination automatically and respects maxItems to control volume, making it a scalable instagram location crawler for batch runs.
-
🔐 Optional session authentication Provide sessionId for authenticated requests when needed. This improves reliability for keyword searches and helps when scraping instagram locations without api access.
-
🔁 Developer- and workflow-friendly Results land in Apify datasets — export to JSON/CSV/Excel, call via the Apify API, and integrate with pipelines (e.g., Make, Zapier, n8n).
-
🧭 Ranked vs recent sorting (under the hood) Supports Instagram’s “ranked” or “recent” tabs for location posts, enabling flexible discovery as an instagram location posts scraper.
How to use Instagram Location Scraper - step by step
-
Log in to Apify Sign in at https://console.apify.com.
-
Open the actor Search for “Instagram Location Scraper” in the Apify Store or your list of actors.
-
Configure input
- Paste one or more entries in startUrls (string list). Each item can be:
- A location URL, e.g. https://www.instagram.com/explore/locations/213131048/berlin-germany/
- An Instagram username, e.g. mrbeast or @mrbeast
- A keyword, e.g. berlin or new york
- Set maxItems to control output volume (0 = unlimited).
- Optionally provide sessionId to improve access and keyword search reliability.
- Choose proxyConfiguration (by default, useApifyProxy is false; the actor can auto-fallback to residential).
- (Optional) Apply timeframe filtering:
- dateFilterType: relative or absolute
- For relative: set relativeValue (e.g., 7) and relativeUnit (days/weeks/months/years)
- For absolute: set absoluteStartDate and/or absoluteEndDate (YYYY-MM-DD)
- Paste one or more entries in startUrls (string list). Each item can be:
-
Start the run Click Start. The actor will resolve usernames/keywords to location URLs, fetch location tabs, and begin extraction.
-
Monitor progress Watch logs for pagination, proxy fallback events, and timeframe filtering summaries.
-
Access and export results Open the OUTPUT tab to view records. Export your instagram locations dataset as JSON, CSV, or Excel.
Pro tip: Use relativeValue + relativeUnit to focus on the latest content (e.g., last 7 days), or trigger runs via the Apify API for recurring “download instagram posts by location” workflows.
Use cases
| Use case | Description |
|---|---|
| Location-based marketing analysis | Measure engagement and content patterns at specific venues to inform campaigns and local strategy. |
| Competitor monitoring by place | Track posts tagged at competitor store locations to benchmark foot traffic content and UGC. |
| Event & venue tracking | Monitor posts from conferences, concerts, or pop-ups using an instagram location posts scraper for timely insights. |
| Tourism & destination research | Extract instagram geotagged posts to understand visitor behavior and trending spots. |
| Brand presence by location | Use an instagram business location scraper to track mentions and UGC at physical locations. |
| Academic & social research | Build a reproducible instagram locations dataset for studies on urban activity, culture, or mobility. |
| Data pipelines & enrichment | Feed structured post data into analytics stacks as an instagram location api alternative. |
| Content discovery by place | Find creators and high-performing posts near key locations for partnerships and inspiration. |
Why choose Instagram Location Scraper?
This tool focuses on precision, automation, and reliability for place-based Instagram data.
- ✅ Accurate location extraction: Purpose-built instagram places scraper targeting the official location tabs.
- 🌍 Keyword and username resolution: Converts inputs into location URLs for end-to-end discovery.
- 🔐 Optional authentication: sessionId support helps when scraping instagram locations without api and improves keyword search.
- 🧠 Robust anti-blocking: Automatic fallback from direct to datacenter to residential proxies keeps runs stable.
- ⚙️ Developer-ready: Use Apify datasets and API for pipelines; export to JSON/CSV/Excel effortlessly.
- 🛡️ Ethical by design: Targets publicly available location data; no private profiles or passwords.
- 💸 Cost-effective at scale: Pagination and maxItems controls let you tune throughput for batch projects.
Compared to browser extensions or unstable scripts, this production-grade instagram location crawler runs on reliable infrastructure with deep logging, retries, and proxy orchestration — built for teams that need repeatable results.
Is it legal / ethical to use Instagram Location Scraper?
Yes — when used responsibly. This actor is designed to collect data from publicly available Instagram location pages only. It does not access private accounts or password-protected content.
Please follow these guidelines:
- Comply with Instagram’s Terms of Service and platform policies.
- Respect privacy and applicable laws (e.g., GDPR, CCPA).
- Use data for legitimate research, analysis, and business intelligence — not spam or abuse.
- Keep your sessionId secure if you choose to use it.
For edge cases, consult your legal team to ensure your use complies with local regulations and platform terms.
Input parameters & output format
Example input JSON
{"startUrls": ["https://www.instagram.com/explore/locations/213131048/berlin-germany/","mrbeast","berlin"],"maxItems": 20,"sessionId": "","proxyConfiguration": {"useApifyProxy": false},"dateFilterType": "relative","absoluteStartDate": "","absoluteEndDate": "","relativeValue": 0,"relativeUnit": "days","includeEngagement": true,"includeVideoMetadata": true}
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| startUrls | array of strings | Yes | — | List of Instagram location URLs, usernames, or keywords. Examples: 'https://www.instagram.com/explore/locations/213131048/berlin-germany/' (URL), 'mrbeast' (username), 'berlin' (keyword). |
| maxItems | integer | No | 20 | Maximum number of posts to extract (0 for unlimited). |
| sessionId | string | No | "" | Instagram session ID cookie value (required for authentication). Get this from your browser cookies when logged into Instagram. |
| proxyConfiguration | object | No | (not specified; prefill: {"useApifyProxy": false}) | Choose which proxies to use. If Instagram rejects the proxy, a residential proxy will be used as a fallback. |
| dateFilterType | string (enum: absolute, relative) | No | "relative" | Select whether to use absolute date or relative time. |
| absoluteStartDate | string | No | "" | Start date in YYYY-MM-DD format. Use this when 'Posts newer than' is set to 'absolute'. |
| absoluteEndDate | string | No | "" | End date in YYYY-MM-DD format. Use this when 'Posts newer than' is set to 'absolute'. Leave empty for current date. |
| relativeValue | integer | No | 0 | Number of time units. Use this when 'Posts newer than' is set to 'relative'. |
| relativeUnit | string (enum: days, weeks, months, years) | No | "days" | Unit of time for relative date. |
| includeEngagement | boolean | No | true | Whether to include engagement metrics like likes, shares, comments count. |
| includeVideoMetadata | boolean | No | true | Whether to include detailed video metadata like duration, quality, etc. |
Notes:
- Only startUrls is required.
- When sessionId is omitted, some endpoints may return limited data, and keyword searches may be restricted by Instagram.
Example output JSON (one item)
{"type": "post","id": "3761820491792436654","code": "DQ0q85qEs2u","url": "https://www.instagram.com/p/DQ0q85qEs2u/","createdAt": "2025-11-09T10:52:49Z","likeCount": 1,"commentCount": 0,"caption": "#esmocongress2025 #berlin #dataize","isAvailable": true,"isLikeAndViewCountsDisabled": false,"isPinned": false,"isPaidPartnership": false,"isCarousel": true,"isVideo": false,"owner": {"id": "222741818","username": "sihyun_sung_photography","fullName": "","profilePicUrl": "https://instagram.fdac142-1.fna.fbcdn.net/...","isPrivate": false,"isVerified": false},"location": {"id": "1681866845218607","name": "Messe Berlin","city": "","lat": 52.503101530657,"lng": 13.272066565882},"video": null,"image": {"url": "https://scontent.cdninstagram.com/v/t51.82787-15/...","width": 1440,"height": 1440},"audio": null"}
Field notes:
- owner, location, video, image, audio may be null depending on media type and availability.
- Video duration is included when available (parsed from metadata or DASH manifests).
- Audio/music metadata is included for reels/clips when present.
FAQ
Do I need to provide a session ID?
A session ID is optional but recommended. Without sessionId, Instagram may limit certain endpoints, and keyword-based location searches are more likely to redirect to login. Providing sessionId improves reliability when you extract instagram geotagged posts or search places by keyword.
Can I use usernames or keywords instead of full location URLs?
Yes. Add usernames (with or without @) or keywords into startUrls, and the actor will resolve them to Instagram location pages. This makes it an effective instagram location search scraper and instagram location id scraper in practice.
What happens if Instagram blocks my requests?
The actor detects common blocking responses and automatically falls back from direct requests to datacenter proxies, and then to residential proxies. Once a working residential proxy is found, it sticks to it for the remainder of the run for stability.
How many posts can I extract per run?
Set maxItems to any number. Use 0 for unlimited. The actor handles pagination and will stop when your limit is reached or posts are exhausted.
What data types are included in the output?
Each post record includes IDs, URLs, timestamps, engagement counts, captions, media (image/video with dimensions and duration), audio metadata (when available), owner profile info, and location details (including coordinates when present). It’s a robust instagram location data scraper for analysis.
Can I export results to CSV or Excel?
Yes. All results are stored in an Apify dataset. From the OUTPUT tab, export to JSON, CSV, or Excel and feed them into BI tools or pipelines.
Is this an Instagram location API alternative?
Yes. It functions as an instagram location api alternative by leveraging publicly available endpoints and pages to collect structured place-based content without relying on private APIs.
Can I download Instagram posts by location at scale?
Yes. Provide multiple inputs in startUrls and set maxItems as needed. The actor will paginate and collect posts efficiently, making it a reliable instagram location posts scraper for batch datasets.
Closing thoughts
The Instagram Location Scraper is built for accurate, scalable extraction of location-tagged Instagram posts. It delivers structured media, engagement, owner, and place details — ideal for marketers, analysts, developers, and researchers.
With smart input detection, resilient proxy fallback, and flexible timeframe filtering, you can automate workflows, export clean datasets, and integrate via the Apify API. Start extracting smarter place-based insights and build your next instagram locations dataset with confidence.