Yugenox Data

Instagram, locations

Instagram posts tagged at a location

Give it an Instagram location page and it returns the top and most recent public posts tagged there, typically about 70, each with likes, comments, caption, media and the poster's follower count. Add includeDetails for a row describing the place itself. $1.90 per 1,000 results.

Finding a location link

Open any post tagged at the place and tap the location name above the photo. The page that opens has a link like https://www.instagram.com/explore/locations/213131048/, sometimes followed by a name. Paste one or many into Start URLs. Searching for places by name is login-only on Instagram, so the Actor needs the links. A tip: every post you scrape carries a location object with the place's id, so one run over a few local accounts gives you a list of nearby places to feed into the next.

What you get

Posts. Each post tagged at the place comes as a normal post row: caption, hashtags, mentions, likes, comments, media URLs, createdAt, the owner's follower count and engagementRate. Every row has a location object with the place's id, name, slug, lat and lng.

Place row. With includeDetails turned on, you also get one row per location with its category, coordinates, address, price range, opening status, the place's own Instagram account and its post count.

Who uses location data

The 70-post ceiling, and how to work with it

For each location, Instagram shows logged-out visitors one page of top posts and one page of recent posts. Going further needs a login, so the Actor stops there instead of pretending otherwise. That's typically about 70 posts per location per run.

To build depth over time, schedule the run daily or weekly with until set to the same period (for example 7 days) and keep the results. Each run adds the newest posts, and within a few weeks you have a steady record of activity at the place. Adding nearby locations to the same run widens the net.

Costs

Limits

Run it from code

One location with its place row, 100 results at most: $0.19 or less.

JavaScript
// Save as run.mjs, then: npm i apify-client && APIFY_TOKEN=... node run.mjs
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });

const run = await client.actor('yugenox/instagram-scraper').call({
  startUrls: [
    "https://www.instagram.com/explore/locations/213131048/"
  ],
  includeDetails: true,
  maxItems: 100
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) console.log(item.dataType, item.url, item.createdAt);

Questions people ask

Why only about 70 posts per location?

Instagram shows logged-out visitors one page of top posts and one page of recent posts per place. Schedule runs with until to collect new posts over time.

Can I search for a location by name?

Not in this Actor, because place search is login-only on Instagram. Paste location links, or use the location ids found on posts you already scraped.

Does it include coordinates and addresses?

Yes. Every post has the place's lat and lng in its location object, and the place row (includeDetails) adds address, category, price range and opening status.

Can I get posts from a date range?

You can set a start with until (a date or a period like "30 days"). Anything newer that Instagram shows is included.

Do I need an Instagram login?

No. Location pages are read as a logged-out visitor.

Run it on your own data

Open the Actor on Apify, paste your input and press Start. You pay per result from your own Apify account, with no subscription to us. Or connect it to your AI assistant and ask in plain English.

Last updated 2026-09-26.