Start the "Instagram Scraper" Apify actor (apify/instagram-scraper)
Start the "Instagram Scraper" Apify actor (apify/instagram-scraper). Scrape and download Instagram posts, profiles, places, hashtags, photos, and comments. Get data from Instagram using one or more Instagram URLs or search queri…
10000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-14
updated
Provider
apify-api-git-br-better-actor-pay-merit-systems.vercel.app · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x23d931f95831cee50b5f5edf4d0e88270f6c8411",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {},
"bodyType": "json",
"method": "POST",
"type": "http"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"input": {
"additionalProperties": {},
"description": "Normalized actor input. See field descriptions for the simplified shape; native Apify input also accepted (passed through).",
"properties": {
"addParentData": {
"default": false,
"description": "This applies only to feed items. Adds a dataSource field to each result: profile posts are labeled `profile`, and tag posts are labeled `hashtag`.",
"type": "boolean"
},
"directUrls": {
"description": "Add one or more Instagram URLs to scrape. URL format must match your content type: /p/ for posts and comments /reel/ for reels /username/ for profile details Leave blank if using the search query instead.",
"items": {
"type": "string"
},
"type": "array"
},
"onlyPostsNewerThan": {
"description": "Limit how far back to scrape. Enter a date in `YYYY-MM-DD`, ISO format, or as a relative value, e.g. `1 day`, `2 months`, `3 years`. Times are in UTC, not local time. New York is UTC-5 in winter, UTC-4 in summer. Pinned posts may still appear even with this filter set.",
"pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])(T[0-2]\\d:[0-5]\\d(:[0-5]\\d)?(\\.\\d+)?Z?)?$|^(\\d+)\\s*(minute|hour|day|week|month|year)s?$",
"type": "string"
},
"resultsLimit": {
"description": "Set how many posts or comments to scrape per Instagram URL. Higher values increase compute usage and cost. Maximum 50 comments per post. Instagram may return fewer than 15 comments on some posts. Use `1` to retrieve a single post per page.",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"resultsType": {
"default": "posts",
"description": "**Posts** returns a feed of content. **Profile, hashtag, or place details** returns metadata about the page: follower count, bio, post count, and profile picture. Comments only work with post URLs, e.g. `instagram.com/p/ABC123xyz/` not `instagram.com/username/`.",
"enum": [
"posts",
"details",
"comments",
"reels",
"mentions",
"stories"
],
"type": "string"
},
"search": {
"description": "Search for Instagram hashtags, profiles, or places. Use `#` for hashtags, e.g. `#travel`.",
"type": "string"
},
"searchLimit": {
"description": "Set how many profiles, places, or hashtags to find. To limit posts per result, use Results limit per URL. Higher values increase compute usage and cost.",
"maximum": 250,
"minimum": 1,
"type": "integer"
},
"searchType": {
"default": "hashtag",
"description": "Hashtag search returns posts tagged with that term. Profile search returns matching accounts. Place search returns matching locations.",
"enum": [
"hashtag",
"profile",
"place",
"user"
],
"type": "string"
}
},
"required": [
"resultsType",
"searchType",
"addParentData"
],
"type": "object"
},
"options": {
"additionalProperties": false,
"description": "Optional Apify run options.",
"properties": {
"build": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"maxItems": {
"maximum": 100000,
"minimum": 1,
"type": "integer"
},
"memory": {
"maximum": 32768,
"minimum": 128,
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://apify-api-git-br-better-actor-pay-merit-systems.vercel.app/api/actors/apify/instagram-scraper/call" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://apify-api-git-br-better-actor-pay-merit-systems.vercel.app/api/actors/apify/instagram-scraper/call");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://apify-api-git-br-better-actor-pay-merit-systems.vercel.app/api/actors/apify/instagram-scraper/call")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/15644.json, and this resource appears in /discovery/resources and /discovery/search.