# Instagram Location Scraper (`scrapier/instagram-location-scraper`) Actor

Scrape Instagram posts by location with the Instagram Location Scraper. Extract post captions, images, videos, hashtags, timestamps, and user info from any public location. Ideal for trend tracking, market research, and content analysis. Fast, accurate, and scalable for bulk locations.

- **URL**: https://apify.com/scrapier/instagram-location-scraper.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Social media, Lead generation, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$24.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### Instagram Location Scraper

Instagram Location Scraper is a production-ready Apify actor that lets you scrape Instagram posts by location at scale. It accepts Instagram location URLs, usernames, or keywords and converts them into location pages, then extracts structured post data like captions, images, videos, likes, comments, timestamps, and user info. Built for marketers, developers, data analysts, and researchers, it works as an Instagram location extractor and Instagram geotag scraper to power trend tracking, market research, and content analysis across places. With automated input detection and pagination, it enables location insights at scale for teams that need an Instagram location API alternative.

### What data / output can you get?

Below are the exact JSON fields this actor pushes to the Apify dataset for each post. Values are returned when present on the source; some objects may be null depending on media type.

| Field | Description | Example value |
| --- | --- | --- |
| type | Record type | "post" |
| id | Instagram post ID (stringified) | "3761820491792436654" |
| code | Instagram short code | "DQ0q85qEs2u" |
| url | Canonical post URL | "https://www.instagram.com/p/DQ0q85qEs2u/" |
| createdAt | ISO timestamp with Z suffix | "2025-11-09T10:52:49Z" |
| likeCount | Total likes | 1243 |
| commentCount | Total comments | 87 |
| caption | Post caption text | "Sunset by the river #berlin" |
| isAvailable | Availability flag | true |
| isLikeAndViewCountsDisabled | Whether counts are hidden | false |
| isPinned | Whether the post is pinned | false |
| isPaidPartnership | Paid partnership flag | false |
| isCarousel | Post is a carousel | true |
| isVideo | Post contains video | false |
| owner.id | Owner user ID (stringified) | "222741818" |
| owner.username | Owner username | "example_user" |
| owner.fullName | Owner full name | "Example Name" |
| owner.profilePicUrl | Profile picture URL | "https://scontent.cdninstagram.com/..." |
| owner.isPrivate | Account privacy flag | false |
| owner.isVerified | Account verification flag | false |
| location.id | Place ID (stringified) | "213131048" |
| location.name | Place name | "Berlin, Germany" |
| location.city | City (when available) | "Berlin" |
| location.lat | Latitude (when available) | 52.5200 |
| location.lng | Longitude (when available) | 13.4050 |
| image.url | Best-resolution image URL | "https://scontent.cdninstagram.com/..." |
| image.width | Image width | 1440 |
| image.height | Image height | 1440 |
| video.id | Synthetic ID for video media | "video_3761820491792436654" |
| video.url | Best-resolution video URL | "https://scontent.cdninstagram.com/..." |
| video.width | Video width | 1080 |
| video.height | Video height | 1350 |
| video.duration | Video duration in seconds (parsed) | 24.4 |
| audio.id | Synthetic audio ID | "audio_1234567890" |
| audio.title | Audio title (if available) | "Original audio" |
| audio.artist | Audio artist (if available) | "Unknown" |
| audio.coverArt | Cover art URL (if available) | "https://..." |
| audio.duration | Audio duration in ms (when provided) | 15000 |
| audio.audioUrl | Audio stream URL (from DASH manifest when available) | "https://..." |

Notes:
- Results are stored in the Apify dataset for easy programmatic access and download via the Apify API.
- Media objects (video, image, audio) may be null depending on the post type. Fields like location.lat/lng appear only when present on the original post.

### Key features

- 🔎 Intelligent input detection
  Automatically detects whether each item in startUrls is a location URL, username (with or without @), or keyword, then converts it into valid Instagram location pages. Ideal to scrape Instagram posts by location without manual ID lookup.

- 🗺️ Location search & ID discovery
  Works as an Instagram places scraper and Instagram location ID finder by searching locations for keywords and extracting canonical location URLs with IDs.

- 🧭 Timeframe filtering (absolute or relative)
  Filter posts using absolute dates (YYYY-MM-DD) or relative windows (days, weeks, months, years). Efficiently excludes posts outside your timeframe during extraction.

- 🎞️ Rich media and audio metadata
  Extracts highest-quality image/video variants, infers video duration from either metadata or DASH manifests, and pulls audio stream info from manifests when available. Great for Instagram location posts downloader workflows.

- 📈 Engagement fields included
  Capture likeCount and commentCount for each post. Perfect for benchmarking hotspots and running Instagram geotagged posts scraper analyses.

- 🛡️ Robust proxy fallback
  Built-in proxy strategy with datacenter → residential fallback when blocked (e.g., 403/429). Sticks to residential if it proves effective, helping sustain long-running Instagram map search scraper jobs.

- 🔐 Session authentication support
  Provide sessionId from your browser cookies when logged into Instagram to unlock location posts and improve reliability. Without it, some requests may fail or return limited data.

- 📦 Scalable pagination
  Uses GraphQL pagination cursors to iterate pages reliably until maxItems is reached or no more posts remain.

- 🧰 Developer-friendly & automation-ready
  Runs on Apify with logs, datasets, and proxy management. Use the dataset API to integrate outputs into pipelines for an Instagram location API alternative.

### How to use Instagram Location Scraper - step by step

1. Create or log into your Apify account.
2. Open the Instagram Location Scraper actor.
3. Add inputs in startUrls:
   - Location URLs: e.g., https://www.instagram.com/explore/locations/213131048/berlin-germany/
   - Usernames: e.g., mrbeast or @mrbeast (the actor will look for locations in posts)
   - Keywords: e.g., "berlin" (the actor will search Instagram places)
4. (Recommended) Add sessionId to improve access and stability. Copy the sessionid cookie from your logged-in Instagram browser session.
5. Configure proxyConfiguration if needed. If a request is blocked, the actor can fall back to residential proxies automatically.
6. Set maxItems to limit how many posts you collect (0 means unlimited).
7. Configure timeframe filtering:
   - dateFilterType = "relative" with relativeValue and relativeUnit (e.g., last 7 days)
   - OR dateFilterType = "absolute" with absoluteStartDate and/or absoluteEndDate (YYYY-MM-DD)
8. Start the run. Monitor logs for progress and any filtering summaries.
9. Download results from the run’s Dataset tab or via the Apify API.

Pro Tip: Use keywords to discover places and then feed the returned location URLs into follow-up runs for deep-dives as an Instagram places ID scraper and Instagram location page scraper workflow.

### Use cases

| Use case name | Description |
| --- | --- |
| Marketing — location trend tracking | Analyze likeCount/commentCount across hotspots to shape campaigns with an Instagram location posts scraper approach. |
| Content strategy — regional insights | Discover top-performing geotagged posts for editorial planning and creator partnerships using an Instagram location posts downloader pipeline. |
| Competitive benchmarking by place | Compare engagement across venues or cities by aggregating post metrics from Instagram location pages. |
| OSINT & research — event monitoring | Monitor public posts near events or landmarks with an Instagram nearby posts scraper and Instagram map search scraper methodology. |
| Retail & venues — footfall proxies | Track audience interest at store locations by monitoring public geotagged content over time. |
| Data engineering — ingestion pipeline | Treat it as an Instagram location API alternative, exporting structured JSON for warehousing and analytics. |

### Why choose Instagram Location Scraper?

This actor is engineered for precision, reliability, and scale on the Apify platform.

- ✅ Accurate media parsing: Selects best-resolution images/videos and parses video/audio metadata from manifests when available.
- 🧩 Flexible inputs: Works as an Instagram geotag scraper from location URLs, usernames, or keywords — no manual ID lookup needed.
- 🔁 Resilient infrastructure: Automatic proxy fallback (datacenter → residential) to reduce blocks on long-running jobs.
- 🕒 Powerful time filters: Absolute and relative timeframes to keep datasets fresh and focused.
- 🧪 Developer access: Structured outputs in the Apify dataset for clean integrations, enabling an Instagram location data scraper pipeline.
- 🛡️ Authentication-ready: Add sessionId to pass Instagram’s access checks for location content.
- 📈 Built for scale: Paginates through location feeds and respects your maxItems cap for predictable workloads.

In short: a production-ready Instagram places scraper that outperforms brittle, browser-based tools and unstable scripts.

### Is it legal / ethical to use Instagram Location Scraper?

Yes — when done responsibly. This actor is designed to collect publicly available content from Instagram location pages. You should:
- Scrape only public data and respect platform terms.
- Avoid private accounts and do not attempt to bypass protections.
- Comply with applicable data regulations (e.g., GDPR, CCPA).
- Use a valid sessionId from your own account when authentication is required.
- Consult your legal team for edge cases or jurisdiction-specific guidance.

### Input parameters & output format

Example input
```json
{
  "startUrls": [
    "https://www.instagram.com/explore/locations/213131048/berlin-germany/",
    "mrbeast",
    "berlin"
  ],
  "maxItems": 50,
  "sessionId": "your_instagram_sessionid_cookie_value",
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "dateFilterType": "relative",
  "absoluteStartDate": "",
  "absoluteEndDate": "",
  "relativeValue": 7,
  "relativeUnit": "days",
  "includeEngagement": true,
  "includeVideoMetadata": true
}
````

Input fields (from schema)

- startUrls (array of strings) — List of Instagram location URLs, usernames, or keywords. Example: "https://www.instagram.com/explore/locations/213131048/berlin-germany/", "mrbeast", "berlin". Default: none. Required: Yes.
- maxItems (integer) — Maximum number of posts to extract (0 for unlimited). Minimum: 0. Default: 20. Required: No.
- sessionId (string) — Instagram session ID cookie value (required for authentication). Get this from your browser cookies when logged into Instagram. Default: "". Required: No.
- proxyConfiguration (object) — Choose which proxies to use. If Instagram rejects the proxy, a residential proxy will be used as a fallback. Prefill: {"useApifyProxy": false}. Required: No.
- dateFilterType (string, enum: "absolute" | "relative") — Select whether to use absolute date or relative time. Default: "relative". Required: No.
- absoluteStartDate (string, pattern: YYYY-MM-DD or empty) — Start date in YYYY-MM-DD format. Use when dateFilterType is "absolute". Default: "". Required: No.
- absoluteEndDate (string, pattern: YYYY-MM-DD or empty) — End date in YYYY-MM-DD format. Use when dateFilterType is "absolute". Leave empty for current date. Default: "". Required: No.
- relativeValue (integer) — Number of time units. Use when dateFilterType is "relative". Minimum: 0. Default: 0. Required: No.
- relativeUnit (string, enum: "days" | "weeks" | "months" | "years") — Unit of time for relative date. Default: "days". Required: No.
- includeEngagement (boolean) — Whether to include engagement metrics like likes, shares, comments count. Default: true. Required: No.
- includeVideoMetadata (boolean) — Whether to include detailed video metadata like duration, quality, etc. Default: true. Required: No.

Example output

```json
{
  "type": "post",
  "id": "3761820491792436654",
  "code": "DQ0q85qEs2u",
  "url": "https://www.instagram.com/p/DQ0q85qEs2u/",
  "createdAt": "2025-11-09T10:52:49Z",
  "likeCount": 1243,
  "commentCount": 87,
  "caption": "Sunset by the river #berlin",
  "isAvailable": true,
  "isLikeAndViewCountsDisabled": false,
  "isPinned": false,
  "isPaidPartnership": false,
  "isCarousel": true,
  "isVideo": false,
  "owner": {
    "id": "222741818",
    "username": "example_user",
    "fullName": "Example Name",
    "profilePicUrl": "https://scontent.cdninstagram.com/...",
    "isPrivate": false,
    "isVerified": false
  },
  "location": {
    "id": "213131048",
    "name": "Berlin, Germany",
    "city": "Berlin",
    "lat": 52.52,
    "lng": 13.405
  },
  "video": null,
  "image": {
    "url": "https://scontent.cdninstagram.com/...",
    "width": 1440,
    "height": 1440
  },
  "audio": null
}
```

### FAQ

#### Do I need to log in to use Instagram Location Scraper?

Providing a sessionId is strongly recommended. Without a valid Instagram sessionid cookie, some requests may fail or return limited data because Instagram may require authentication to return location posts.

#### Can I input usernames or keywords instead of location URLs?

Yes. You can paste usernames (with or without @) or keywords into startUrls. The actor will detect input types and convert them into Instagram location URLs via search or profile parsing.

#### What data fields are returned for each post?

The actor returns structured fields including id, code, url, createdAt, likeCount, commentCount, caption, owner, location, and media objects (image, video, audio when available). See the Output section above for the full schema.

#### How many posts can I scrape per run?

Use maxItems to control volume. The default is 20, and setting 0 means unlimited (subject to available posts and runtime limits).

#### Can I filter posts by date or timeframe?

Yes. Set dateFilterType to "relative" with relativeValue and relativeUnit (days, weeks, months, years), or set it to "absolute" and provide absoluteStartDate and/or absoluteEndDate (YYYY-MM-DD). Posts outside the window are excluded during extraction.

#### How does proxy handling work?

You can configure proxyConfiguration. If Instagram blocks requests (e.g., 403/429), the actor falls back from no proxy to datacenter, then to residential proxies, and sticks to residential once it works reliably.

#### Is this an Instagram location API alternative?

Yes. It works as an Instagram location data scraper and Instagram location page scraper that programmatically collects publicly available data from location pages without relying on the official API.

#### Does it extract videos and audio details?

Yes when available. The actor selects the highest-quality video variant, infers duration from metadata or DASH manifests, and extracts audio stream information from manifests when possible.

### Final thoughts

Instagram Location Scraper is built to power structured, scalable extraction of Instagram posts from places — from keywords and usernames to location URLs. It combines robust input detection, timeframe filtering, engagement metrics, and resilient proxy handling to support marketers, researchers, and developers. Use the Apify dataset API to plug this Instagram geotag scraper into your pipelines and start extracting smarter, location-based insights today.

### What are other Instagram scraping tools?

If you want to scrape specific Instagram data, you can use any of the dedicated scrapers below for faster and more targeted results.

| Scraper Name | Scraper Name |
|---|---|
| [Instagram B2b Email Scraper](https://apify.com/scrapier/instagram-b2b-email-scraper) | [Instagram Posts Scraper](https://apify.com/scrapier/instagram-posts-scraper) |
| [Instagram B2b Lead Scraper](https://apify.com/scrapier/instagram-b2b-lead-scraper) | [Instagram Profile Email Scraper](https://apify.com/scrapier/instagram-profile-email-scraper) |
| [Instagram B2b Phone Number Scraper](https://apify.com/scrapier/instagram-b2b-phone-number-scraper) | [Instagram Profile Email Scraper By Keyword](https://apify.com/scrapier/instagram-profile-email-scraper-by-keyword) |
| [Instagram Comments Scraper](https://apify.com/scrapier/instagram-comments-scraper) | [Instagram Profile Lead Scraper](https://apify.com/scrapier/instagram-profile-lead-scraper) |
| [Instagram Dm Automation](https://apify.com/scrapier/instagram-dm-automation) | [Instagram Profile Lead Scraper By Keyword](https://apify.com/scrapier/instagram-profile-lead-scraper-by-keyword) |
| [Instagram Email Scraper](https://apify.com/scrapier/instagram-email-scraper) | [Instagram Profile Phone Number Scraper](https://apify.com/scrapier/instagram-profile-phone-number-scraper) |
| [Instagram Followers And Following Scrapper](https://apify.com/scrapier/instagram-followers-and-following-scrapper) | [Instagram Profile Phone Number Scraper By Keyword](https://apify.com/scrapier/instagram-profile-phone-number-scraper-by-keyword) |
| [Instagram Followers Count Scraper](https://apify.com/scrapier/instagram-followers-count-scraper) | [Instagram Profile Post Scraper](https://apify.com/scrapier/instagram-profile-post-scraper) |
| [Instagram Followers Scraper](https://apify.com/scrapier/instagram-followers-scraper) | [Instagram Profile Reels Scraper](https://apify.com/scrapier/instagram-profile-reels-scraper) |
| [Instagram Following Scraper](https://apify.com/scrapier/instagram-following-scraper) | [Instagram Profile Scraper](https://apify.com/scrapier/instagram-profile-scraper) |
| [Instagram Hashtag Scraper](https://apify.com/scrapier/instagram-hashtag-scraper) | [Instagram Reels Scraper](https://apify.com/scrapier/instagram-reels-scraper) |
| [Instagram Hashtag Username Scraper](https://apify.com/scrapier/instagram-hashtag-username-scraper) | [Instagram Related Hashtag Stats Scraper](https://apify.com/scrapier/instagram-related-hashtag-stats-scraper) |
| [Instagram Highlights Scraper](https://apify.com/scrapier/instagram-highlights-scraper) | [Instagram Related Person Scraper](https://apify.com/scrapier/instagram-related-person-scraper) |
| [Instagram Lead Scraper](https://apify.com/scrapier/instagram-lead-scraper) | [Instagram Single Reels Scraper](https://apify.com/scrapier/instagram-single-reels-scraper) |
| [Instagram Likes Scraper](https://apify.com/scrapier/instagram-likes-scraper) | [Instagram Story Details Scraper](https://apify.com/scrapier/instagram-story-details-scraper) |
| [Instagram Mentions Scraper](https://apify.com/scrapier/instagram-mentions-scraper) | [Instagram Tagged Mentions Posts Scraper](https://apify.com/scrapier/instagram-tagged-mentions-posts-scraper) |
| [Instagram Phone Number Scraper](https://apify.com/scrapier/instagram-phone-number-scraper) | [Instagram Tagged Posts Scraper](https://apify.com/scrapier/instagram-tagged-posts-scraper) |
| [Instagram Post Details Scraper](https://apify.com/scrapier/instagram-post-details-scraper) |  |

# Actor input Schema

## `startUrls` (type: `array`):

List of Instagram location URLs, usernames, or keywords. Examples: 'https://www.instagram.com/explore/locations/213131048/berlin-germany/' (URL), 'mrbeast' (username), 'berlin' (keyword)

## `maxItems` (type: `integer`):

Maximum number of posts to extract (0 for unlimited)

## `sessionId` (type: `string`):

Instagram session ID cookie value (required for authentication). Get this from your browser cookies when logged into Instagram.

## `proxyConfiguration` (type: `object`):

Choose which proxies to use. If Instagram rejects the proxy, a residential proxy will be used as a fallback.

## `dateFilterType` (type: `string`):

Select whether to use absolute date or relative time

## `absoluteStartDate` (type: `string`):

Start date in YYYY-MM-DD format. Use this when 'Posts newer than' is set to 'absolute'.

## `absoluteEndDate` (type: `string`):

End date in YYYY-MM-DD format. Use this when 'Posts newer than' is set to 'absolute'. Leave empty for current date.

## `relativeValue` (type: `integer`):

Number of time units. Use this when 'Posts newer than' is set to 'relative'.

## `relativeUnit` (type: `string`):

Unit of time for relative date

## `includeEngagement` (type: `boolean`):

Whether to include engagement metrics like likes, shares, comments count

## `includeVideoMetadata` (type: `boolean`):

Whether to include detailed video metadata like duration, quality, etc.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.instagram.com/explore/locations/213131048/berlin-germany/"
  ],
  "maxItems": 20,
  "sessionId": "",
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "dateFilterType": "relative",
  "absoluteStartDate": "",
  "absoluteEndDate": "",
  "relativeValue": 0,
  "relativeUnit": "days",
  "includeEngagement": true,
  "includeVideoMetadata": true
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://www.instagram.com/explore/locations/213131048/berlin-germany/"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    },
    "relativeValue": 0,
    "includeEngagement": true,
    "includeVideoMetadata": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapier/instagram-location-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": ["https://www.instagram.com/explore/locations/213131048/berlin-germany/"],
    "proxyConfiguration": { "useApifyProxy": False },
    "relativeValue": 0,
    "includeEngagement": True,
    "includeVideoMetadata": True,
}

# Run the Actor and wait for it to finish
run = client.actor("scrapier/instagram-location-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://www.instagram.com/explore/locations/213131048/berlin-germany/"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "relativeValue": 0,
  "includeEngagement": true,
  "includeVideoMetadata": true
}' |
apify call scrapier/instagram-location-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapier/instagram-location-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Location Scraper",
        "description": "Scrape Instagram posts by location with the Instagram Location Scraper. Extract post captions, images, videos, hashtags, timestamps, and user info from any public location. Ideal for trend tracking, market research, and content analysis. Fast, accurate, and scalable for bulk locations.",
        "version": "0.1",
        "x-build-id": "8msFMTRlU74GdZhL8"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~instagram-location-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-instagram-location-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/scrapier~instagram-location-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-instagram-location-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/scrapier~instagram-location-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-instagram-location-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Location URLs, Usernames, or Keywords",
                        "type": "array",
                        "description": "List of Instagram location URLs, usernames, or keywords. Examples: 'https://www.instagram.com/explore/locations/213131048/berlin-germany/' (URL), 'mrbeast' (username), 'berlin' (keyword)",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Maximum Items",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of posts to extract (0 for unlimited)",
                        "default": 20
                    },
                    "sessionId": {
                        "title": "Instagram Session ID",
                        "type": "string",
                        "description": "Instagram session ID cookie value (required for authentication). Get this from your browser cookies when logged into Instagram.",
                        "default": ""
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Choose which proxies to use. If Instagram rejects the proxy, a residential proxy will be used as a fallback."
                    },
                    "dateFilterType": {
                        "title": "Posts newer than",
                        "enum": [
                            "absolute",
                            "relative"
                        ],
                        "type": "string",
                        "description": "Select whether to use absolute date or relative time",
                        "default": "relative"
                    },
                    "absoluteStartDate": {
                        "title": "Start Date",
                        "pattern": "^(|\\d{4}-\\d{2}-\\d{2})$",
                        "type": "string",
                        "description": "Start date in YYYY-MM-DD format. Use this when 'Posts newer than' is set to 'absolute'.",
                        "default": ""
                    },
                    "absoluteEndDate": {
                        "title": "End Date",
                        "pattern": "^(|\\d{4}-\\d{2}-\\d{2})$",
                        "type": "string",
                        "description": "End date in YYYY-MM-DD format. Use this when 'Posts newer than' is set to 'absolute'. Leave empty for current date.",
                        "default": ""
                    },
                    "relativeValue": {
                        "title": "Relative value",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Number of time units. Use this when 'Posts newer than' is set to 'relative'.",
                        "default": 0
                    },
                    "relativeUnit": {
                        "title": "Time unit",
                        "enum": [
                            "days",
                            "weeks",
                            "months",
                            "years"
                        ],
                        "type": "string",
                        "description": "Unit of time for relative date",
                        "default": "days"
                    },
                    "includeEngagement": {
                        "title": "Include Engagement Metrics",
                        "type": "boolean",
                        "description": "Whether to include engagement metrics like likes, shares, comments count",
                        "default": true
                    },
                    "includeVideoMetadata": {
                        "title": "Include Video Metadata",
                        "type": "boolean",
                        "description": "Whether to include detailed video metadata like duration, quality, etc.",
                        "default": true
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
