What people use it for
-
Monitor public creator and brand profiles
-
Build public post and reel datasets
-
Analyze public comments and audio usage
-
Research popular content by keyword or topic
-
Track public publishing activity over time
Capabilities
Every capability is one POST /execute
call that returns structured JSON.
instagram.audio-reels.list
Streams public reels attached to an Instagram audio page with bounded cursor pagination.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"audio_id":"28601503179449709","limit":12,"max_pages":2},"capability":"instagram.audio-reels.list"}'
Input
|
Field
|
Type
|
Required
|
Description
|
audio_id
|
string
|
required
|
Audio cluster ID from an Instagram /reels/audio/{id}/ URL
|
cursor
|
string
|
optional
|
|
limit
|
integer
|
optional
|
|
max_pages
|
integer
|
optional
|
|
Fetches Instagram's public profile or post embed HTML, including the captioned post variant.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"url":"https://www.instagram.com/nasa/"},"capability":"instagram.embed.get"}'
Input
|
Field
|
Type
|
Required
|
Description
|
captioned
|
boolean
|
optional
|
Use Instagram's captioned post embed variant
|
url
|
string
|
required
|
Public profile username/URL or post/reel URL
|
Returns public Explore home sections or paginates a selected section.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{},"capability":"instagram.explore.list"}'
Input
|
Field
|
Type
|
Required
|
Description
|
cursor
|
string
|
optional
|
|
limit
|
integer
|
optional
|
|
max_pages
|
integer
|
optional
|
|
section_id
|
string
|
optional
|
Optional section ID returned by the Explore home response
|
instagram.hashtag-posts.search
Discovers public indexed posts and reels for a hashtag with media-type and date filters.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"date_posted":"any","enrich":false,"hashtag":"india","limit":10,"max_pages":2,"media_type":"all"},"capability":"instagram.hashtag-posts.search"}'
Input
|
Field
|
Type
|
Required
|
Description
|
date_posted
|
string
|
optional
|
|
enrich
|
boolean
|
optional
|
|
hashtag
|
string
|
required
|
|
limit
|
integer
|
optional
|
|
max_pages
|
integer
|
optional
|
|
media_type
|
string
|
optional
|
|
page
|
integer
|
optional
|
|
Searches logged-out popular content for a hashtag keyword; output declares match_mode=keyword_popular and is not an exact tag feed.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"hashtag":"india","limit":12},"capability":"instagram.hashtag.search"}'
Input
|
Field
|
Type
|
Required
|
Description
|
hashtag
|
string
|
required
|
Hashtag keyword or Instagram /explore/tags/ URL
|
limit
|
integer
|
optional
|
Maximum popular-keyword results
|
Searches popular Instagram content for a keyword.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"keyword":"india","limit":12},"capability":"instagram.popular.search"}'
Input
|
Field
|
Type
|
Required
|
Description
|
keyword
|
string
|
required
|
Keyword, slug, or public Instagram /popular/ URL
|
limit
|
integer
|
optional
|
Maximum deduplicated results
|
Fetches rich public post, reel, or carousel metadata plus backward-compatible oEmbed fields.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"url":"https://www.instagram.com/reel/DTfS7SMEk8B/"},"capability":"instagram.post.get"}'
Input
|
Field
|
Type
|
Required
|
Description
|
url
|
string
|
required
|
Instagram post/reel URL or shortcode
|
instagram.profile-posts.list
Lists public profile posts with bounded cursor pagination, deduplication, and optional timestamp filtering.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"limit":5,"max_pages":1,"url":"https://www.instagram.com/nasa"},"capability":"instagram.profile-posts.list"}'
Input
|
Field
|
Type
|
Required
|
Description
|
limit
|
integer
|
optional
|
Maximum posts returned per job
|
max_pages
|
integer
|
optional
|
Maximum upstream pages, including the embedded first page
|
since
|
integer
|
optional
|
Unix timestamp; stop when older posts are reached
|
url
|
string
|
required
|
Instagram profile URL or username
|
Fetches current public profile metadata using a numeric Instagram user ID.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"user_id":"528817151"},"capability":"instagram.profile.basic"}'
Input
|
Field
|
Type
|
Required
|
Description
|
user_id
|
string
|
required
|
Numeric Instagram user ID
|
Fetches public Instagram profile metadata by username or profile URL.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"url":"https://www.instagram.com/nasa"},"capability":"instagram.profile.get"}'
Input
|
Field
|
Type
|
Required
|
Description
|
fields
|
array<string>
|
optional
|
Optional top-level field allowlist
|
url
|
string
|
required
|
Instagram profile URL or username
|
Discovers public Instagram profiles through web indexing with bounded page traversal and optional enrichment.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"enrich":false,"limit":10,"max_pages":2,"query":"space agency"},"capability":"instagram.profile.search"}'
Input
|
Field
|
Type
|
Required
|
Description
|
enrich
|
boolean
|
optional
|
Fetch current Instagram profile data for each discovered result
|
limit
|
integer
|
optional
|
|
max_pages
|
integer
|
optional
|
|
page
|
integer
|
optional
|
|
query
|
string
|
required
|
|
Lists public profile reels with bounded cursor pagination, deduplication, and optional timestamp filtering.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"limit":5,"max_pages":1,"url":"https://www.instagram.com/nasa"},"capability":"instagram.reels.list"}'
Input
|
Field
|
Type
|
Required
|
Description
|
limit
|
integer
|
optional
|
Maximum reels returned per job
|
max_pages
|
integer
|
optional
|
Maximum upstream pages
|
since
|
integer
|
optional
|
Unix timestamp; stop when older reels are reached
|
url
|
string
|
required
|
Instagram profile URL or username
|
Discovers public Instagram reels through web indexing with bounded page traversal and optional enrichment.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"enrich":false,"limit":10,"max_pages":2,"query":"space launch"},"capability":"instagram.reels.search"}'
Input
|
Field
|
Type
|
Required
|
Description
|
enrich
|
boolean
|
optional
|
Fetch current Instagram oEmbed data for each discovered result
|
limit
|
integer
|
optional
|
|
max_pages
|
integer
|
optional
|
|
page
|
integer
|
optional
|
|
query
|
string
|
required
|
|
Streams Instagram's public logged-out reels feed with bounded cursor pagination.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"limit":16,"max_pages":2},"capability":"instagram.reels.trending"}'
Input
|
Field
|
Type
|
Required
|
Description
|
cursor
|
string
|
optional
|
|
limit
|
integer
|
optional
|
|
max_pages
|
integer
|
optional
|
|
Searches Instagram's public popular-content surface for a known explore topic slug, ID, or topic URL.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{"limit":12,"topic":"sports"},"capability":"instagram.topic.search"}'
Input
|
Field
|
Type
|
Required
|
Description
|
limit
|
integer
|
optional
|
Maximum deduplicated results
|
topic
|
string
|
required
|
Known topic ID, topic slug, explore-topic URL, or public /popular/ URL
|
Lists the module's known Instagram explore-topic taxonomy, optionally filtered by category.
Request
curl -X POST https://data.upscrape.com/execute \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"input":{},"capability":"instagram.topics.list"}'
Input
|
Field
|
Type
|
Required
|
Description
|
category
|
string
|
optional
|
Optional case-insensitive category filter
|
Run Instagram Scraper in under a minute
Sign in, create an API key, and try any capability in the playground before you write code.
Get an API key