Instagram Location Scraper avatar
Instagram Location Scraper

Pricing

$19.99/month + usage

Go to Apify Store
Instagram Location Scraper

Instagram Location Scraper

Instagram Location Scraper extracts posts from any Instagram location page. Collect captions, media, hashtags, timestamps, and engagement metrics. Ideal for local research, trend tracking, audience insights, and workflows needing structured location-based Instagram data.

Pricing

$19.99/month + usage

Rating

0.0

(0)

Developer

API Empire

API Empire

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Share

A powerful Apify actor that scrapes Instagram posts from specific locations, extracting comprehensive post data including images, videos, captions, engagement metrics, and user information. Perfect for location-based social media analysis, competitor research, and content discovery.

Why Choose Us?

  • Intelligent Proxy Management: Automatic proxy fallback system ensures reliable data collection even when Instagram blocks requests
  • Comprehensive Data Extraction: Captures all post details including media URLs, engagement metrics, user profiles, and location data
  • Bulk Processing: Process multiple locations simultaneously with efficient pagination
  • Production-Ready: Built with robust error handling, retry logic, and detailed logging
  • Flexible Configuration: Customize sort order, item limits, and proxy settings to fit your needs

Key Features

  • Location-Based Scraping: Extract posts from any Instagram location page
  • Smart Proxy Fallback: Automatically switches from no proxy → datacenter → residential proxy if blocked
  • Pagination Support: Automatically handles pagination to extract all available posts
  • Rich Data Extraction:
    • Post metadata (ID, code, URL, creation date)
    • Engagement metrics (likes, comments)
    • Media content (images, videos with quality info)
    • Audio/music information
    • User profile data
    • Location coordinates and details
  • Sort Options: Choose between "ranked" (default) or "recent" post sorting
  • Bulk Input Support: Process multiple location URLs in a single run
  • Detailed Logging: Real-time progress updates and error reporting
  • Structured Output: Clean JSON format ready for analysis

Input

The actor accepts the following input parameters:

Input Schema

{
"startUrls": [
{
"url": "https://www.instagram.com/explore/locations/213131048/berlin-germany/"
}
],
"sortOrder": "ranked",
"maxComments": 0,
"maxItems": 100,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlsArrayYes-List of Instagram location URLs to scrape. Each item should be an object with a url property.
sortOrderStringNo"ranked"How to sort posts. Options: "ranked" (most popular) or "recent" (newest first).
maxCommentsIntegerNo0Maximum number of comments to extract per post. Set to 0 to disable comment extraction.
maxItemsIntegerNo100Maximum number of posts to extract per location. Set to 0 for unlimited (extracts all available posts).
proxyConfigurationObjectNo{"useApifyProxy": false}Proxy configuration. If useApifyProxy is false, the actor starts with direct requests. If blocked, it automatically falls back to datacenter and then residential proxies.

Example Input

{
"startUrls": [
{
"url": "https://www.instagram.com/explore/locations/213131048/berlin-germany/"
},
{
"url": "https://www.instagram.com/explore/locations/212988663/new-york-new-york/"
}
],
"sortOrder": "recent",
"maxItems": 500,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Output

The actor outputs structured JSON data for each scraped post. All results are saved to the Apify dataset and can be exported in JSON, CSV, or Excel formats.

Output Schema

Each post in the output contains the following structure:

{
"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
}

Output Fields

FieldTypeDescription
typeStringAlways "post" for post items
idStringUnique Instagram post ID
codeStringShort code used in post URLs
urlStringFull URL to the Instagram post
createdAtStringISO 8601 timestamp of when the post was created
likeCountIntegerNumber of likes on the post
commentCountIntegerNumber of comments on the post
captionStringPost caption text (empty string if no caption)
isAvailableBooleanWhether the post is currently available
isLikeAndViewCountsDisabledBooleanWhether like/view counts are hidden
isPinnedBooleanWhether the post is pinned by the user
isPaidPartnershipBooleanWhether the post is a paid partnership
isCarouselBooleanWhether the post is a carousel (multiple images/videos)
isVideoBooleanWhether the post contains video content
ownerObjectUser who created the post (see Owner Object below)
locationObjectLocation information (see Location Object below)
videoObject/nullVideo details if post contains video (see Video Object below)
imageObject/nullImage details if post contains image (see Image Object below)
audioObject/nullAudio/music information if available (see Audio Object below)

Owner Object

FieldTypeDescription
idStringUser's Instagram ID
usernameStringUser's Instagram username
fullNameStringUser's full name
profilePicUrlStringURL to user's profile picture
isPrivateBooleanWhether the account is private
isVerifiedBooleanWhether the account is verified

Location Object

FieldTypeDescription
idStringLocation ID
nameStringLocation name
cityStringCity name (if available)
latFloatLatitude coordinate
lngFloatLongitude coordinate

Video Object

FieldTypeDescription
idStringVideo ID
urlStringURL to the video file
widthIntegerVideo width in pixels
heightIntegerVideo height in pixels
durationFloatVideo duration in seconds

Image Object

FieldTypeDescription
urlStringURL to the image file
widthIntegerImage width in pixels
heightIntegerImage height in pixels

Audio Object

FieldTypeDescription
idStringAudio ID
titleStringAudio/music title
artistStringArtist name
coverArtStringURL to cover art image
durationIntegerDuration in milliseconds
audioUrlStringURL to audio file

🚀 How to Use the Actor (via Apify Console)

  1. Log in to Apify: Go to https://console.apify.com and sign in to your account.

  2. Find the Actor: Navigate to the Actors section and search for "Instagram Location Scraper" or find it in your actor list.

  3. Configure Input:

    • Click on the actor to open it
    • In the INPUT tab, configure your settings:
      • Add one or more Instagram location URLs in the startUrls field
      • Choose your preferred sortOrder (ranked or recent)
      • Set maxItems to limit the number of posts (or 0 for unlimited)
      • Configure proxy settings if needed (default: no proxy)
  4. Run the Actor: Click the Start button to begin the scraping process.

  5. Monitor Progress:

    • Watch real-time logs in the LOG tab
    • Monitor proxy fallback events and extraction progress
    • Track the number of posts extracted
  6. Access Results:

    • Once complete, go to the OUTPUT tab
    • View results in the table format
    • Export data as JSON, CSV, or Excel
  7. Export Data:

    • Click Export button
    • Choose your preferred format (JSON, CSV, or Excel)
    • Download the file to your computer

Best Use Cases

  • Location-Based Marketing Research: Analyze what content performs well at specific locations
  • Competitor Analysis: Monitor competitor posts at key business locations
  • Event Monitoring: Track posts from event venues and locations
  • Tourism Insights: Understand what visitors post about specific destinations
  • Brand Monitoring: Track mentions and posts at your business locations
  • Content Discovery: Find trending content and influencers at specific locations
  • Geographic Analytics: Analyze posting patterns and engagement by location
  • Social Media Intelligence: Gather location-based social media data for research

Frequently Asked Questions

How do I find a location URL?

Navigate to the location page on Instagram (either through search or by clicking a location tag on a post), then copy the URL from your browser. The URL format is: https://www.instagram.com/explore/locations/[LOCATION_ID]/[location-name]/

What happens if Instagram blocks my requests?

The actor has intelligent proxy fallback:

  1. Starts with direct requests (no proxy) by default
  2. If blocked, automatically switches to datacenter proxy
  3. If datacenter fails, switches to residential proxy with 3 retries
  4. Once residential proxy works, it sticks with it for all remaining requests
  5. All proxy transitions are logged for transparency

Can I scrape multiple locations at once?

Yes! Simply add multiple URLs to the startUrls array. The actor will process each location sequentially.

What's the difference between "ranked" and "recent" sort order?

  • ranked: Shows posts sorted by Instagram's algorithm (most popular/relevant first)
  • recent: Shows posts sorted by creation date (newest first)

How many posts can I extract?

You can set maxItems to any number, or 0 for unlimited. The actor will extract all available posts up to your limit. Note that Instagram may have limits on how many posts are available for a location.

Do I need to configure proxies?

Not necessarily. The actor starts with no proxy by default. If Instagram blocks your requests, the actor automatically falls back to proxies. However, if you expect high-volume scraping, you may want to enable Apify proxy from the start.

How long does scraping take?

Scraping time depends on:

  • Number of locations
  • Number of posts per location
  • Instagram's response time
  • Whether proxy fallback is needed

Typically, 100 posts take 2-5 minutes, but this can vary.

Can I extract comments?

The maxComments parameter is available in the input schema, but comment extraction requires additional API calls that may not be fully implemented in the current version. Set it to 0 to disable.

What data format is the output?

All output is in JSON format, which can be exported as JSON, CSV, or Excel files from the Apify console.

Is the actor free to use?

Apify actors consume compute units. Check your Apify plan for pricing details. The actor is optimized to minimize compute usage through efficient pagination and request handling.

Support and Feedback

If you encounter any issues or have questions:

  1. Check the actor logs for detailed error messages
  2. Review the proxy fallback logs to understand connection issues
  3. Ensure your location URLs are valid and accessible
  4. Verify your Apify account has sufficient compute units

For feature requests or bug reports, please contact the actor maintainer through the Apify platform.

Cautions

  • Public Data Only: This actor collects data only from publicly available Instagram location pages. It does not access private accounts or password-protected content.

  • Rate Limiting: Instagram may implement rate limiting. The actor includes retry logic and proxy fallback to handle this, but very high-volume scraping may still encounter limits.

  • Legal Compliance: Users are responsible for ensuring their use of this actor complies with:

    • Instagram's Terms of Service
    • Local data protection and privacy laws (GDPR, CCPA, etc.)
    • Copyright and intellectual property laws
    • Any applicable regulations in your jurisdiction
  • Data Usage: Be mindful of how you use the scraped data. Respect user privacy and do not use data for spam, harassment, or other malicious purposes.

  • API Changes: Instagram may change their API structure, which could temporarily affect the actor's functionality. The actor is maintained to adapt to such changes.


Note: This actor is designed for legitimate research, analysis, and business intelligence purposes. Always use scraped data responsibly and in compliance with applicable laws and platform terms of service.