InstagramInstagram Profile
After recent Instagram changes, fetching creator metadata and posts requires several requests to Instagram, so this endpoint can be slower. If you only need profile details without posts, use [Basic Profile](https://docs.scrapecreators.com/v1/instagram/basic-profile) with the numeric userId for a usually faster lookup. Retrieves comprehensive public Instagram profile information including biography, bio links, follower and following counts, verification status, and profile picture URLs. Private profiles also return all available public profile metadata through the same existing data.user mapper: ID, username, full name, biography and bio links/entities, website/linkshim, standard/HD profile photos, verification, business/professional/category information, public contact fields when Instagram returns them, and counts, without exposing private posts. The response and unchanged status, success, error, message, and billing rules are described below. Also returns recent timeline posts with engagement metrics such as likes, comments, and video view counts, plus a list of related profiles. Useful for account overview, audience analysis, or discovering similar creators. Instagram does not expose reliable pinned-post metadata through this public source, so do not infer pins from returned order. Video play counts are separate from video view counts. Profile-pinned videos may have video_play_count=null when their count is not found in a short recent-Reels scan; available pinned counts are kept and non-pinned videos require numeric plays. Use /v1/instagram/post with an individual post or reel URL for a deeper play-count lookup. Instagram may return media_count as null or return only the current post batch in edge_owner_to_timeline_media.count. Use Profile Post Count when you specifically need the total number of posts. An explicit rendered age gate (for example, You must be 21 years old or over to see this profile. Log in to continue.) returns HTTP 403, success=true, age_restricted=true, error=forbidden, errorStatus=403, and message=Profile is age restricted, without charging credits. This means Instagram identified an existing profile but requires an age-verified login to view it; we do not bypass the gate. It applies to GET, trimmed GET, and POST handle requests. The age_restricted field is omitted when age gating has not been explicitly confirmed; its absence is not proof that the account has no age limit. For GET handle requests, Profile is private means Instagram returned is_private=true. Account doesn't exist means the handle lookup returned no matching account, not confirmed deletion. The historical Profile is restricted placeholder was used for reported content with no public timeline items. Its handler compatibility branch remains, but the current metadata-first pipeline no longer infers restriction from an empty timeline alone; it retains matching metadata as a partial HTTP 200. These placeholders return HTTP 200, success=true, error=not_found, errorStatus=404, and userId=null, and cost one credit. An explicitly rendered generic audience restriction returns HTTP 404 with Profile is restricted and zero credits charged; it does not confirm an age limit. Profile is unavailable on Instagram also returns an uncharged HTTP 404 and does not identify privacy, deletion, or age gating. HTTP 500 with Shoot, IG is blocking us. Try again and it should work. is an uncharged upstream failure, not a confirmed account restriction. Do not label generic login prompts or unavailable responses as age-restricted.
### Profile access response contract
The confirmed-state success flag is intentionally restored to true: success means we determined the profile state, not that the profile exists or its content is publicly retrievable. HTTP 403/404 and zero-credit billing remain unchanged. Actual retrieval failures remain success=false. HTTP status, JSON field names/types, error values, message values, and credit behavior are compatibility-sensitive. We preserve them on existing endpoint versions; incompatible changes require an explicitly versioned contract and advance notice. See the [response-contract changelog](/#response-contract-changelog).
**Confirmed age gate — HTTP 403, zero credits.** For this profile endpoint, branch on errorStatus === 403 && age_restricted === true. The flag means Instagram explicitly rendered an age-verification gate, not a generic login prompt. It is omitted otherwise; omission does not mean false. It does not identify country/region restrictions.
```json
{
"success": true,
"credits_remaining": 100,
"credits_charged": 0,
"handle": "example_profile",
"userId": null,
"age_restricted": true,
"error": "forbidden",
"errorStatus": 403,
"message": "Profile is age restricted"
}
```
**Explicit audience restriction — HTTP 404, zero credits.** This is different from an age gate and from an unavailable profile. There is currently no structured age/region reason field for this case: use HTTP 404, error=not_found, and the exact message below. Do not invent a reason or treat every 404 as a deleted account.
```json
{
"success": true,
"credits_remaining": 100,
"credits_charged": 0,
"handle": "example_profile",
"userId": null,
"error": "not_found",
"errorStatus": 404,
"message": "Profile is restricted"
}
```
**Confirmed unavailable page — HTTP 404, zero credits.** Instagram reports the profile as unavailable. This does not establish whether it was deleted, renamed, suspended, or hidden. This response intentionally has no handle, userId, or age_restricted field.
```json
{
"success": true,
"credits_remaining": 100,
"credits_charged": 0,
"error": "not_found",
"errorStatus": 404,
"message": "Profile is unavailable on Instagram"
}
```
**Legacy GET placeholders — HTTP 200, one credit.** These still exist. A JSON errorStatus of 404 is not the HTTP status. HTTP 200 and success=true alone do not prove usable profile data. The three legacy messages are preserved exactly:
**Private profile public metadata.** Private profiles return all available public profile metadata through the existing data.user shape: ID, username, full name, biography, bio links/entities, external website/linkshim, standard/HD profile photos, verification, privacy, business/professional/category information, public contact fields when Instagram returns them, and counts. Full GET and POST handle requests use the complete existing public-profile user mapper; its fields and defaults remain unchanged except that unknown or unusable private follower/following counts are null, while a real 0 is preserved. The count paths remain data.user.edge_followed_by.count (followers) and data.user.edge_follow.count (following).
GET trim=true uses the existing public-profile trim field list, retaining name, biography, bio links/entities, external_url, profile photos, privacy/verification, business/professional flags, category_name, business_address_json, and counts. Full-only fields such as external_url_linkshimmed, business_email, and business_phone_number are omitted from trimmed GET. POST handle requests ignore trim and return the full mapped user, as before.
Full metadata means all mapped profile fields, not raw Instagram internals, private posts, or an age-gate bypass. Public contact information is not guaranteed; unavailable values keep the public mapper's existing defaults. Age-restricted responses are unchanged. Every preexisting top-level field is retained: HTTP 200, userId=null, error=not_found, errorStatus=404, message=Profile is private, and the one-credit charge stay unchanged. POST handle requests keep success=false instead of GET's success=true. The example below shows representative metadata fields, not the exhaustive full mapper output or the trimmed field set. The ID, name, links, photos, handle, and credit balance are synthetic; the counts 560 and 4675 are illustrative and can change.
Private GET response (representative full-response metadata):
```json
{
"success": true,
"credits_remaining": 99,
"credits_charged": 1,
"handle": "example_profile",
"userId": null,
"error": "not_found",
"errorStatus": 404,
"message": "Profile is private",
"data": {
"user": {
"id": "12345",
"username": "example_profile",
"full_name": "Example Profile",
"biography": "An example profile. https://example.org/",
"bio_links": [
{
"title": "Website",
"url": "https://example.org/",
"lynx_url": "https://example.org/linkshim",
"link_type": "external"
}
],
"fb_profile_biolink": null,
"biography_with_entities": {
"raw_text": "An example profile. https://example.org/",
"entities": []
},
"external_url": "https://example.org/",
"external_url_linkshimmed": "https://example.org/linkshim",
"profile_pic_url": "https://example.org/profile.jpg",
"profile_pic_url_hd": "https://example.org/profile-hd.jpg",
"is_verified": false,
"is_business_account": false,
"is_professional_account": false,
"category_name": null,
"business_category_name": null,
"overall_category_name": null,
"category_enum": null,
"business_address_json": {},
"business_contact_method": "UNKNOWN",
"business_email": null,
"business_phone_number": null,
"should_show_category": false,
"should_show_public_contacts": false,
"is_private": true,
"edge_followed_by": {
"count": 560
},
"edge_follow": {
"count": 4675
}
}
}
}
```
Historical restricted-result compatibility branch (not the current empty-timeline policy):
```json
{
"success": true,
"credits_remaining": 99,
"credits_charged": 1,
"handle": "example_profile",
"userId": null,
"error": "not_found",
"errorStatus": 404,
"message": "Profile is restricted"
}
```
No matching account from the handle lookup (not proof of deletion):
```json
{
"success": true,
"credits_remaining": 99,
"credits_charged": 1,
"handle": "example_profile",
"userId": null,
"error": "not_found",
"errorStatus": 404,
"message": "Account doesn't exist"
}
```
These legacy handler branches are retained, but the active metadata-first pipeline no longer emits the heuristic restricted result merely because the timeline is empty; it returns useful matching metadata as a partial HTTP 200 instead. GET trim=true retains the same state-envelope rules. POST handle requests retain a historical difference: these HTTP-200 placeholders have success=false instead of true; they still cost one credit. The POST restricted-placeholder condition is data.user === null, while GET uses userId === null. The explicit 403/404 responses above apply to both methods. A flag-only legacy restricted scraper result is different again: POST can pass through success=true, handle, userId=null, message=Profile is restricted, and isRestricted=true without error/errorStatus. Legacy POST userId requests use a separate compatibility path and are not covered by the handle contract.
**Endpoint scope.** /v1/instagram/user/posts and /v2/instagram/user/posts also return the uncharged 403 forbidden age-gate message, but do not include age_restricted, handle, or userId in that error body. Their explicit restricted-profile 404 says Profile is private, not Profile is restricted. Do not copy this profile endpoint's envelope to /v1/instagram/post or /v1/tiktok/profile; those contracts are separate. Ambiguous upstream failures are not evidence of a missing or restricted account. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Profile API View Pricing Get public profile details, recent posts, and related accounts. Private profiles return public details only. Pinned-post metadata is not reliably available; returned order does not identify pins. 1 credit per request
After recent Instagram changes, fetching creator metadata and posts requires several requests to Instagram, so this endpoint can be slower. If you only need profile details without posts, use [Basic Profile](https://docs.scrapecreators.com/v1/instagram/basic-profile) with the numeric userId for a usually faster lookup. Retrieves comprehensive public Instagram profile information including biography, bio links, follower and following counts, verification status, and profile picture URLs. Private profiles also return all available public profile metadata through the same existing data.user mapper: ID, username, full name, biography and bio links/entities, website/linkshim, standard/HD profile photos, verification, business/professional/category information, public contact fields when Instagram returns them, and counts, without exposing private posts. The response and unchanged status, success, error, message, and billing rules are described below. Also returns recent timeline posts with engagement metrics such as likes, comments, and video view counts, plus a list of related profiles. Useful for account overview, audience analysis, or discovering similar creators. Instagram does not expose reliable pinned-post metadata through this public source, so do not infer pins from returned order. Video play counts are separate from video view counts. Profile-pinned videos may have video_play_count=null when their count is not found in a short recent-Reels scan; available pinned counts are kept and non-pinned videos require numeric plays. Use /v1/instagram/post with an individual post or reel URL for a deeper play-count lookup. Instagram may return media_count as null or return only the current post batch in edge_owner_to_timeline_media.count. Use Profile Post Count when you specifically need the total number of posts. An explicit rendered age gate (for example, You must be 21 years old or over to see this profile. Log in to continue.) returns HTTP 403, success=true, age_restricted=true, error=forbidden, errorStatus=403, and message=Profile is age restricted, without charging credits. This means Instagram identified an existing profile but requires an age-verified login to view it; we do not bypass the gate. It applies to GET, trimmed GET, and POST handle requests. The age_restricted field is omitted when age gating has not been explicitly confirmed; its absence is not proof that the account has no age limit. For GET handle requests, Profile is private means Instagram returned is_private=true. Account doesn't exist means the handle lookup returned no matching account, not confirmed deletion. The historical Profile is restricted placeholder was used for reported content with no public timeline items. Its handler compatibility branch remains, but the current metadata-first pipeline no longer infers restriction from an empty timeline alone; it retains matching metadata as a partial HTTP 200. These placeholders return HTTP 200, success=true, error=not_found, errorStatus=404, and userId=null, and cost one credit. An explicitly rendered generic audience restriction returns HTTP 404 with Profile is restricted and zero credits charged; it does not confirm an age limit. Profile is unavailable on Instagram also returns an uncharged HTTP 404 and does not identify privacy, deletion, or age gating. HTTP 500 with Shoot, IG is blocking us. Try again and it should work. is an uncharged upstream failure, not a confirmed account restriction. Do not label generic login prompts or unavailable responses as age-restricted.
### Profile access response contract
The confirmed-state success flag is intentionally restored to true: success means we determined the profile state, not that the profile exists or its content is publicly retrievable. HTTP 403/404 and zero-credit billing remain unchanged. Actual retrieval failures remain success=false. HTTP status, JSON field names/types, error values, message values, and credit behavior are compatibility-sensitive. We preserve them on existing endpoint versions; incompatible changes require an explicitly versioned contract and advance notice. See the [response-contract changelog](/#response-contract-changelog).
**Confirmed age gate — HTTP 403, zero credits.** For this profile endpoint, branch on errorStatus === 403 && age_restricted === true. The flag means Instagram explicitly rendered an age-verification gate, not a generic login prompt. It is omitted otherwise; omission does not mean false. It does not identify country/region restrictions.
```json
{
"success": true,
"credits_remaining": 100,
"credits_charged": 0,
"handle": "example_profile",
"userId": null,
"age_restricted": true,
"error": "forbidden",
"errorStatus": 403,
"message": "Profile is age restricted"
}
```
**Explicit audience restriction — HTTP 404, zero credits.** This is different from an age gate and from an unavailable profile. There is currently no structured age/region reason field for this case: use HTTP 404, error=not_found, and the exact message below. Do not invent a reason or treat every 404 as a deleted account.
```json
{
"success": true,
"credits_remaining": 100,
"credits_charged": 0,
"handle": "example_profile",
"userId": null,
"error": "not_found",
"errorStatus": 404,
"message": "Profile is restricted"
}
```
**Confirmed unavailable page — HTTP 404, zero credits.** Instagram reports the profile as unavailable. This does not establish whether it was deleted, renamed, suspended, or hidden. This response intentionally has no handle, userId, or age_restricted field.
```json
{
"success": true,
"credits_remaining": 100,
"credits_charged": 0,
"error": "not_found",
"errorStatus": 404,
"message": "Profile is unavailable on Instagram"
}
```
**Legacy GET placeholders — HTTP 200, one credit.** These still exist. A JSON errorStatus of 404 is not the HTTP status. HTTP 200 and success=true alone do not prove usable profile data. The three legacy messages are preserved exactly:
**Private profile public metadata.** Private profiles return all available public profile metadata through the existing data.user shape: ID, username, full name, biography, bio links/entities, external website/linkshim, standard/HD profile photos, verification, privacy, business/professional/category information, public contact fields when Instagram returns them, and counts. Full GET and POST handle requests use the complete existing public-profile user mapper; its fields and defaults remain unchanged except that unknown or unusable private follower/following counts are null, while a real 0 is preserved. The count paths remain data.user.edge_followed_by.count (followers) and data.user.edge_follow.count (following).
GET trim=true uses the existing public-profile trim field list, retaining name, biography, bio links/entities, external_url, profile photos, privacy/verification, business/professional flags, category_name, business_address_json, and counts. Full-only fields such as external_url_linkshimmed, business_email, and business_phone_number are omitted from trimmed GET. POST handle requests ignore trim and return the full mapped user, as before.
Full metadata means all mapped profile fields, not raw Instagram internals, private posts, or an age-gate bypass. Public contact information is not guaranteed; unavailable values keep the public mapper's existing defaults. Age-restricted responses are unchanged. Every preexisting top-level field is retained: HTTP 200, userId=null, error=not_found, errorStatus=404, message=Profile is private, and the one-credit charge stay unchanged. POST handle requests keep success=false instead of GET's success=true. The example below shows representative metadata fields, not the exhaustive full mapper output or the trimmed field set. The ID, name, links, photos, handle, and credit balance are synthetic; the counts 560 and 4675 are illustrative and can change.
Private GET response (representative full-response metadata):
```json
{
"success": true,
"credits_remaining": 99,
"credits_charged": 1,
"handle": "example_profile",
"userId": null,
"error": "not_found",
"errorStatus": 404,
"message": "Profile is private",
"data": {
"user": {
"id": "12345",
"username": "example_profile",
"full_name": "Example Profile",
"biography": "An example profile. https://example.org/",
"bio_links": [
{
"title": "Website",
"url": "https://example.org/",
"lynx_url": "https://example.org/linkshim",
"link_type": "external"
}
],
"fb_profile_biolink": null,
"biography_with_entities": {
"raw_text": "An example profile. https://example.org/",
"entities": []
},
"external_url": "https://example.org/",
"external_url_linkshimmed": "https://example.org/linkshim",
"profile_pic_url": "https://example.org/profile.jpg",
"profile_pic_url_hd": "https://example.org/profile-hd.jpg",
"is_verified": false,
"is_business_account": false,
"is_professional_account": false,
"category_name": null,
"business_category_name": null,
"overall_category_name": null,
"category_enum": null,
"business_address_json": {},
"business_contact_method": "UNKNOWN",
"business_email": null,
"business_phone_number": null,
"should_show_category": false,
"should_show_public_contacts": false,
"is_private": true,
"edge_followed_by": {
"count": 560
},
"edge_follow": {
"count": 4675
}
}
}
}
```
Historical restricted-result compatibility branch (not the current empty-timeline policy):
```json
{
"success": true,
"credits_remaining": 99,
"credits_charged": 1,
"handle": "example_profile",
"userId": null,
"error": "not_found",
"errorStatus": 404,
"message": "Profile is restricted"
}
```
No matching account from the handle lookup (not proof of deletion):
```json
{
"success": true,
"credits_remaining": 99,
"credits_charged": 1,
"handle": "example_profile",
"userId": null,
"error": "not_found",
"errorStatus": 404,
"message": "Account doesn't exist"
}
```
These legacy handler branches are retained, but the active metadata-first pipeline no longer emits the heuristic restricted result merely because the timeline is empty; it returns useful matching metadata as a partial HTTP 200 instead. GET trim=true retains the same state-envelope rules. POST handle requests retain a historical difference: these HTTP-200 placeholders have success=false instead of true; they still cost one credit. The POST restricted-placeholder condition is data.user === null, while GET uses userId === null. The explicit 403/404 responses above apply to both methods. A flag-only legacy restricted scraper result is different again: POST can pass through success=true, handle, userId=null, message=Profile is restricted, and isRestricted=true without error/errorStatus. Legacy POST userId requests use a separate compatibility path and are not covered by the handle contract.
**Endpoint scope.** /v1/instagram/user/posts and /v2/instagram/user/posts also return the uncharged 403 forbidden age-gate message, but do not include age_restricted, handle, or userId in that error body. Their explicit restricted-profile 404 says Profile is private, not Profile is restricted. Do not copy this profile endpoint's envelope to /v1/instagram/post or /v1/tiktok/profile; those contracts are separate. Ambiguous upstream failures are not evidence of a missing or restricted account.
If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Amazon Shop Amazon Shop page
Scrapes a creator's Amazon Shop page by URL, returning their storefront profile and product collections. The initial request also returns videos already embedded on the storefront page without requiring a pageToken. Videos include an id, title, thumbnail, and attached ASINs. Pass each returned pageToken back unchanged with the same shop URL. A paginated page can contain lists, videos, or both. Tokens are opaque: known values can begin with amzn1.ideas, amzn1.vse.video, or amzn1.shoppablemedia, but clients should not infer the response type from the prefix. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Amazon Shop Amazon Shop page API View Pricing Get products and other details from a creator's Amazon Shop page 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Apple Music Album
Retrieves public Apple Music album details, including title, artist, artwork, release info, tracks, and more by the artist. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Apple Music Album API View Pricing Get Apple Music album 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Apple Music Artist
Retrieves public Apple Music artist details, including artwork, editorial notes, top songs, albums, music videos, playlists, and related sections. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Apple Music Artist API View Pricing Get Apple Music artist 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Apple Music Search
Searches Apple Music and returns public result sections for artists, albums, songs, playlists, stations, and music videos. Use type=song, album, artist, playlist, or all. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Apple Music Search API View Pricing Search Apple Music 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Apple Music Track
Retrieves public Apple Music song details by id or URL. Album track URLs with an i= song id are supported. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Apple Music Track API View Pricing Get Apple Music track 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Bluesky Post
Fetches a single Bluesky post by URL, returning the post's record text, author info, embed content, replyCount, repostCount, likeCount, and quoteCount. Also includes a replies array with threaded reply posts. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Bluesky Post API View Pricing Get Bluesky post 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Bluesky Profile
Retrieves a Bluesky user's public profile including handle, displayName, avatar, description, followersCount, followsCount, postsCount, createdAt, and verification status. The associated field shows counts for lists, feed generators, and starter packs. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Bluesky Profile API View Pricing Get Bluesky profile info 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Bluesky Posts
Fetches a paginated feed of posts from a Bluesky user, returning each post's uri, record text, author info, embed content, replyCount, repostCount, likeCount, quoteCount, and indexedAt. Supports pagination via cursor. Use user_id (the 'did') instead of handle for faster response times. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Bluesky Posts API View Pricing Get Bluesky user posts. Use user_id for faster response times. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Cosmos Collection
Get a public Cosmos collection with its owner, description, cover, counts, and public subcollections. Uses public Cosmos data. Private or login-restricted content is not available. Costs 1 credit per successful request, including native empty results. Scraper failures are not charged. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Cosmos Collection API View Pricing Get a public Cosmos collection with its owner, description, cover, counts, and public subcollections. 1 credit per request Get a public Cosmos collection with its owner, description, cover, counts, and public subcollections. Uses public Cosmos data. Private or login-restricted content is not available. Costs 1 credit per successful request, including native empty results. Scraper failures are not charged.
Cosmos Collection Posts
Get public posts saved to a Cosmos collection. Supports cursor pagination. Uses public Cosmos data. Private or login-restricted content is not available. Costs 1 credit per successful request, including native empty results. Scraper failures are not charged. Sending cursor=null returns end_of_pagination: true and costs zero credits. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Cosmos Collection Posts API View Pricing Get public posts saved to a Cosmos collection. Supports cursor pagination. 1 credit per request Get public posts saved to a Cosmos collection. Supports cursor pagination. Uses public Cosmos data. Private or login-restricted content is not available. Costs 1 credit per successful request, including native empty results. Scraper failures are not charged. Sending cursor=null returns end_of_pagination: true and costs zero credits.
Cosmos Post
Get a public Cosmos post with media URLs, captions, source links, and save count. Uses public Cosmos data. Private or login-restricted content is not available. Costs 1 credit per successful request, including native empty results. Scraper failures are not charged. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Cosmos Post API View Pricing Get a public Cosmos post with media URLs, captions, source links, and save count. 1 credit per request Get a public Cosmos post with media URLs, captions, source links, and save count. Uses public Cosmos data. Private or login-restricted content is not available. Costs 1 credit per successful request, including native empty results. Scraper failures are not charged.
Cosmos Profile
Get a public Cosmos profile with bio, links, and follower counts. Public data only. One credit per successful request, including successful empty results. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Cosmos Profile API View Pricing Get a public Cosmos profile with bio, links, and follower counts. 1 credit per request Get a public Cosmos profile with bio, links, and follower counts. Public data only. One credit per successful request, including successful empty results.
Cosmos Search
Search public Cosmos posts by keyword. Cosmos may return related posts even when there is no exact keyword match. Public data only. One credit per successful request, including successful empty results. Keep the cursor unchanged and stop when has_more is false. result_count is Cosmos’s search retrieval-window count, not the total number of matching posts. Sending cursor=null returns end_of_pagination: true and costs zero credits. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Cosmos Search API View Pricing Search public Cosmos posts by keyword. Cosmos may return related posts even when there is no exact keyword match. 1 credit per request Search public Cosmos posts by keyword. Cosmos may return related posts even when there is no exact keyword match. Public data only. One credit per successful request, including successful empty results. Keep the cursor unchanged and stop when has_more is false. result_count is Cosmos’s search retrieval-window count, not the total number of matching posts. Sending cursor=null returns end_of_pagination: true and costs zero credits.
Cosmos User Collections
Get the public collections owned by a Cosmos user. Public data only. One credit per successful request, including successful empty results. Keep the cursor unchanged and stop when has_more is false. Sending cursor=null returns end_of_pagination: true and costs zero credits. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Cosmos User Collections API View Pricing Get the public collections owned by a Cosmos user. 1 credit per request Get the public collections owned by a Cosmos user. Public data only. One credit per successful request, including successful empty results. Keep the cursor unchanged and stop when has_more is false. Sending cursor=null returns end_of_pagination: true and costs zero credits.
Cosmos User Posts
Get the public posts saved to a Cosmos user profile. Public data only. One credit per successful request, including successful empty results. Keep the cursor unchanged and stop when has_more is false. Sending cursor=null returns end_of_pagination: true and costs zero credits. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Cosmos User Posts API View Pricing Get the public posts saved to a Cosmos user profile. 1 credit per request Get the public posts saved to a Cosmos user profile. Public data only. One credit per successful request, including successful empty results. Keep the cursor unchanged and stop when has_more is false. Sending cursor=null returns end_of_pagination: true and costs zero credits.
Creator Tools Get Age and Gender
Uses AI to analyze a creator's profile photo and estimate their age and gender. Returns ageRange with low and high bounds, gender, and a confidence score for the gender prediction. The profile photo must contain a clear, visible face for accurate results. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Creator Tools Get Age and Gender API View Pricing Estimate a creator's age and gender from their profile photo using AI. A clear face is required for an accurate result. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Ad Library Ad Details
Retrieves detailed information about a specific Facebook ad by its ID or URL. Returns adArchiveID, pageName, isActive, startDate, endDate, and a snapshot containing body, images, videos, display_format, link_url, and cta_text. Regulated ads may also include source-dependent aaa_info using the structure shown below. Political and social issue delivery data is normalized to location_audience and age_country_gender_reach_breakdown. Political location_audience rows include reach, and political delivery values are fractional shares, so 0.08 means 8%. Regional transparency data may use absolute reach counts. For ads with multiple versions, the ad creative is found in the snapshot.cards array rather than snapshot.body. Transcription is opt-in via get_transcript=true. Default short AI (up to 120 seconds, inclusive) is included in the existing base endpoint price, with no extra AI fee. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. On detail routes, successful paid-mode AI costs are in addition to the existing base endpoint cost; media-download pricing is unchanged. Returned native captions leave the base endpoint price unchanged. Empty AI results and errors incur no AI fee; the base scrape fee still applies when the detail scrape succeeds. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Ad Library Ad Details API View Pricing Get Facebook Ad Library details by ID or URL. For ads with multiple versions, use the title in cards. 1 credit per request Retrieves detailed information about a specific Facebook ad by its ID or URL. Returns adArchiveID, pageName, isActive, startDate, endDate, and a snapshot containing body, images, videos, display_format, link_url, and cta_text. Regulated ads may also include source-dependent aaa_info using the structure shown below. Political and social issue delivery data is normalized to location_audience and age_country_gender_reach_breakdown. Political location_audience rows include reach, and political delivery values are fractional shares, so 0.08 means 8%. Regional transparency data may use absolute reach counts. For ads with multiple versions, the ad creative is found in the snapshot.cards array rather than snapshot.body. Transcription is opt-in via get_transcript=true. Default short AI (up to 120 seconds, inclusive) is included in the existing base endpoint price, with no extra AI fee. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. On detail routes, successful paid-mode AI costs are in addition to the existing base endpoint cost; media-download pricing is unchanged. Returned native captions leave the base endpoint price unchanged. Empty AI results and errors incur no AI fee; the base scrape fee still applies when the detail scrape succeeds. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Transcription is opt-in via get_transcript=true. Default short AI (up to 120 seconds, inclusive) is included in the existing base endpoint price, with no extra AI fee. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. On detail routes, successful paid-mode AI costs are in addition to the existing base endpoint cost; media-download pricing is unchanged. Returned native captions leave the base endpoint price unchanged. Empty AI results and errors incur no AI fee; the base scrape fee still applies when the detail scrape succeeds. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit; default short AI is included; allow_long_transcription=true adds 10 credits per started minute to the existing base cost). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Facebook Ad Library Ad Transcript
Retrieves a transcript for a Facebook Ad Library video ad by ID or URL. Returned native captions cost 1 credit. Otherwise the public video URL is transcribed with AI. If the ad has no video or no transcript is available, transcript is null and the charge is 0 credits. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Ad Library Ad Transcript API View Pricing Get native captions or an AI transcript from a Facebook video ad. Long AI transcripts may time out. Native captions or AI up to 2 minutes: 1 credit. Paid AI mode: 10 credits/minute, rounded up, even for short videos. No transcript: 0 credits. Retrieves a transcript for a Facebook Ad Library video ad by ID or URL. Returned native captions cost 1 credit. Otherwise the public video URL is transcribed with AI. If the ad has no video or no transcript is available, transcript is null and the charge is 0 credits. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (Returned native captions cost 1 credit, even for long videos with the paid flag. By default, successful AI up to 120 seconds costs a flat 1 credit per request; over 120 seconds requires allow_long_transcription=true, which bills ALL successful AI at 10 credits per started minute, including short videos; empty AI results and errors cost 0 credits; no transcript: 0 credits). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Facebook Ad Library Company Ads
Fetches all ads currently running for a specific company from the Meta Ad Library. Each ad includes ad_archive_id, page_name, is_active, publisher_platform, and a snapshot with body, images, videos, and display_format. Supports filtering by country, media_type, date range, and language with cursor-based pagination. Both GET and POST are supported. If the cursor becomes too large after extensive pagination, use POST and send the same parameters in the JSON body. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Ad Library Company Ads API View Pricing Get a company's running ads. Use GET normally; for long pagination cursors, use POST with the same parameters in the JSON body. 1 credit per request GET /v1/facebook/adLibrary/company/ads Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Ad Library Search
Searches the Meta Ad Library by keyword and returns matching ads. Supports filtering by language with a 2-letter code such as EN or ES. Each result includes ad_archive_id, page_name, is_active, publisher_platform, and a snapshot with body text, images, videos, and cta_text. Both GET and POST are supported. Use GET for normal requests. If the cursor becomes too large after extensive pagination, use POST and send the same parameters in the JSON body. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Ad Library Search API View Pricing Search Meta Ad Library by keyword. Use GET normally; for long pagination cursors, use POST with the same parameters in the JSON body. 1 credit per request GET /v1/facebook/adLibrary/search/ads Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Ad Library Search for Companies
Searches for companies by name in the Meta Ad Library and returns their page IDs for use with other ad library endpoints. Each result includes page_id, name, category, likes, verification status, and Instagram details like ig_username and ig_followers. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Ad Library Search for Companies API View Pricing Search for companies by name and get their ad library page id 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Events Event Details
Get a specific event by its URL or id Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Events Event Details API View Pricing Get a specific event by its URL or id 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Events Events
Get the events of a city. Check out this [link](https://www.facebook.com/events/explore/saint-petersburg-florida/111326725552547) for an example of where we are getting the data from. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Events Events API View Pricing Get events from a city's Facebook Events page. Example source . 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Events Search Events
Search for events by name. You can take a look at the page from Facebook we are getting the data from [here](https://www.facebook.com/events/search/?q=dogs) Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Events Search Events API View Pricing Search public Facebook events by name. Source page . 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Facebook Group Info
Fetches the public information shown on a Facebook group's About page, including its description, privacy and visibility, member and activity counts, categories, administrators and moderators when Facebook exposes them, group history, and rules. Provide either url or group_id. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Facebook Group Info API View Pricing Get the public About-page information for a Facebook group. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Facebook Group Posts
Fetches posts from a public Facebook group, limited to 3 posts per page due to API limitations. Each post includes id, text, url, reactionCount, commentCount, publishTime, videoDetails, and topComments. Results are chronological by default. Supports TOP_POSTS, RECENT_ACTIVITY, CHRONOLOGICAL, and CHRONOLOGICAL_LISTINGS with cursor-based pagination. posts[].is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. shared_post_id and shared_post_url identify the immediate post being shared when Facebook exposes it; both are nullable strings and are null when the reference is unavailable. Null does not prove the post is not a share. Existing id, post_id, and url values remain unchanged. The original is not automatically fetched, and these fields add no additional upstream requests. Call /v1/facebook/post with shared_post_url separately to retrieve the original's available media. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Facebook Group Posts API View Pricing Get public Facebook group posts, with shared_post_id and shared_post_url when exposed. Facebook limits results to 3 per page. 1 credit per request Fetches posts from a public Facebook group, limited to 3 posts per page due to API limitations. Each post includes id, text, url, reactionCount, commentCount, publishTime, videoDetails, and topComments. Results are chronological by default. Supports TOP_POSTS, RECENT_ACTIVITY, CHRONOLOGICAL, and CHRONOLOGICAL_LISTINGS with cursor-based pagination. posts[].is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. shared_post_id and shared_post_url identify the immediate post being shared when Facebook exposes it; both are nullable strings and are null when the reference is unavailable. Null does not prove the post is not a share. Existing id, post_id, and url values remain unchanged. The original is not automatically fetched, and these fields add no additional upstream requests. Call /v1/facebook/post with shared_post_url separately to retrieve the original's available media.
Facebook Marketplace Marketplace Item
Fetches details for a Facebook Marketplace item by item id or Marketplace item URL, including title, description, price, location, condition, photos, seller, and availability flags. Rental listings can include listing_date_text and availability_text from Facebook's Marketplace GraphQL response, for example 'Listed over a week ago' and 'Available now'. creation_time can still be null when Facebook does not expose an exact timestamp. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Marketplace Marketplace Item API View Pricing Get a Facebook Marketplace item, including rental listing_date_text and availability_text when Facebook exposes them. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Marketplace Marketplace Location Search
Searches Facebook Marketplace locations/cities and returns coordinates you can use with the Marketplace Search endpoint. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Marketplace Marketplace Location Search API View Pricing Searches Facebook Marketplace locations/cities and returns coordinates you can use with the Marketplace Search endpoint. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Marketplace Marketplace Search
Search Facebook Marketplace by keyword or browse a supported category without query. lat and lng are required. See category_id for allowed IDs. Pages usually contain about 24 listings and cost 1 credit, including empty filtered pages. Follow cursor as-is while has_next_page is true, keep inputs unchanged, and dedupe by listing id; keyword and category-only cursors cannot be mixed. Category-only date_listed, availability, and delivery_method filters apply to listing cards; condition requires a keyword. creation_time_descend is not strictly newest-first, and last_24_hours uses calendar days, not a rolling cutoff. creation_time (ISO 8601 UTC) and listing_date_text can be null. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Marketplace Marketplace Search API View Pricing Search Facebook Marketplace listings 1 credit per request Search Facebook Marketplace by keyword or browse a supported category without query. lat and lng are required. See category_id for allowed IDs. Pages usually contain about 24 listings and cost 1 credit, including empty filtered pages. Follow cursor as-is while has_next_page is true, keep inputs unchanged, and dedupe by listing id; keyword and category-only cursors cannot be mixed. Category-only date_listed, availability, and delivery_method filters apply to listing cards; condition requires a keyword. creation_time_descend is not strictly newest-first, and last_24_hours uses calendar days, not a rolling cutoff. creation_time (ISO 8601 UTC) and listing_date_text can be null.
Facebook Post
Retrieves a single public Facebook post or reel by URL. Use one request per reel, passing its returned /reel/ URL from /v1/facebook/profile/reels, to retrieve available like_count, reaction_counts, comment_count, share_count, and a more precise view_count when Facebook exposes it. This endpoint accepts a single URL, not a batch; exact views are not guaranteed. Returns post_id, like_count, comment_count, share_count, view_count, description, creation_time, and author details, including the author handle when Facebook exposes a vanity profile URL. For some reels, Facebook does not expose the same view count on the individual post page that it shows on the profile Reels grid. This value can be null or lower than the public Reels badge. If you need the public Reel badge count, call /v1/facebook/profile/reels with the author URL and match the reel by post_id. For video posts, includes video sd_url, hd_url, thumbnail, and length_in_second. Optionally fetches comments and transcript via get_comments and get_transcript parameters. is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. shared_post_id and shared_post_url identify the immediate post being shared when Facebook exposes it; both are nullable strings and are null when the reference is unavailable. Null does not prove the post is not a share. Existing id, post_id, and url values remain unchanged. The original is not automatically fetched, and these fields add no additional upstream requests. Call /v1/facebook/post with shared_post_url separately to retrieve the original's available media. Transcription is opt-in via get_transcript=true. Default short AI (up to 120 seconds, inclusive) is included in the existing base endpoint price, with no extra AI fee. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. On detail routes, successful paid-mode AI costs are in addition to the existing base endpoint cost; media-download pricing is unchanged. Returned native captions leave the base endpoint price unchanged. Empty AI results and errors incur no AI fee; the base scrape fee still applies when the detail scrape succeeds. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Post API View Pricing Get a public Facebook post or Reel, with shared_post_id and shared_post_url when exposed. Reel views may be null or below the badge; for badge counts, use /v1/facebook/profile/reels and match post_id. Exact views are not guaranteed. 1 credit per request Retrieves a single public Facebook post or reel by URL. Use one request per reel, passing its returned /reel/ URL from /v1/facebook/profile/reels, to retrieve available like_count, reaction_counts, comment_count, share_count, and a more precise view_count when Facebook exposes it. This endpoint accepts a single URL, not a batch; exact views are not guaranteed. Returns post_id, like_count, comment_count, share_count, view_count, description, creation_time, and author details, including the author handle when Facebook exposes a vanity profile URL. For some reels, Facebook does not expose the same view count on the individual post page that it shows on the profile Reels grid. This value can be null or lower than the public Reels badge. If you need the public Reel badge count, call /v1/facebook/profile/reels with the author URL and match the reel by post_id. For video posts, includes video sd_url, hd_url, thumbnail, and length_in_second. Optionally fetches comments and transcript via get_comments and get_transcript parameters. is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. shared_post_id and shared_post_url identify the immediate post being shared when Facebook exposes it; both are nullable strings and are null when the reference is unavailable. Null does not prove the post is not a share. Existing id, post_id, and url values remain unchanged. The original is not automatically fetched, and these fields add no additional upstream requests. Call /v1/facebook/post with shared_post_url separately to retrieve the original's available media. Transcription is opt-in via get_transcript=true. Default short AI (up to 120 seconds, inclusive) is included in the existing base endpoint price, with no extra AI fee. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. On detail routes, successful paid-mode AI costs are in addition to the existing base endpoint cost; media-download pricing is unchanged. Returned native captions leave the base endpoint price unchanged. Empty AI results and errors incur no AI fee; the base scrape fee still applies when the detail scrape succeeds. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Transcription is opt-in via get_transcript=true. Default short AI (up to 120 seconds, inclusive) is included in the existing base endpoint price, with no extra AI fee. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. On detail routes, successful paid-mode AI costs are in addition to the existing base endpoint cost; media-download pricing is unchanged. Returned native captions leave the base endpoint price unchanged. Empty AI results and errors incur no AI fee; the base scrape fee still applies when the detail scrape succeeds. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit; default short AI is included; allow_long_transcription=true adds 10 credits per started minute to the existing base cost). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Facebook Comment Replies
Get the replies to a comment with cursor-based pagination. Each reply includes an attachments array for image, GIF, video and sticker media that Facebook returns, with type, id, url, preview_url, width and height. Text-only replies have an empty attachments array. Missing attachment values are null, and media URLs can expire. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Comment Replies API View Pricing Get the replies to a comment, including image, GIF, video and sticker attachments when available. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Comments
Fetches comments from a Facebook post or reel with cursor-based pagination. Each comment includes id, text, created_at, reply_count, reaction_count, and author details with name and profile_picture. The attachments array contains image, GIF, video and sticker media when Facebook returns them, with type, id, url, preview_url, width and height. Text-only comments have an empty attachments array. Missing attachment values are null, and media URLs can expire. Passing a feedback_id instead of a url significantly speeds up the request. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Comments API View Pricing Get the comments of a Facebook post or reel, including image, GIF, video and sticker attachments when available. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Transcript
Returns the transcript text for a Facebook video post or reel. Existing transcripts or native captions are used first and cost 1 credit only when returned. Otherwise the public video is transcribed using AI. No transcript costs 0 credits. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Transcript API View Pricing Get native captions or an AI transcript from a Facebook video or Reel. Long AI transcripts may time out. Native captions or AI up to 2 minutes: 1 credit. Paid AI mode: 10 credits/minute, rounded up, even for short videos. No transcript: 0 credits. Returns the transcript text for a Facebook video post or reel. Existing transcripts or native captions are used first and cost 1 credit only when returned. Otherwise the public video is transcribed using AI. No transcript costs 0 credits. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (Returned native captions cost 1 credit, even for long videos with the paid flag. By default, successful AI up to 120 seconds costs a flat 1 credit per request; over 120 seconds requires allow_long_transcription=true, which bills ALL successful AI at 10 credits per started minute, including short videos; empty AI results and errors cost 0 credits; no transcript: 0 credits). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Facebook Profile
Retrieves public Facebook page details including category, address, email, phone, website, services, priceRange, rating, likeCount, talkingAboutCount, and followerCount. talkingAboutCount is nullable and only returned when Facebook exposes it publicly. Also returns adLibrary status with the page's ad activity and pageId. Optionally includes businessHours when get_business_hours is set to true. Contact fields come from the submitted public profile. To request removal of your own information from Scrape Creators results, email support@scrapecreators.com with the profile URL. If Facebook shows an 18+ content gate, the response is still 200 with account_status: "age-restricted" and isPrivate: true. If Facebook shows a private content gate, the response is still 200 with account_status: "private" and isPrivate: true. If the page is not found, the response is 404 with accountDoesNotExist: true and isPrivate: false. Set include_gated_profile=true to also return limited public fields (such as id, name, category, likeCount, profilePicSmall, and links) when a profile is gated or age-restricted. This option only affects gated/age-restricted profiles — public profiles still return the normal full response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Profile API View Pricing Get public Facebook profile information 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Facebook Profile Events
Get the events of a public Facebook page Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Profile Events API View Pricing Get the events of a public Facebook page 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Profile Photos
Fetches photos from a public Facebook page with pagination support. Each photo includes photo_id, accessibility_caption, viewer_image with uri, height, and width, plus a thumbnail and direct url. Pagination requires passing both next_page_id and cursor from the previous response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Profile Photos API View Pricing Get a public Facebook page's photos. Need 'next_page_id' and 'cursor' to paginate. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Facebook Profile Posts
Returns publicly visible Facebook profile posts, limited to 3 posts per page due to API limitations. Each post includes id, text, url, reactionCount, commentCount, publishTime, videoDetails with sdUrl, hdUrl, and thumbnailUrl, plus topComments. Link shares can include link_attachment with url, title, description, source, and image_url; unavailable preview fields are null. Mixed photo/video posts retain their images and story url, with available video media in videoDetails and a video permalink. Accepts either a url or pageId parameter, where pageId is faster. posts[].is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Profile Posts API View Pricing Get public Facebook profile posts visible without login, 3 per page, with available link previews and video details. Provide url or pageId; pageId is faster. 1 credit per request Returns publicly visible Facebook profile posts, limited to 3 posts per page due to API limitations. Each post includes id, text, url, reactionCount, commentCount, publishTime, videoDetails with sdUrl, hdUrl, and thumbnailUrl, plus topComments. Link shares can include link_attachment with url, title, description, source, and image_url; unavailable preview fields are null. Mixed photo/video posts retain their images and story url, with available video media in videoDetails and a video permalink. Accepts either a url or pageId parameter, where pageId is faster. posts[].is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship.
Facebook Profile Reels
Fetches up to 10 reels per request from a public Facebook page. Each reel includes id, post_id, url, view_count, description, creation_time, video_url, thumbnail, play_time_in_ms, and music details. view_count comes from Facebook's public Reels badge (play_count_reduced), converted to a number; abbreviated values such as 27K become 27000, not an exact count. This list does not include like_count, reaction_counts, comment_count, share_count, or an is_pinned flag. Do not infer pinning from the order of returned reels. For available engagement metrics and a more precise view_count when Facebook exposes it, call /v1/facebook/post separately with each reel's returned url. There is no batch detail parameter on this endpoint. The detail view_count can still be null or lower than the public Reels badge. Pagination requires passing both next_page_id and cursor from the previous response. reels[].is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Profile Reels API View Pricing Get up to 10 page Reels. view_count is a possibly rounded badge count; use /v1/facebook/post per reel for engagement and available precise views. Paginate with next_page_id and cursor. 1 credit per request Fetches up to 10 reels per request from a public Facebook page. Each reel includes id, post_id, url, view_count, description, creation_time, video_url, thumbnail, play_time_in_ms, and music details. view_count comes from Facebook's public Reels badge (play_count_reduced), converted to a number; abbreviated values such as 27K become 27000, not an exact count. This list does not include like_count, reaction_counts, comment_count, share_count, or an is_pinned flag. Do not infer pinning from the order of returned reels. For available engagement metrics and a more precise view_count when Facebook exposes it, call /v1/facebook/post separately with each reel's returned url. There is no batch detail parameter on this endpoint. The detail view_count can still be null or lower than the public Reels badge. Pagination requires passing both next_page_id and cursor from the previous response. reels[].is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship.
Facebook Search Videos
Searches Facebook's native public video search without a logged-in account and returns matching videos and Reels. This is not Google-indexed discovery or general Facebook text/photo-post search. Results follow Facebook's ranking and public availability, so coverage and ordering are not exhaustive or guaranteed. Requests can take several seconds; use a client timeout of at least 30 seconds. Temporary Facebook restrictions or upstream timeouts can return an uncharged error. Pass the returned cursor with the same query for the next page, and stop when cursor is null or has_more is false. Each successful search page costs 1 credit, including searches with no matches. Validation errors and upstream failures are not charged. videos[].is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Search Videos API View Pricing Search public Facebook videos and Reels by keyword, not text or photo posts. Each successful page costs 1 credit, even with no matches. 1 credit per request Searches Facebook's native public video search without a logged-in account and returns matching videos and Reels. This is not Google-indexed discovery or general Facebook text/photo-post search. Results follow Facebook's ranking and public availability, so coverage and ordering are not exhaustive or guaranteed. Requests can take several seconds; use a client timeout of at least 30 seconds. Temporary Facebook restrictions or upstream timeouts can return an uncharged error. Pass the returned cursor with the same query for the next page, and stop when cursor is null or has_more is false. Each successful search page costs 1 credit, including searches with no matches. Validation errors and upstream failures are not charged. videos[].is_paid_partnership is a nullable boolean: true when Facebook supplies a paid-partnership label or an explicit paid branded-content relationship; null when unknown or no disclosure is supplied. It currently never returns false: a missing disclosure does not establish that a post has no sponsorship.
Creator Tools Find Creator Emails
Accepts a supported platform and creator handle, using the same verified social-profile discovery flow as Find Social Profiles. Supported starting platforms are Instagram, TikTok, YouTube, X/Twitter, and Facebook. A leading @ is optional; YouTube also accepts channel IDs. Scans publicly listed profile bios and contact links, recognized link-in-bio pages, and a bounded set of creator-declared public website pages. Other accounts are scanned only when explicitly linked or verified through reciprocal profile links or shared owner-controlled websites. Returns deduplicated email addresses with available public source URLs and source types. URLs from internal-only sources are omitted from email provenance and scan diagnostics; an email found only through those sources has an empty sources array. Partial and limited-scan flags still reflect the complete scan. Addresses may belong to the creator, their management, or a booking contact; the endpoint does not guess addresses or verify mailbox deliverability. Login-only contact details and private account data are not accessed. A successful lookup with no publicly listed email returns an empty emails array. Optional failed or timed-out scans are reported with partial results and diagnostics, so an empty partial result is not proof that no address exists. Successful live lookups cost 1 credit when emails is empty, including successful partial empty results, and 10 credits when any email is returned. Cache hits cost 0 credits. Missing or invalid inputs, missing source profiles, and failed lookups cost 0 credits. Multi-source discovery can take several seconds and may time out; retry failed requests rather than treating them as no-email results. Contact fields come from public creator pages. To request removal of your own information from Scrape Creators results, email support@scrapecreators.com with the profile URL. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Creator Tools Find Creator Emails API View Pricing Find public creator emails. Live: 1 credit with no emails, 10 credits with any email. Cache hits/failures: 0 credits. Empty or partial results do not prove no email exists. 1 credit with no emails; 10 credits with any email (live lookups) Accepts a supported platform and creator handle, using the same verified social-profile discovery flow as Find Social Profiles. Supported starting platforms are Instagram, TikTok, YouTube, X/Twitter, and Facebook. A leading @ is optional; YouTube also accepts channel IDs. Scans publicly listed profile bios and contact links, recognized link-in-bio pages, and a bounded set of creator-declared public website pages. Other accounts are scanned only when explicitly linked or verified through reciprocal profile links or shared owner-controlled websites. Returns deduplicated email addresses with available public source URLs and source types. URLs from internal-only sources are omitted from email provenance and scan diagnostics; an email found only through those sources has an empty sources array. Partial and limited-scan flags still reflect the complete scan. Addresses may belong to the creator, their management, or a booking contact; the endpoint does not guess addresses or verify mailbox deliverability. Login-only contact details and private account data are not accessed. A successful lookup with no publicly listed email returns an empty emails array. Optional failed or timed-out scans are reported with partial results and diagnostics, so an empty partial result is not proof that no address exists. Successful live lookups cost 1 credit when emails is empty, including successful partial empty results, and 10 credits when any email is returned. Cache hits cost 0 credits. Missing or invalid inputs, missing source profiles, and failed lookups cost 0 credits. Multi-source discovery can take several seconds and may time out; retry failed requests rather than treating them as no-email results. Contact fields come from public creator pages. To request removal of your own information from Scrape Creators results, email support@scrapecreators.com with the profile URL. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit with no emails; 10 credits with any email (live lookups)). [See the Caching page for details.](https://docs.scrapecreators.com/caching) Live 1 credit if no emails, 10 if any email; cache hits and failures 0. Empty or partial results do not establish that no email exists.
Creator Tools Find Social Profiles
Accepts a supported platform and creator handle, validates both using platform-specific rules, and constructs the canonical source profile URL internally. URLs are not accepted as handles. Supported platforms are Instagram, TikTok, YouTube, X/Twitter, and Facebook; X is accepted as an alias for Twitter. YouTube accepts handles and 24-character channel IDs. The endpoint returns social profiles explicitly linked from the source profile and expands recognized link-in-bio pages. It also re-scrapes up to three supported profiles explicitly linked by the source and follows up to three unique public website URLs declared by the source or those trusted profiles for one page, while preserving each declared path and query. Generic service-provider landing pages reached through parked or unconfigured branded-domain redirects are ignored so the provider's own footer links are not attributed to the creator. It also checks whether the same handle exists on the other supported platforms. All attempted same-handle URLs are returned in same_handle_candidate_urls even when they cannot be verified strongly enough for profiles. Same-handle accounts are included in profiles only when corroborated by a shared owner-controlled website or a reciprocal profile link; matching handles and display names alone are not identity proof. same_handle_match records supporting name evidence at 0.75 confidence, while shared_website and website_link use 0.9. A bounded Google search discovers alternate handles, but Google results are never returned without verification. At most two candidates per other supported platform, up to four total, are re-scraped through that platform's profile scraper. The endpoint may also follow up to two unique recognized link-in-bio URLs declared by the re-scraped Google candidates. The global two-page cap is applied after candidates whose returned handles do not match their Google URLs are rejected. Optional profile probes and page fetches make one attempt and receive the shared enrichment abort signal. A reciprocal source-profile link found there verifies the candidate, and the page's explicit cross-platform profiles can then expand the verified identity graph. Google URLs that re-scrape to the same returned platform handle are deduplicated. A different-handle candidate is accepted only when it links back to the source profile, or when its normalized display name matches and it declares the same owner-controlled public website; common multi-tenant profile and storefront hosts are excluded from shared-website identity evidence. Google discovery uses google_search_match at 0.6, exact names use display_name_match at 0.75, reciprocal links use 0.95, and cross-platform social links explicitly declared by a verified candidate use verified_profile_link at 0.95. Source-linked URLs and failures are returned in source_linked_profile_urls and failed_source_linked_profile_urls. Google candidate URLs, candidate-declared link-in-bio URLs, verified URLs, and failures are returned in google_candidate_urls, google_candidate_link_in_bio_urls, verified_google_candidate_urls, failed_google_candidate_urls, and failed_google_candidate_link_in_bio_urls. Results are deterministic and do not use AI. Mixed or unreachable enrichment results are reported through partial and the matching failure fields. If every declared link-in-bio page fails and no other enrichment finds a profile, the request returns an uncharged 503. A successful live lookup costs 10 credits. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Creator Tools Find Social Profiles API View Pricing Find a creator's linked social profiles from a platform and handle. 10 credits per request Accepts a supported platform and creator handle, validates both using platform-specific rules, and constructs the canonical source profile URL internally. URLs are not accepted as handles. Supported platforms are Instagram, TikTok, YouTube, X/Twitter, and Facebook; X is accepted as an alias for Twitter. YouTube accepts handles and 24-character channel IDs. The endpoint returns social profiles explicitly linked from the source profile and expands recognized link-in-bio pages. It also re-scrapes up to three supported profiles explicitly linked by the source and follows up to three unique public website URLs declared by the source or those trusted profiles for one page, while preserving each declared path and query. Generic service-provider landing pages reached through parked or unconfigured branded-domain redirects are ignored so the provider's own footer links are not attributed to the creator. It also checks whether the same handle exists on the other supported platforms. All attempted same-handle URLs are returned in same_handle_candidate_urls even when they cannot be verified strongly enough for profiles. Same-handle accounts are included in profiles only when corroborated by a shared owner-controlled website or a reciprocal profile link; matching handles and display names alone are not identity proof. same_handle_match records supporting name evidence at 0.75 confidence, while shared_website and website_link use 0.9. A bounded Google search discovers alternate handles, but Google results are never returned without verification. At most two candidates per other supported platform, up to four total, are re-scraped through that platform's profile scraper. The endpoint may also follow up to two unique recognized link-in-bio URLs declared by the re-scraped Google candidates. The global two-page cap is applied after candidates whose returned handles do not match their Google URLs are rejected. Optional profile probes and page fetches make one attempt and receive the shared enrichment abort signal. A reciprocal source-profile link found there verifies the candidate, and the page's explicit cross-platform profiles can then expand the verified identity graph. Google URLs that re-scrape to the same returned platform handle are deduplicated. A different-handle candidate is accepted only when it links back to the source profile, or when its normalized display name matches and it declares the same owner-controlled public website; common multi-tenant profile and storefront hosts are excluded from shared-website identity evidence. Google discovery uses google_search_match at 0.6, exact names use display_name_match at 0.75, reciprocal links use 0.95, and cross-platform social links explicitly declared by a verified candidate use verified_profile_link at 0.95. Source-linked URLs and failures are returned in source_linked_profile_urls and failed_source_linked_profile_urls. Google candidate URLs, candidate-declared link-in-bio URLs, verified URLs, and failures are returned in google_candidate_urls, google_candidate_link_in_bio_urls, verified_google_candidate_urls, failed_google_candidate_urls, and failed_google_candidate_link_in_bio_urls. Results are deterministic and do not use AI. Mixed or unreachable enrichment results are reported through partial and the matching failure fields. If every declared link-in-bio page fails and no other enrichment finds a profile, the request returns an uncharged 503. A successful live lookup costs 10 credits. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (10 credits). [See the Caching page for details.](https://docs.scrapecreators.com/caching) Successful live lookup 10 credits; cache hit 0, documented uncharged error cases as stated in operation description.
GitHub Repository
Retrieves public metadata for one GitHub repository, including owner, description, language, stars, forks, topics, license, visibility, default branch, open issues, and timestamps. Pass a full GitHub repository url. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. GitHub Repository API View Pricing Get public metadata for one GitHub repository. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
GitHub Trending Developers
Scrapes GitHub's public Trending developers page. Returns ranked developers with username, name, public profile URL, avatar, and the popular repository GitHub shows for that developer when available. Use language for paths like javascript or python and since for daily/weekly/monthly. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. GitHub Trending Developers API View Pricing Get GitHub trending developers. Supports language and daily/weekly/monthly range filters. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
GitHub Trending Repositories
Scrapes GitHub's public Trending repositories page. Returns ranked repositories with public URLs, descriptions, language, star/fork counts, stars for the selected range, and built-by users when GitHub shows them. Use language for paths like JavaScript or Python, since for daily/weekly/monthly, and spoken_language_code for GitHub's spoken language filter. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. GitHub Trending Repositories API View Pricing Get GitHub trending repositories. Supports language, spoken_language_code, and daily/weekly/monthly range filters. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
GitHub User
Retrieves public GitHub user details including name, bio, avatar, company, location, blog, follower counts, public repo counts, and account timestamps. Pass username, handle, or a full GitHub user url. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. GitHub User API View Pricing Get public GitHub user details for a user. Pass username, handle, or url. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
GitHub Activity
Retrieves GitHub profile contribution activity for a user from the public profile activity timeline. Defaults to the current year when year is not provided. Results come back one month at a time in the activity array. Pass cursor from the previous response to page backward through the year. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. GitHub Activity API View Pricing Get public GitHub profile contribution activity for a user. Defaults to the current year and returns one month at a time. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
GitHub Contributions
Retrieves the public GitHub contribution graph for a user and year, including total contributions and daily contribution counts/intensity. Pass github handle, or a full GitHub profile url. Defaults to the current year when year is not provided. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. GitHub Contributions API View Pricing Get a user's GitHub contribution graph for a year. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
GitHub Followers
Retrieves public GitHub followers for a user. Each follower includes login, avatar, user URL, type, and GitHub IDs. Pass username, handle, or a full GitHub user url. Supports cursor pagination. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. GitHub Followers API View Pricing Get public followers for a GitHub user. Pass username, handle, or url. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
GitHub Following
Retrieves public accounts followed by a GitHub user. Each account includes login, avatar, profile URL, type, and GitHub IDs. Pass username, handle, or a full GitHub profile url. Supports cursor pagination. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. GitHub Following API View Pricing Get public accounts a GitHub user follows. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
GitHub Pull Requests
Searches public GitHub pull requests authored by a user using GitHub's public search index. Pass username, handle, or url. Optional since and until filters use YYYY-MM-DD created dates. Results include the PR title, repo, state, created_at, and url, sorted by newest created first. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. GitHub Pull Requests API View Pricing Get public pull requests authored by a GitHub user. Filter by created date with since and until. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
GitHub Repositories
Retrieves a user's public repositories with repo metadata like description, language, stars, forks, topics, license, visibility, default branch, and timestamps. Pass username, handle, or url. Supports pagination with cursor, plus GitHub's type, sort, and direction parameters. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. GitHub Repositories API View Pricing Get public repositories for a GitHub user. Supports pagination and GitHub's repo sorting options. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Google Ad Library Ad Details
Retrieves detailed information about a specific Google ad including advertiserId, creativeId, format, firstShown, lastShown, and overallImpressions. firstShown can be null even when /v1/google/company/ads returns a date for the same ad; keep the company-list date when this field is null. When Google publishes political-ad transparency data, spend contains the currency and amount bounds, while targeting contains included and excluded age, gender, and location criteria. Targeted locations include their Google criterion ID, display name, full name, and country codes. Optional fields are null when Google does not publish them. regionStats and platformImpressions use lower and upper impression bounds. Variations are best-effort, omit unparseable entries, and have creative-type-dependent fields; image creatives can expose an images array. Text extraction uses OCR, so accuracy may vary. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Google Ad Library Ad Details API View Pricing Get Google ad details. firstShown can be null even when the company list has a date. Ad text uses OCR and may contain errors. 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Google Ad Library Advertiser Search
Searches the Google Ad Transparency Library for advertisers by name. Returns a list of matching advertisers with their name, advertiser_id, and region, plus a list of associated website domains. Use the returned advertiser_id to look up a company's ads. Defaults to US when region is not passed, so pass a 2-letter country code like AU or CA when searching for advertisers in another region. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Google Ad Library Advertiser Search API View Pricing Search the Google Ad Transparency Library for advertisers to get their advertiser id. Pass region for non-US advertisers, like AU or CA. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Google Ad Library Company Ads
Fetches public company ads by domain or advertiser_id. The default list includes IDs, previews, and firstShown/lastShown when available, at 1 credit per request. firstShown can be null in /v1/google/ad for the same ad, so keep the list date rather than overwriting it with a null detail date. Setting get_ad_details=true uses the individual-ad source, which can also omit firstShown, and costs 25 credits per request. Login-only ads are unavailable. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Google Ad Library Company Ads API View Pricing Get public company ads with dates when available (1 credit). Set get_ad_details=true for full details (25 credits). firstShown can be null in detail responses even when the default list has it. 1 credit per request Fetches public company ads by domain or advertiser_id. The default list includes IDs, previews, and firstShown/lastShown when available, at 1 credit per request. firstShown can be null in /v1/google/ad for the same ad, so keep the list date rather than overwriting it with a null detail date. Setting get_ad_details=true uses the individual-ad source, which can also omit firstShown, and costs 25 credits per request. Login-only ads are unavailable. Set to true to get the ad details. Will cost 25 credits.
Google Search
Performs a Google search and returns organic results with url, title, and description for each result. Supports an optional region parameter (2-letter country code) to get localized results from a specific country. Pages 1 through 11 are supported; requests for page 12 or greater return a 400 response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Google Search API View Pricing Search Google 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Instagram Get Reels By Audio Id
Fetches the reels Instagram exposes for an audio page like instagram.com/reels/audio/{audio_id}/. Pass the audio_id from that URL. Use cursor from the previous response to request the next page when Instagram returns one. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Get Reels By Audio Id API View Pricing Get public reels associated with an Instagram audio ID. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Instagram Basic Profile
Fetches a lightweight Instagram profile summary by user ID, returning username, full name, biography, profile picture URL, verification status, follower count, following count, media count, and account privacy and type. Ideal for quick lookups or enrichment when you already have the numeric user ID. Use this when speed matters and you do not need posts. It skips the post-fetching and enrichment calls made by [Profile](https://docs.scrapecreators.com/v1/instagram/profile), so it is usually faster. Response times can vary. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Basic Profile API View Pricing Get profile details without posts using a numeric userId. Usually faster than Profile. 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Instagram Transcript
Generates AI speech-to-text for an Instagram video post or reel. Returns a transcripts array containing each video's id, shortcode, and text; no speech can produce null entries. Each result also includes transcripts[].transcript_with_timestamp: an array of {start: number, end: number, text: string} sentence/phrase segments, or null when speech or timing is unavailable. Times are seconds relative to each individual video, not the combined carousel. AI timings are approximate, not word-perfect. The existing text remains plain text. No new parameter is required, and pricing is unchanged. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. For carousels, default pricing stays flat 1 credit per request. With allow_long_transcription=true, sum 10 * ceil(duration_seconds / 60) for each successfully transcribed video, rather than rounding the combined duration; images and empty video transcripts have no AI fee. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Transcript API View Pricing Get AI transcripts with timestamp segments for videos in an Instagram post or reel. Long videos may time out. AI up to 2 minutes: 1 credit. Paid mode: 10 credits/minute, rounded up, even for short videos. No transcript: 0 credits. Generates AI speech-to-text for an Instagram video post or reel. Returns a transcripts array containing each video's id, shortcode, and text; no speech can produce null entries. Each result also includes transcripts[].transcript_with_timestamp: an array of {start: number, end: number, text: string} sentence/phrase segments, or null when speech or timing is unavailable. Times are seconds relative to each individual video, not the combined carousel. AI timings are approximate, not word-perfect. The existing text remains plain text. No new parameter is required, and pricing is unchanged. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. For carousels, default pricing stays flat 1 credit per request. With allow_long_transcription=true, sum 10 * ceil(duration_seconds / 60) for each successfully transcribed video, rather than rounding the combined duration; images and empty video transcripts have no AI fee. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (By default, successful AI up to 120 seconds costs a flat 1 credit per request; over 120 seconds requires allow_long_transcription=true, which bills ALL successful AI at 10 credits per started minute, including short videos; empty AI results and errors cost 0 credits). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Instagram Comment Replies
Retrieves the public replies to a specific Instagram comment. Pass the post or reel URL and the parent comment's `id` from the Comments endpoint. Returns reply text, timestamps, engagement counts, parent comment ID, and user details. Paginate with `cursor` when `has_more` is true. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Comment Replies API View Pricing Get replies to an Instagram comment. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Instagram Comments
Retrieves comments on a public Instagram post or reel. Each comment includes the comment text, creation timestamp, reply count when Instagram provides it, and commenter details such as username, user ID, verification status, and profile picture URL. `child_comment_count` can be null when Instagram does not expose the count publicly. Set `include_replies=true` to fetch the first page of replies for every returned comment. This adds `replies`, `replies_cursor`, and `has_more_replies` to each comment. Successful pages with `comments: []` cost 0 credits, even with `include_replies=true`. Pages with comments cost 1 credit, or 15 credits with `include_replies=true`, even if no replies are returned. Errors are not charged. This option is much slower than a normal comments request and may time out at 29 seconds. Supports cursor-based pagination to load additional comment pages. You should expect ~90% success rate. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Comments API View Pricing Get post or reel comments; expect about 90% success. Pages with comments cost 1 credit, or 15 with include_replies=true. Empty pages and errors cost 0 credits. 1 credit per request Retrieves comments on a public Instagram post or reel. Each comment includes the comment text, creation timestamp, reply count when Instagram provides it, and commenter details such as username, user ID, verification status, and profile picture URL. `child_comment_count` can be null when Instagram does not expose the count publicly. Set `include_replies=true` to fetch the first page of replies for every returned comment. This adds `replies`, `replies_cursor`, and `has_more_replies` to each comment. Successful pages with `comments: []` cost 0 credits, even with `include_replies=true`. Pages with comments cost 1 credit, or 15 credits with `include_replies=true`, even if no replies are returned. Errors are not charged. This option is much slower than a normal comments request and may time out at 29 seconds. Supports cursor-based pagination to load additional comment pages. You should expect ~90% success rate. Set to true to include replies for every returned comment. Costs 15 credits when comments are returned, even if no replies are found; successful pages with no comments cost 0 credits. This is much slower and may time out at 29 seconds. Comments returned: 1 credit normally, 15 total with include_replies=true even without replies. Empty pages and errors 0.
Instagram Post/Reel Info
Fetches detailed metadata for a single Instagram post or reel by shortcode or URL. Returns caption text, like count, comment count, video URL, video play count, video duration, display images, owner info, tagged users, carousel sidecar children when applicable, and the published time in `data.xdt_shortcode_media.created_at` as an ISO 8601 UTC date. The original Unix timestamp remains available in `data.xdt_shortcode_media.taken_at_timestamp`. Play counts are Instagram-only views and exclude cross-posted Facebook views. Set `include_play_count=false` to omit the play count and skip its additional fetch for a faster response. Play counts can sometimes be inaccurate. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Post/Reel Info API View Pricing Get public post or reel details. Play counts may be inaccurate and exclude Facebook views. 1 credit per request Set to true to download the video/images and get back permanent Supabase URLs. Costs 10 credits if media is found, 1 credit otherwise. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Instagram Posts
Returns a paginated feed of a user's public Instagram posts, including reels, photos, videos, and carousels. Each item includes media type, shortcode, caption text, like count, comment count, play count, video URLs, image URLs, tagged users, and the published time in `items[].created_at` as an ISO 8601 UTC date. When supplied by Instagram, the media-level `fbid` is also returned. The original Unix timestamp remains available in `items[].taken_at`. Play counts reflect Instagram-only views and exclude cross-posted Facebook views. Supports cursor-based pagination via next_max_id for scrolling through the full timeline. ### Profile access errors These confirmed handle-resolution states on /v1/instagram/user/posts and /v2/instagram/user/posts return success=true even with HTTP 403/404. A confirmed state is a completed lookup, not a scraper failure. This approved boolean correction does not change status codes, messages, fields, or zero-credit billing. Actual retrieval failures remain success=false. Preserve each endpoint's response contract; see the [response-contract changelog](/#response-contract-changelog). A confirmed age gate returns HTTP 403 and zero credits. Unlike /v1/instagram/profile, these routes do not include age_restricted, handle, or userId in this error response: ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "error": "forbidden", "errorStatus": 403, "message": "Profile is age restricted" } ``` An explicit restricted-profile error returns HTTP 404 and zero credits, with the exact message Profile is private: ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "error": "not_found", "errorStatus": 404, "message": "Profile is private" } ``` An explicitly confirmed unavailable profile returns HTTP 404 and zero credits: ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "error": "not_found", "errorStatus": 404, "message": "Profile is unavailable on Instagram" } ``` These are the explicit handle-resolution error branches, not a blanket description of every historical 404 fallback. The v2 route also retains legacy success=true HTTP-404 bodies (Posts not found, Account doesn't exist, or Profile is restricted). They differ in fields and legacy behavior from the explicit confirmed-state responses above; success=true alone does not distinguish them. No age-vs-region reason field is exposed. A generic login prompt does not establish age gating, and unavailability does not prove deletion. /v1/instagram/post and /v1/tiktok/profile have separate error contracts. Play counts can sometimes be inaccurate. Access-response examples distinguish confirmed age gates, restrictions, and unavailable profiles; existing legacy responses are retained. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Posts API View Pricing Get public posts and reels with pagination. Play counts may be inaccurate and exclude Facebook views. Check access-response messages, not just HTTP status. 1 credit per request Returns a paginated feed of a user's public Instagram posts, including reels, photos, videos, and carousels. Each item includes media type, shortcode, caption text, like count, comment count, play count, video URLs, image URLs, tagged users, and the published time in `items[].created_at` as an ISO 8601 UTC date. When supplied by Instagram, the media-level `fbid` is also returned. The original Unix timestamp remains available in `items[].taken_at`. Play counts reflect Instagram-only views and exclude cross-posted Facebook views. Supports cursor-based pagination via next_max_id for scrolling through the full timeline. ### Profile access errors These confirmed handle-resolution states on /v1/instagram/user/posts and /v2/instagram/user/posts return success=true even with HTTP 403/404. A confirmed state is a completed lookup, not a scraper failure. This approved boolean correction does not change status codes, messages, fields, or zero-credit billing. Actual retrieval failures remain success=false. Preserve each endpoint's response contract; see the [response-contract changelog](/#response-contract-changelog). A confirmed age gate returns HTTP 403 and zero credits. Unlike /v1/instagram/profile, these routes do not include age_restricted, handle, or userId in this error response: ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "error": "forbidden", "errorStatus": 403, "message": "Profile is age restricted" } ``` An explicit restricted-profile error returns HTTP 404 and zero credits, with the exact message Profile is private: ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "error": "not_found", "errorStatus": 404, "message": "Profile is private" } ``` An explicitly confirmed unavailable profile returns HTTP 404 and zero credits: ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "error": "not_found", "errorStatus": 404, "message": "Profile is unavailable on Instagram" } ``` These are the explicit handle-resolution error branches, not a blanket description of every historical 404 fallback. The v2 route also retains legacy success=true HTTP-404 bodies (Posts not found, Account doesn't exist, or Profile is restricted). They differ in fields and legacy behavior from the explicit confirmed-state responses above; success=true alone does not distinguish them. No age-vs-region reason field is exposed. A generic login prompt does not establish age gating, and unavailability does not prove deletion. /v1/instagram/post and /v1/tiktok/profile have separate error contracts. Play counts can sometimes be inaccurate. Access-response examples distinguish confirmed age gates, restrictions, and unavailable profiles; existing legacy responses are retained. Only the literal query value 'true' enables this check. It requires play_count on each returned video post; a real 0 is valid. It does not require ig_play_count or view counts, or counts on photos. If a required play_count is missing or null, the request returns an error without charging credits instead of a paid partial success. With the default false, counts remain best-effort: usable posts are still billable even with missing play counts. Retrying does not guarantee that Instagram will return the missing counts. [Why counts can be missing](https://scrapecreators.com/blog/instagram-play-counts-missing).
Instagram Profile
After recent Instagram changes, fetching creator metadata and posts requires several requests to Instagram, so this endpoint can be slower. If you only need profile details without posts, use [Basic Profile](https://docs.scrapecreators.com/v1/instagram/basic-profile) with the numeric userId for a usually faster lookup. Retrieves comprehensive public Instagram profile information including biography, bio links, follower and following counts, verification status, and profile picture URLs. Private profiles also return all available public profile metadata through the same existing data.user mapper: ID, username, full name, biography and bio links/entities, website/linkshim, standard/HD profile photos, verification, business/professional/category information, public contact fields when Instagram returns them, and counts, without exposing private posts. The response and unchanged status, success, error, message, and billing rules are described below. Also returns recent timeline posts with engagement metrics such as likes, comments, and video view counts, plus a list of related profiles. Useful for account overview, audience analysis, or discovering similar creators. Instagram does not expose reliable pinned-post metadata through this public source, so do not infer pins from returned order. Video play counts are separate from video view counts. Profile-pinned videos may have video_play_count=null when their count is not found in a short recent-Reels scan; available pinned counts are kept and non-pinned videos require numeric plays. Use /v1/instagram/post with an individual post or reel URL for a deeper play-count lookup. Instagram may return media_count as null or return only the current post batch in edge_owner_to_timeline_media.count. Use Profile Post Count when you specifically need the total number of posts. An explicit rendered age gate (for example, You must be 21 years old or over to see this profile. Log in to continue.) returns HTTP 403, success=true, age_restricted=true, error=forbidden, errorStatus=403, and message=Profile is age restricted, without charging credits. This means Instagram identified an existing profile but requires an age-verified login to view it; we do not bypass the gate. It applies to GET, trimmed GET, and POST handle requests. The age_restricted field is omitted when age gating has not been explicitly confirmed; its absence is not proof that the account has no age limit. For GET handle requests, Profile is private means Instagram returned is_private=true. Account doesn't exist means the handle lookup returned no matching account, not confirmed deletion. The historical Profile is restricted placeholder was used for reported content with no public timeline items. Its handler compatibility branch remains, but the current metadata-first pipeline no longer infers restriction from an empty timeline alone; it retains matching metadata as a partial HTTP 200. These placeholders return HTTP 200, success=true, error=not_found, errorStatus=404, and userId=null, and cost one credit. An explicitly rendered generic audience restriction returns HTTP 404 with Profile is restricted and zero credits charged; it does not confirm an age limit. Profile is unavailable on Instagram also returns an uncharged HTTP 404 and does not identify privacy, deletion, or age gating. HTTP 500 with Shoot, IG is blocking us. Try again and it should work. is an uncharged upstream failure, not a confirmed account restriction. Do not label generic login prompts or unavailable responses as age-restricted. ### Profile access response contract The confirmed-state success flag is intentionally restored to true: success means we determined the profile state, not that the profile exists or its content is publicly retrievable. HTTP 403/404 and zero-credit billing remain unchanged. Actual retrieval failures remain success=false. HTTP status, JSON field names/types, error values, message values, and credit behavior are compatibility-sensitive. We preserve them on existing endpoint versions; incompatible changes require an explicitly versioned contract and advance notice. See the [response-contract changelog](/#response-contract-changelog). **Confirmed age gate — HTTP 403, zero credits.** For this profile endpoint, branch on errorStatus === 403 && age_restricted === true. The flag means Instagram explicitly rendered an age-verification gate, not a generic login prompt. It is omitted otherwise; omission does not mean false. It does not identify country/region restrictions. ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "handle": "example_profile", "userId": null, "age_restricted": true, "error": "forbidden", "errorStatus": 403, "message": "Profile is age restricted" } ``` **Explicit audience restriction — HTTP 404, zero credits.** This is different from an age gate and from an unavailable profile. There is currently no structured age/region reason field for this case: use HTTP 404, error=not_found, and the exact message below. Do not invent a reason or treat every 404 as a deleted account. ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "handle": "example_profile", "userId": null, "error": "not_found", "errorStatus": 404, "message": "Profile is restricted" } ``` **Confirmed unavailable page — HTTP 404, zero credits.** Instagram reports the profile as unavailable. This does not establish whether it was deleted, renamed, suspended, or hidden. This response intentionally has no handle, userId, or age_restricted field. ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "error": "not_found", "errorStatus": 404, "message": "Profile is unavailable on Instagram" } ``` **Legacy GET placeholders — HTTP 200, one credit.** These still exist. A JSON errorStatus of 404 is not the HTTP status. HTTP 200 and success=true alone do not prove usable profile data. The three legacy messages are preserved exactly: **Private profile public metadata.** Private profiles return all available public profile metadata through the existing data.user shape: ID, username, full name, biography, bio links/entities, external website/linkshim, standard/HD profile photos, verification, privacy, business/professional/category information, public contact fields when Instagram returns them, and counts. Full GET and POST handle requests use the complete existing public-profile user mapper; its fields and defaults remain unchanged except that unknown or unusable private follower/following counts are null, while a real 0 is preserved. The count paths remain data.user.edge_followed_by.count (followers) and data.user.edge_follow.count (following). GET trim=true uses the existing public-profile trim field list, retaining name, biography, bio links/entities, external_url, profile photos, privacy/verification, business/professional flags, category_name, business_address_json, and counts. Full-only fields such as external_url_linkshimmed, business_email, and business_phone_number are omitted from trimmed GET. POST handle requests ignore trim and return the full mapped user, as before. Full metadata means all mapped profile fields, not raw Instagram internals, private posts, or an age-gate bypass. Public contact information is not guaranteed; unavailable values keep the public mapper's existing defaults. Age-restricted responses are unchanged. Every preexisting top-level field is retained: HTTP 200, userId=null, error=not_found, errorStatus=404, message=Profile is private, and the one-credit charge stay unchanged. POST handle requests keep success=false instead of GET's success=true. The example below shows representative metadata fields, not the exhaustive full mapper output or the trimmed field set. The ID, name, links, photos, handle, and credit balance are synthetic; the counts 560 and 4675 are illustrative and can change. Private GET response (representative full-response metadata): ```json { "success": true, "credits_remaining": 99, "credits_charged": 1, "handle": "example_profile", "userId": null, "error": "not_found", "errorStatus": 404, "message": "Profile is private", "data": { "user": { "id": "12345", "username": "example_profile", "full_name": "Example Profile", "biography": "An example profile. https://example.org/", "bio_links": [ { "title": "Website", "url": "https://example.org/", "lynx_url": "https://example.org/linkshim", "link_type": "external" } ], "fb_profile_biolink": null, "biography_with_entities": { "raw_text": "An example profile. https://example.org/", "entities": [] }, "external_url": "https://example.org/", "external_url_linkshimmed": "https://example.org/linkshim", "profile_pic_url": "https://example.org/profile.jpg", "profile_pic_url_hd": "https://example.org/profile-hd.jpg", "is_verified": false, "is_business_account": false, "is_professional_account": false, "category_name": null, "business_category_name": null, "overall_category_name": null, "category_enum": null, "business_address_json": {}, "business_contact_method": "UNKNOWN", "business_email": null, "business_phone_number": null, "should_show_category": false, "should_show_public_contacts": false, "is_private": true, "edge_followed_by": { "count": 560 }, "edge_follow": { "count": 4675 } } } } ``` Historical restricted-result compatibility branch (not the current empty-timeline policy): ```json { "success": true, "credits_remaining": 99, "credits_charged": 1, "handle": "example_profile", "userId": null, "error": "not_found", "errorStatus": 404, "message": "Profile is restricted" } ``` No matching account from the handle lookup (not proof of deletion): ```json { "success": true, "credits_remaining": 99, "credits_charged": 1, "handle": "example_profile", "userId": null, "error": "not_found", "errorStatus": 404, "message": "Account doesn't exist" } ``` These legacy handler branches are retained, but the active metadata-first pipeline no longer emits the heuristic restricted result merely because the timeline is empty; it returns useful matching metadata as a partial HTTP 200 instead. GET trim=true retains the same state-envelope rules. POST handle requests retain a historical difference: these HTTP-200 placeholders have success=false instead of true; they still cost one credit. The POST restricted-placeholder condition is data.user === null, while GET uses userId === null. The explicit 403/404 responses above apply to both methods. A flag-only legacy restricted scraper result is different again: POST can pass through success=true, handle, userId=null, message=Profile is restricted, and isRestricted=true without error/errorStatus. Legacy POST userId requests use a separate compatibility path and are not covered by the handle contract. **Endpoint scope.** /v1/instagram/user/posts and /v2/instagram/user/posts also return the uncharged 403 forbidden age-gate message, but do not include age_restricted, handle, or userId in that error body. Their explicit restricted-profile 404 says Profile is private, not Profile is restricted. Do not copy this profile endpoint's envelope to /v1/instagram/post or /v1/tiktok/profile; those contracts are separate. Ambiguous upstream failures are not evidence of a missing or restricted account. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Profile API View Pricing Get public profile details, recent posts, and related accounts. Private profiles return public details only. Pinned-post metadata is not reliably available; returned order does not identify pins. 1 credit per request After recent Instagram changes, fetching creator metadata and posts requires several requests to Instagram, so this endpoint can be slower. If you only need profile details without posts, use [Basic Profile](https://docs.scrapecreators.com/v1/instagram/basic-profile) with the numeric userId for a usually faster lookup. Retrieves comprehensive public Instagram profile information including biography, bio links, follower and following counts, verification status, and profile picture URLs. Private profiles also return all available public profile metadata through the same existing data.user mapper: ID, username, full name, biography and bio links/entities, website/linkshim, standard/HD profile photos, verification, business/professional/category information, public contact fields when Instagram returns them, and counts, without exposing private posts. The response and unchanged status, success, error, message, and billing rules are described below. Also returns recent timeline posts with engagement metrics such as likes, comments, and video view counts, plus a list of related profiles. Useful for account overview, audience analysis, or discovering similar creators. Instagram does not expose reliable pinned-post metadata through this public source, so do not infer pins from returned order. Video play counts are separate from video view counts. Profile-pinned videos may have video_play_count=null when their count is not found in a short recent-Reels scan; available pinned counts are kept and non-pinned videos require numeric plays. Use /v1/instagram/post with an individual post or reel URL for a deeper play-count lookup. Instagram may return media_count as null or return only the current post batch in edge_owner_to_timeline_media.count. Use Profile Post Count when you specifically need the total number of posts. An explicit rendered age gate (for example, You must be 21 years old or over to see this profile. Log in to continue.) returns HTTP 403, success=true, age_restricted=true, error=forbidden, errorStatus=403, and message=Profile is age restricted, without charging credits. This means Instagram identified an existing profile but requires an age-verified login to view it; we do not bypass the gate. It applies to GET, trimmed GET, and POST handle requests. The age_restricted field is omitted when age gating has not been explicitly confirmed; its absence is not proof that the account has no age limit. For GET handle requests, Profile is private means Instagram returned is_private=true. Account doesn't exist means the handle lookup returned no matching account, not confirmed deletion. The historical Profile is restricted placeholder was used for reported content with no public timeline items. Its handler compatibility branch remains, but the current metadata-first pipeline no longer infers restriction from an empty timeline alone; it retains matching metadata as a partial HTTP 200. These placeholders return HTTP 200, success=true, error=not_found, errorStatus=404, and userId=null, and cost one credit. An explicitly rendered generic audience restriction returns HTTP 404 with Profile is restricted and zero credits charged; it does not confirm an age limit. Profile is unavailable on Instagram also returns an uncharged HTTP 404 and does not identify privacy, deletion, or age gating. HTTP 500 with Shoot, IG is blocking us. Try again and it should work. is an uncharged upstream failure, not a confirmed account restriction. Do not label generic login prompts or unavailable responses as age-restricted. ### Profile access response contract The confirmed-state success flag is intentionally restored to true: success means we determined the profile state, not that the profile exists or its content is publicly retrievable. HTTP 403/404 and zero-credit billing remain unchanged. Actual retrieval failures remain success=false. HTTP status, JSON field names/types, error values, message values, and credit behavior are compatibility-sensitive. We preserve them on existing endpoint versions; incompatible changes require an explicitly versioned contract and advance notice. See the [response-contract changelog](/#response-contract-changelog). **Confirmed age gate — HTTP 403, zero credits.** For this profile endpoint, branch on errorStatus === 403 && age_restricted === true. The flag means Instagram explicitly rendered an age-verification gate, not a generic login prompt. It is omitted otherwise; omission does not mean false. It does not identify country/region restrictions. ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "handle": "example_profile", "userId": null, "age_restricted": true, "error": "forbidden", "errorStatus": 403, "message": "Profile is age restricted" } ``` **Explicit audience restriction — HTTP 404, zero credits.** This is different from an age gate and from an unavailable profile. There is currently no structured age/region reason field for this case: use HTTP 404, error=not_found, and the exact message below. Do not invent a reason or treat every 404 as a deleted account. ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "handle": "example_profile", "userId": null, "error": "not_found", "errorStatus": 404, "message": "Profile is restricted" } ``` **Confirmed unavailable page — HTTP 404, zero credits.** Instagram reports the profile as unavailable. This does not establish whether it was deleted, renamed, suspended, or hidden. This response intentionally has no handle, userId, or age_restricted field. ```json { "success": true, "credits_remaining": 100, "credits_charged": 0, "error": "not_found", "errorStatus": 404, "message": "Profile is unavailable on Instagram" } ``` **Legacy GET placeholders — HTTP 200, one credit.** These still exist. A JSON errorStatus of 404 is not the HTTP status. HTTP 200 and success=true alone do not prove usable profile data. The three legacy messages are preserved exactly: **Private profile public metadata.** Private profiles return all available public profile metadata through the existing data.user shape: ID, username, full name, biography, bio links/entities, external website/linkshim, standard/HD profile photos, verification, privacy, business/professional/category information, public contact fields when Instagram returns them, and counts. Full GET and POST handle requests use the complete existing public-profile user mapper; its fields and defaults remain unchanged except that unknown or unusable private follower/following counts are null, while a real 0 is preserved. The count paths remain data.user.edge_followed_by.count (followers) and data.user.edge_follow.count (following). GET trim=true uses the existing public-profile trim field list, retaining name, biography, bio links/entities, external_url, profile photos, privacy/verification, business/professional flags, category_name, business_address_json, and counts. Full-only fields such as external_url_linkshimmed, business_email, and business_phone_number are omitted from trimmed GET. POST handle requests ignore trim and return the full mapped user, as before. Full metadata means all mapped profile fields, not raw Instagram internals, private posts, or an age-gate bypass. Public contact information is not guaranteed; unavailable values keep the public mapper's existing defaults. Age-restricted responses are unchanged. Every preexisting top-level field is retained: HTTP 200, userId=null, error=not_found, errorStatus=404, message=Profile is private, and the one-credit charge stay unchanged. POST handle requests keep success=false instead of GET's success=true. The example below shows representative metadata fields, not the exhaustive full mapper output or the trimmed field set. The ID, name, links, photos, handle, and credit balance are synthetic; the counts 560 and 4675 are illustrative and can change. Private GET response (representative full-response metadata): ```json { "success": true, "credits_remaining": 99, "credits_charged": 1, "handle": "example_profile", "userId": null, "error": "not_found", "errorStatus": 404, "message": "Profile is private", "data": { "user": { "id": "12345", "username": "example_profile", "full_name": "Example Profile", "biography": "An example profile. https://example.org/", "bio_links": [ { "title": "Website", "url": "https://example.org/", "lynx_url": "https://example.org/linkshim", "link_type": "external" } ], "fb_profile_biolink": null, "biography_with_entities": { "raw_text": "An example profile. https://example.org/", "entities": [] }, "external_url": "https://example.org/", "external_url_linkshimmed": "https://example.org/linkshim", "profile_pic_url": "https://example.org/profile.jpg", "profile_pic_url_hd": "https://example.org/profile-hd.jpg", "is_verified": false, "is_business_account": false, "is_professional_account": false, "category_name": null, "business_category_name": null, "overall_category_name": null, "category_enum": null, "business_address_json": {}, "business_contact_method": "UNKNOWN", "business_email": null, "business_phone_number": null, "should_show_category": false, "should_show_public_contacts": false, "is_private": true, "edge_followed_by": { "count": 560 }, "edge_follow": { "count": 4675 } } } } ``` Historical restricted-result compatibility branch (not the current empty-timeline policy): ```json { "success": true, "credits_remaining": 99, "credits_charged": 1, "handle": "example_profile", "userId": null, "error": "not_found", "errorStatus": 404, "message": "Profile is restricted" } ``` No matching account from the handle lookup (not proof of deletion): ```json { "success": true, "credits_remaining": 99, "credits_charged": 1, "handle": "example_profile", "userId": null, "error": "not_found", "errorStatus": 404, "message": "Account doesn't exist" } ``` These legacy handler branches are retained, but the active metadata-first pipeline no longer emits the heuristic restricted result merely because the timeline is empty; it returns useful matching metadata as a partial HTTP 200 instead. GET trim=true retains the same state-envelope rules. POST handle requests retain a historical difference: these HTTP-200 placeholders have success=false instead of true; they still cost one credit. The POST restricted-placeholder condition is data.user === null, while GET uses userId === null. The explicit 403/404 responses above apply to both methods. A flag-only legacy restricted scraper result is different again: POST can pass through success=true, handle, userId=null, message=Profile is restricted, and isRestricted=true without error/errorStatus. Legacy POST userId requests use a separate compatibility path and are not covered by the handle contract. **Endpoint scope.** /v1/instagram/user/posts and /v2/instagram/user/posts also return the uncharged 403 forbidden age-gate message, but do not include age_restricted, handle, or userId in that error body. Their explicit restricted-profile 404 says Profile is private, not Profile is restricted. Do not copy this profile endpoint's envelope to /v1/instagram/post or /v1/tiktok/profile; those contracts are separate. Ambiguous upstream failures are not evidence of a missing or restricted account. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Instagram Profile Post Count
Returns the post count shown on a public Instagram profile. Use this endpoint when Profile returns media_count as null or edge_owner_to_timeline_media.count contains only the current batch size. This endpoint makes a separate Instagram profile-page request so it does not add latency to the main Profile endpoint. Full values such as 12,345 Posts return the exact integer with is_estimated set to false. For profiles with more than 10,000 posts, Instagram may expose only a compact value such as 12K Posts or 1.2M Posts. Set allow_estimated=true to return the scaled integer with is_estimated set to true. Estimated counts are opt-in: when allow_estimated is omitted or false, the endpoint returns an uncharged 422 response explaining that exact precision is unavailable. If Instagram omits the count entirely, the endpoint returns an error without deducting a credit. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Profile Post Count API View Pricing Get a profile's post count. Estimates require allow_estimated=true; otherwise estimate-only results return an uncharged 422. 1 credit per request Returns the post count shown on a public Instagram profile. Use this endpoint when Profile returns media_count as null or edge_owner_to_timeline_media.count contains only the current batch size. This endpoint makes a separate Instagram profile-page request so it does not add latency to the main Profile endpoint. Full values such as 12,345 Posts return the exact integer with is_estimated set to false. For profiles with more than 10,000 posts, Instagram may expose only a compact value such as 12K Posts or 1.2M Posts. Set allow_estimated=true to return the scaled integer with is_estimated set to true. Estimated counts are opt-in: when allow_estimated is omitted or false, the endpoint returns an uncharged 422 response explaining that exact precision is unavailable. If Instagram omits the count entirely, the endpoint returns an error without deducting a credit.
Instagram Search Reels
Use this when you only want Google-indexed Instagram reels matching a keyword or phrase, with optional date filters and pagination. It returns reel media, engagement, owner, location, and audio details. Results are best-effort rather than a complete Instagram-native search. For Instagram-curated topic posts, use /v1/instagram/search/popular. For an exact hashtag across posts and reels, use /v1/instagram/search/hashtag. Pages 1 through 11 are supported; page 12 or greater returns a 400 response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Search Reels API View Pricing Find Google-indexed reels by keyword, with date filters and pagination. Results are best-effort, not a complete Instagram search. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Instagram Trending Reels
Discovers reels through Instagram's public Popular pages and current featured topics, with pagination handled internally. Each reel's actual publication timestamp is checked: posts older than seven days, posts with unavailable dates, and unavailable posts are excluded. Results are deduplicated within each response and ordered by available play counts. This is recent popular-Reels discovery, not Instagram's official global trending ranking or a measure of view growth. Returns up to 12 reels, and repeated calls can overlap. Returns `reels` with shortcode, URL, caption, publication date, media URLs, available engagement counts, and user info. Missing engagement counts may be null. Successful requests cost one credit; if Instagram supplies too few verified recent reels, the endpoint returns an uncharged 503 rather than including older posts. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Trending Reels API View Pricing Get popular reels from the last seven days, not an official global ranking. Results can repeat across calls; too few verified recent reels cause an uncharged 503. 1 credit per request Discovers reels through Instagram's public Popular pages and current featured topics, with pagination handled internally. Each reel's actual publication timestamp is checked: posts older than seven days, posts with unavailable dates, and unavailable posts are excluded. Results are deduplicated within each response and ordered by available play counts. This is recent popular-Reels discovery, not Instagram's official global trending ranking or a measure of view growth. Returns up to 12 reels, and repeated calls can overlap. Returns `reels` with shortcode, URL, caption, publication date, media URLs, available engagement counts, and user info. Missing engagement counts may be null. Successful requests cost one credit; if Instagram supplies too few verified recent reels, the endpoint returns an uncharged 503 rather than including older posts.
Instagram Search Instagram
Use this for Instagram-native account, hashtag, or place lookup. It returns ranked users, hashtags, places, and keyword suggestions from Instagram itself. It is not Google-indexed, does not require an Instagram login, returns one page only, and does not return posts. For an Instagram-curated topic page with posts, use /v1/instagram/search/popular. For the same native account results in a profile-only response, use /v1/instagram/search/profiles. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Search Instagram API View Pricing Find users, hashtags, and places with Instagram search. Returns one page, without posts. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Instagram Search Hashtag Posts
Use this when you know the exact hashtag and want Google-indexed public Instagram posts or reels, optional date filters, and pagination. It returns post details such as caption, engagement, owner, and post time. Results are best-effort and not a complete Instagram-native hashtag feed. For an Instagram-curated topic page with generated context and suggested terms, use /v1/instagram/search/popular. Pass media_type=reels to only return reels. Cursors are limited to pages 1 through 11; cursor 12 or greater returns a 400 response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Search Hashtag Posts API View Pricing Find Google-indexed public posts by exact hashtag, with date filters and pagination. Results are best-effort, not a complete hashtag feed. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Instagram Popular Search
Use this to explore an Instagram topic and the posts Instagram curates for it. It scrapes the public /popular/{query} page without requiring an Instagram login. The first page returns the topic title, numeric total media count, Instagram's generated description and sources, suggested terms, posts, and an opaque cursor. Pass that cursor with the same query to fetch more posts. Later pages return query, posts, cursor, and has_more only. For an exact hashtag through Google-indexed results, use /v1/instagram/search/hashtag. For reels only, use /v2/instagram/reels/search. Each successful request costs 1 credit. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Popular Search API View Pricing Explore an Instagram topic with its description, sources, suggested terms, media count, and paginated posts. 1 credit per request Use this to explore an Instagram topic and the posts Instagram curates for it. It scrapes the public /popular/{query} page without requiring an Instagram login. The first page returns the topic title, numeric total media count, Instagram's generated description and sources, suggested terms, posts, and an opaque cursor. Pass that cursor with the same query to fetch more posts. Later pages return query, posts, cursor, and has_more only. For an exact hashtag through Google-indexed results, use /v1/instagram/search/hashtag. For reels only, use /v2/instagram/reels/search. Each successful request costs 1 credit.
Instagram Search Instagram Profiles
Use this for Instagram-native profile lookup. It returns every account in Instagram's first ranked native result set, then performs bounded best-effort enrichment for the first 10 accounts to preserve the previous profile fields such as biography, bio links, account flags, and follower/following/media counts. Results after the first 10 retain native ID, username, full name, verification status, profile photo, and URL, while unavailable detail fields are null or empty. It does not search Google-indexed bios or captions, Google title/description fields are null, and pagination is not supported. For users, hashtags, places, and keyword suggestions together, use /v1/instagram/search. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Search Instagram Profiles API View Pricing Find ranked profiles with Instagram search, without Google. No pagination; extra details for the first 10 results are best-effort. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Instagram Embed HTML
Returns the raw HTML embed snippet for an Instagram user's profile widget. The response contains a single html string that can be inserted into a webpage to render an embeddable Instagram profile card. Requires the user's handle as input. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Embed HTML API View Pricing Get the HTML embed for an Instagram profile. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Instagram Highlights Details
Fetches the full contents of a specific Instagram story highlight album by its ID. Returns the highlight's cover image, title, user info, and an items array containing each story with its media type, image or video URLs, dimensions, timestamp, and sticker/interactive element data. Useful for archiving or analyzing individual highlight reels. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Highlights Details API View Pricing Get a story highlight's details and stories. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Instagram Story Highlights
Returns up to 10 story highlight albums visible on Instagram without signing in. This is the available logged-out list, not a guarantee of every highlight on the account. Pagination is not available. Each highlight includes its ID, title, cropped cover URL, and owner info with username and profile picture. The full-size cover_media.thumbnail_src field is null because Instagram does not supply it; use cover_media_cropped_thumbnail.url for the available cover image. Accepts either a user_id or handle; providing user_id yields faster responses. If Instagram explicitly blocks handle lookup, age restrictions return HTTP 403 with message 'Profile is age restricted'; restricted profiles return HTTP 404 with message 'Profile is restricted'; confirmed unavailable profiles return HTTP 404 with message 'Profile is unavailable on Instagram'. These responses keep success: true to indicate a confirmed profile state, include an error field, and charge no credits. Check the HTTP status and error field, not success alone. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Story Highlights API View Pricing Get up to 10 story highlights visible without signing in. No pagination. Cropped covers are available; full-size covers are null. 1 credit per request Returns up to 10 story highlight albums visible on Instagram without signing in. This is the available logged-out list, not a guarantee of every highlight on the account. Pagination is not available. Each highlight includes its ID, title, cropped cover URL, and owner info with username and profile picture. The full-size cover_media.thumbnail_src field is null because Instagram does not supply it; use cover_media_cropped_thumbnail.url for the available cover image. Accepts either a user_id or handle; providing user_id yields faster responses. If Instagram explicitly blocks handle lookup, age restrictions return HTTP 403 with message 'Profile is age restricted'; restricted profiles return HTTP 404 with message 'Profile is restricted'; confirmed unavailable profiles return HTTP 404 with message 'Profile is unavailable on Instagram'. These responses keep success: true to indicate a confirmed profile state, include an error field, and charge no credits. Check the HTTP status and error field, not success alone.
Instagram Reels
Returns a paginated list of a user's public Instagram reels (short-form videos). Each reel includes its shortcode, play count, like count, comment count, video versions with download URLs, thumbnail image, owner info, and the published time in `items[].media.created_at` as an ISO 8601 UTC date. With `trim=true`, use `items[].created_at`. The original Unix timestamp remains available as `taken_at`. Note that reel captions are not returned by this endpoint. Play counts are Instagram-only views and exclude cross-posted Facebook views. Supports cursor-based pagination via max_id; providing a user_id instead of a handle yields faster responses. Pinned reels are not included. Use the post detail endpoint to get reel captions. Play counts can sometimes be inaccurate. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram Reels API View Pricing Get public reels by user_id or handle. Pinned reels and captions are excluded. Play counts may be inaccurate and exclude Facebook views. Use Post for captions. 1 credit per request Only the literal query value 'true' enables this check. It requires a numeric, nonnegative play_count on every returned Reel, in both full responses (items[].media.play_count) and trim=true responses (items[].play_count); a real 0 is valid. A missing, null, nonnumeric or negative play_count returns HTTP 503 without charging credits instead of a paid partial success. It does not require ig_play_count or view counts. With the default false, counts remain best-effort: usable reels are still billable even with missing play counts. This checks presence and numeric validity; it does not guarantee count accuracy or agreement with Instagram Insights. Retrying does not guarantee that Instagram will return the missing counts. [Why counts can be missing](https://scrapecreators.com/blog/instagram-play-counts-missing).
Instagram User Tagged Posts
Returns up to 10 public posts per page from an Instagram user's Tagged tab. Each item is a flat post object with its shortcode, caption, media type, engagement counts, media URLs, and owner details. Keep passing the returned cursor to fetch additional pages until has_more is false. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Instagram User Tagged Posts API View Pricing Get public posts that tag an Instagram user. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Kick Clip
Fetches detailed data for a Kick clip by URL, including video, metadata, and channel info. Returns clip id, title, clip_url, thumbnail_url, video_url, view_count, likes_count, duration, privacy status, and is_mature flag. Also includes category details (name, slug), creator info (username), and channel info (username, profile_picture). Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Kick Clip API View Pricing Get Kick clip 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Kick Clip Transcript
Gets a transcript from a public Kick clip. Checks native captions first; returned native captions cost 1 credit. Set use_ai_as_fallback=true to opt into paid AI only when captions are unavailable. No transcript costs 0 credits. transcript_source is native, ai, or null. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Kick Clip Transcript API View Pricing Get native captions from a Kick clip. Enable use_ai_as_fallback for AI when captions are unavailable. Native captions or AI up to 2 minutes: 1 credit. Paid AI mode: 10 credits/minute, rounded up, even for short videos. No transcript: 0 credits. Gets a transcript from a public Kick clip. Checks native captions first; returned native captions cost 1 credit. Set use_ai_as_fallback=true to opt into paid AI only when captions are unavailable. No transcript costs 0 credits. transcript_source is native, ai, or null. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Use paid AI only when native captions are unavailable. Defaults to false. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Current official page: returned native captions or successful default AI up to 120 seconds cost 1; no transcript 0. AI fallback is separately enabled. With literal allow_long_transcription=true, all successful AI, including short, costs 10 per started minute; empty AI/errors have no AI fee.
Komi Komi page
Scrapes a Komi page by URL, extracting the creator's profile, social links, and featured content. Returns id, username, avatar, displayName, bio, and social accounts (instagram, tiktok, youtube, twitter, facebook, snapchat). Also includes links, an array of link and product objects each with id, url, title, type, thumbnail, and optional price and currency for products. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Komi Komi page API View Pricing Komi page 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Kwai Post
Fetches public Kwai post details including caption, media URLs, cover images, counts, author info, and music metadata. Uses Kwai's public web API endpoint, not HTML scraping. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Kwai Post API View Pricing Get public Kwai post details from a post URL. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Kwai Profile
Fetches public Kwai profile data including username, bio, avatar, verification status, gender, and public counts. Uses Kwai's public web API endpoint, not HTML scraping. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Kwai Profile API View Pricing Get public Kwai profile info from a handle or profile URL. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Kwai User Posts
Fetches a paginated list of public Kwai posts for a user, including captions, media URLs, covers, counts, author info, and the next cursor when more results are available. Uses Kwai's public web API endpoint, not HTML scraping. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Kwai User Posts API View Pricing Get public posts from a Kwai handle or profile URL. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Linkbio Linkbio page
Scrapes a Linkbio (lnk.bio) page by URL, extracting the creator's profile and all their links. Returns handle, id, social accounts (instagram, tiktok, youtube, twitter, whatsapp), email, website, and links — an array of link objects each with url and text. Contact fields come from the submitted public Linkbio page. To request removal of your own information from Scrape Creators results, email support@scrapecreators.com with the profile URL. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Linkbio Linkbio page API View Pricing Linkbio (lnk.bio) page 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
LinkedIn Ad Library Ad Details
Retrieves detailed information about a specific LinkedIn ad by URL. Returns id, description, headline, adType, advertiser, and targeting with language, location, and audience criteria. Also includes totalImpressions, impressionsByCountry, adDuration, startDate, and endDate. Date and impression fields are nullable when LinkedIn does not expose them on the public ad page. The existing image, video, organicVideo, preRollVideo, and carouselImages fields keep their previous values. paidForBy is the public paying entity when LinkedIn shows one, without the 'Paid for by' prefix. targetingTable lists the public targeting-category flags that LinkedIn shows; it does not expand a collapsed location summary into individual locations. imageSources and thumbnailSources list the creative-image and video-poster URLs LinkedIn supplies. videoSources lists native video renditions as { src, type, bitrate }; preRollVideoSources uses the same structure but contains only pre-roll ad video. type and bitrate are null when absent; bitrate is in bits per second. Choose the lowest positive bitrate for a smaller video download, rather than assuming source order ranks quality. All four source fields are arrays and are empty when unavailable. Document-cover previews are included in imageSources where available, including search fallback results. LinkedIn may expose only one image or thumbnail resolution; URLs are signed and should not be rewritten to guess smaller sizes. Search detail hydration is best-effort, so blocked or timed-out detail fetches can leave videoSources empty even for a video ad. No extra parameter or credit charge is required. adDuration is the ad availability date-range text, not video playback duration; it is an empty string with null startDate/endDate when LinkedIn does not publish the availability block. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. LinkedIn Ad Library Ad Details API View Pricing Get ad details and native media variants where available. LinkedIn may expose only one image or thumbnail size. 1 credit per request Retrieves detailed information about a specific LinkedIn ad by URL. Returns id, description, headline, adType, advertiser, and targeting with language, location, and audience criteria. Also includes totalImpressions, impressionsByCountry, adDuration, startDate, and endDate. Date and impression fields are nullable when LinkedIn does not expose them on the public ad page. The existing image, video, organicVideo, preRollVideo, and carouselImages fields keep their previous values. paidForBy is the public paying entity when LinkedIn shows one, without the 'Paid for by' prefix. targetingTable lists the public targeting-category flags that LinkedIn shows; it does not expand a collapsed location summary into individual locations. imageSources and thumbnailSources list the creative-image and video-poster URLs LinkedIn supplies. videoSources lists native video renditions as { src, type, bitrate }; preRollVideoSources uses the same structure but contains only pre-roll ad video. type and bitrate are null when absent; bitrate is in bits per second. Choose the lowest positive bitrate for a smaller video download, rather than assuming source order ranks quality. All four source fields are arrays and are empty when unavailable. Document-cover previews are included in imageSources where available, including search fallback results. LinkedIn may expose only one image or thumbnail resolution; URLs are signed and should not be rewritten to guess smaller sizes. Search detail hydration is best-effort, so blocked or timed-out detail fetches can leave videoSources empty even for a video ad. No extra parameter or credit charge is required. adDuration is the ad availability date-range text, not video playback duration; it is an empty string with null startDate/endDate when LinkedIn does not publish the availability block.
LinkedIn Ad Library Search Ads
Searches the LinkedIn Ad Library by company name, keyword, or companyId with optional country and date filters. Custom date filtering requires both startDate and endDate. LinkedIn accepts dates from the date one year ago through yesterday. Each ad includes id, description, headline, adType, advertiser, targeting details, image or video URLs, totalImpressions, and impressionsByCountry. Date and impression fields are nullable when LinkedIn does not expose them on the public ad page. Supports pagination via paginationToken. Search results keep a consistent field set when detail hydration fails, with null or empty defaults for unavailable fields. The existing image, video, organicVideo, preRollVideo, and carouselImages fields keep their previous values. paidForBy is the public paying entity when LinkedIn shows one, without the 'Paid for by' prefix. targetingTable lists the public targeting-category flags that LinkedIn shows; it does not expand a collapsed location summary into individual locations. imageSources and thumbnailSources list the creative-image and video-poster URLs LinkedIn supplies. videoSources lists native video renditions as { src, type, bitrate }; preRollVideoSources uses the same structure but contains only pre-roll ad video. type and bitrate are null when absent; bitrate is in bits per second. Choose the lowest positive bitrate for a smaller video download, rather than assuming source order ranks quality. All four source fields are arrays and are empty when unavailable. Document-cover previews are included in imageSources where available, including search fallback results. LinkedIn may expose only one image or thumbnail resolution; URLs are signed and should not be rewritten to guess smaller sizes. Search detail hydration is best-effort, so blocked or timed-out detail fetches can leave videoSources empty even for a video ad. No extra parameter or credit charge is required. adDuration is the ad availability date-range text, not video playback duration; it is an empty string with null startDate/endDate when LinkedIn does not publish the availability block. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. LinkedIn Ad Library Search Ads API View Pricing Search the LinkedIn Ad Library with native media variants where available. LinkedIn may expose only one image or thumbnail size. 1 credit per request Searches the LinkedIn Ad Library by company name, keyword, or companyId with optional country and date filters. Custom date filtering requires both startDate and endDate. LinkedIn accepts dates from the date one year ago through yesterday. Each ad includes id, description, headline, adType, advertiser, targeting details, image or video URLs, totalImpressions, and impressionsByCountry. Date and impression fields are nullable when LinkedIn does not expose them on the public ad page. Supports pagination via paginationToken. Search results keep a consistent field set when detail hydration fails, with null or empty defaults for unavailable fields. The existing image, video, organicVideo, preRollVideo, and carouselImages fields keep their previous values. paidForBy is the public paying entity when LinkedIn shows one, without the 'Paid for by' prefix. targetingTable lists the public targeting-category flags that LinkedIn shows; it does not expand a collapsed location summary into individual locations. imageSources and thumbnailSources list the creative-image and video-poster URLs LinkedIn supplies. videoSources lists native video renditions as { src, type, bitrate }; preRollVideoSources uses the same structure but contains only pre-roll ad video. type and bitrate are null when absent; bitrate is in bits per second. Choose the lowest positive bitrate for a smaller video download, rather than assuming source order ranks quality. All four source fields are arrays and are empty when unavailable. Document-cover previews are included in imageSources where available, including search fallback results. LinkedIn may expose only one image or thumbnail resolution; URLs are signed and should not be rewritten to guess smaller sizes. Search detail hydration is best-effort, so blocked or timed-out detail fetches can leave videoSources empty even for a video ad. No extra parameter or credit charge is required. adDuration is the ad availability date-range text, not video playback duration; it is an empty string with null startDate/endDate when LinkedIn does not publish the availability block.
LinkedIn Company Page
Fetches a LinkedIn company page with details including name, description, logo, cover image, slogan, location, headquarters, employee count (headcount/staff size), website, industry, company type, founded year, specialties, funding rounds with investors, featured employees, recent posts, and similar company pages. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. LinkedIn Company Page API View Pricing Get a LinkedIn company page 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
LinkedIn Company Posts
Retrieves paginated posts from a LinkedIn company or school page, including each post's URL, ID, publication date, and full text content. Accepts /company/ and /school/ URLs, such as https://www.linkedin.com/school/oxfordsbs/ for Oxford Saïd Business School. Supports page-based pagination up to a maximum of 7 pages due to a LinkedIn platform limitation. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. LinkedIn Company Posts API View Pricing Get LinkedIn company or school posts by /company/ or /school/ URL. Limited to 7 pages by LinkedIn. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
LinkedIn Post
Fetches a single LinkedIn post or article, returning the title, headline, full description text, author info with follower count, publication date, like count (reactions), comment count, and individual comments. For public feed posts, activityUrn and contentUrn expose LinkedIn's public activity and underlying share or ugcPost URNs when present; either can be null when LinkedIn does not expose it. Also includes related articles from the same author in moreArticles. Inline comments are only LinkedIn's public preview, not the full comment list; comment pagination is not available. Each comment includes nullable datePublished (the exact source timestamp, never estimated from age), publishedTimeAgo (how long ago the comment was published), urn (the full comment URN), id (the comment's numeric suffix as a string), and reactionCount (the source count, including 0). Pulse article previews may expose only age and identity, with null dates and reaction counts. These fields use the already-fetched page without additional upstream requests. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. LinkedIn Post API View Pricing Get a LinkedIn post or article. Comments are a public preview only, without comment pagination. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
LinkedIn Post Transcript
Fetches the transcript from a LinkedIn post video when LinkedIn exposes one publicly. Returns null with transcriptNotAvailable when the post has no transcript, and only deducts credits when a transcript is returned. Returned native captions cost 1 credit; empty transcripts and errors cost 0 credits. This endpoint does not use AI transcription. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. LinkedIn Post Transcript API View Pricing Get a LinkedIn post video's native transcript when available. 1 credit per request Fetches the transcript from a LinkedIn post video when LinkedIn exposes one publicly. Returns null with transcriptNotAvailable when the post has no transcript, and only deducts credits when a transcript is returned. Returned native captions cost 1 credit; empty transcripts and errors cost 0 credits. This endpoint does not use AI transcription.
LinkedIn Person's Profile
Retrieves a person's public LinkedIn profile data, including their name, photo, location, follower count (followers), about/bio summary, recent posts, work experience, education, articles, activity feed, publications, projects, recommendations, and similar profiles. Only returns publicly available information visible in an incognito browser. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. LinkedIn Person's Profile API View Pricing Get a public LinkedIn profile and recent posts as seen without login. Work history and job title are not publicly returned. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
LinkedIn Search Posts
Finds public LinkedIn posts, feed updates, and Pulse articles by keyword using Google Search, then returns post details such as description, author, media, images, like count, comment count, and published date when LinkedIn exposes them publicly. Results depend on what Google has indexed, so this is best-effort and not a complete LinkedIn-native search. Use date_posted for recent posts and pass the returned cursor to fetch the next page. Cursors are limited to pages 1 through 11; cursor 12 or greater returns a 400 response. Inline comments are only LinkedIn's public preview, not the full comment list; comment pagination is not available. Each comment includes nullable datePublished (the exact source timestamp, never estimated from age), publishedTimeAgo (how long ago the comment was published), urn (the full comment URN), id (the comment's numeric suffix as a string), and reactionCount (the source count, including 0). Pulse article previews may expose only age and identity, with null dates and reaction counts. These fields use the already-fetched page without additional upstream requests. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. LinkedIn Search Posts API View Pricing Search for public LinkedIn posts by keyword. Uses Google Search to find indexed posts, then scrapes the public LinkedIn pages. Comments are a public preview only, without comment pagination. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Linkme Profile
Retrieves a Linkme profile by URL, including identity, social links, and contact details. Returns profile with id, firstName, username, bio, profileVisitCount, profileImage, verifiedAccount, and isAmbassador flag. Also includes infoLinks (email addresses) and webLinks, an array of categorized social platform links (Spotify, Instagram, YouTube, Twitter, Facebook, and more) each with linkValue and faceValue. Contact fields come from the submitted public Linkme profile. To request removal of your own information from Scrape Creators results, email support@scrapecreators.com with the profile URL. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Linkme Profile API View Pricing Get Linkme profile info by URL 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Linktree Linktree page
Scrapes a Linktree page by URL, extracting the creator's profile and all their links. Returns id, username, profilePictureUrl, description, verticals, timezone, and links — an array of link objects each with id, type, title, and url. Also includes detected social accounts (instagram, tiktok, spotify, youtube, soundcloud, apple_music) and email_address. Contact fields come from the submitted public Linktree page. To request removal of your own information from Scrape Creators results, email support@scrapecreators.com with the profile URL. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Linktree Linktree page API View Pricing Linktree page 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Pinterest Board
Fetches a paginated list of pins from a Pinterest board by URL, returning each pin's id, description, title, images, board info, pin_join annotations, and aggregated_pin_data. Supports pagination via cursor and a trim option for lighter responses. With trim=true, retains pins[].aggregated_pin_data.aggregated_stats.saves and pins[].pin_join.visual_annotation when Pinterest supplies them; these native save counts and keyword labels are not guaranteed for every pin. Only these nested leaves are retained, not the full aggregated_pin_data or pin_join objects. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Pinterest Board API View Pricing Get pins from a Pinterest board. With trim=true, native save counts and keyword labels are retained when available. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Pinterest Pin
Fetches detailed information about a single Pinterest pin by URL, returning title, description, link, dominantColor, originPinner, pinner, images at multiple resolutions (imageSpec_236x through imageSpec_orig), and pinJoin with visual annotations. Supports a trim option for lighter responses. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Pinterest Pin API View Pricing Get Pinterest pin 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Pinterest Search
Searches Pinterest for pins matching a query, returning results with id, url, title, description, images, link, domain, board info, and pinner details. Supports pagination via cursor and a trim option for lighter responses. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Pinterest Search API View Pricing Search Pinterest 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Pinterest Topic
Retrieves a public Pinterest topic by its ideas URL, returning id, name, url, search_count, updated_at, and refinements in the normal success envelope. search_count is Pinterest's native internal_search_count; its aggregation period is unspecified, so it is not monthly search volume or a unique-person count. updated_at is Pinterest's update_time converted to ISO 8601 UTC, not the separate feed refresh time. search_count is a nonnegative integer and updated_at is a non-null ISO 8601 UTC string on success. Missing or invalid core count or timestamp metadata returns an uncharged 500 failure, not a success with null values. refinements contains the native ideas_klp_pivots chips as label, name, and absolute Pinterest url; [] means explicitly empty, while null means missing or malformed. Related-topic recommendations are not refinement chips. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Pinterest Topic API View Pricing Get a Pinterest topic's search-interest count, last-updated time, and refinement chips from its ideas URL. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Pinterest User Boards
Fetches a paginated list of boards for a Pinterest user, returning each board's name, url, description, pin_count, follower_count, owner info, cover_images, and created_at. Supports pagination via cursor and a trim option for lighter responses. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Pinterest User Boards API View Pricing Get a user's boards 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Reddit Post Comments
Retrieves comments and post details from a Reddit post by URL. Returns the post with title, author, score, ups, upvote_ratio, num_comments, and created_utc, plus a comments array where each comment includes author, body, body_html, score, created_utc, parent_id, permalink, and nested replies. Both GET and POST are supported. Use GET for normal requests. Pass one opaque cursor exactly as returned by more.cursor or replies.more.cursor to load the next page. Cursor batching and comma-separated cursor values are not supported. If an opaque cursor becomes too large after extensive pagination, use POST and send the same parameters in the JSON body. Supports cursor-based pagination for loading more comments and a trim parameter for lighter responses. Author flair fields are not available from this endpoint. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Reddit Post Comments API View Pricing Get Reddit post details and comments. Paginate with one opaque cursor; no cursor batching. For long cursors, use POST with the same JSON-body parameters. Author flair is unavailable. 1 credit per request GET /v1/reddit/post/comments Actual supplier units are reported per request. Examples are not guaranteed prices.
Reddit Post
Retrieves public Reddit post details by URL without fetching or returning comments. Returns the text post body in selftext when present, plus the title, author, subreddit, score, upvote ratio, comment count, timestamps, permalink, and post flags. Accepts canonical Reddit post URLs and Reddit mobile share URLs. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Reddit Post API View Pricing Get information from a Reddit post without comments 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Reddit Post Transcript
Gets the transcript from a Reddit video post or direct v.redd.it URL when Reddit exposes a VTT caption file. Returns the raw WebVTT in raw_vtt plus a parsed plain-text transcript. If Reddit does not expose captions for the video, transcript is null and transcriptNotAvailable is true. Returned native captions cost 1 credit; empty transcripts and errors cost 0 credits. This endpoint does not use AI transcription. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Reddit Post Transcript API View Pricing Get the transcript from a Reddit video post 1 credit per request Gets the transcript from a Reddit video post or direct v.redd.it URL when Reddit exposes a VTT caption file. Returns the raw WebVTT in raw_vtt plus a parsed plain-text transcript. If Reddit does not expose captions for the video, transcript is null and transcriptNotAvailable is true. Returned native captions cost 1 credit; empty transcripts and errors cost 0 credits. This endpoint does not use AI transcription. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Reddit Search
Searches across all of Reddit for posts or comments matching a query. Set filter to posts (the default) or comments. Post results include title, author, selftext, subreddit, score, ups, num_comments, created_utc, url, permalink, and is_video. Comment results include the matching body, author, votes, timestamps, comment URL, parent relationship, and post/subreddit context. Comment searches support relevance, new, and top sorting. Timeframe filtering applies to post searches. Pagination uses the after token, and trim returns a lighter response. upvote_ratio and subreddit_subscribers are currently null in post search results. To get upvote_ratio, pass the post URL to /v1/reddit/post; the ratio is returned at the top level. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Reddit Search API View Pricing Search Reddit for posts or comments. Search does not return upvote ratios or subscriber counts. Use /v1/reddit/post for a post's upvote_ratio. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Reddit Subreddit Posts
Fetches posts from a subreddit with sorting and filtering options. Each post includes title, author, link_flair_text when Reddit exposes it, selftext, score, ups, upvote_ratio, num_comments, created_utc, url, permalink, subreddit_subscribers, and is_video. Supports sort (best, hot, new, top, rising), timeframe filtering, pagination via the after token, and a trim parameter for lighter responses. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Reddit Subreddit Posts API View Pricing Get recent posts from a subreddit with engagement metrics 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Reddit Subreddit Details
Retrieves metadata about a subreddit by name or URL. The subreddit name must be case-sensitive. Returns display_name, description, weekly_active_users, weekly_contributions, rules, icon_img, header_img, advertiser_category, submit_text, and created_at. Subscriber counts are not available. weekly_active_users and weekly_contributions measure weekly activity, not total subscribers. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Reddit Subreddit Details API View Pricing Get details about a subreddit. Pass a subreddit name or URL to the subreddit. Subscriber counts are not available; weekly activity counts are different metrics. 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Reddit Subreddit Search
Searches within a specific subreddit for posts, comments, and media matching a query. Returns posts with title, votes, num_comments, url, and created_at; comments with author, body, votes, and parent post info; and media with title, media_type, image dimensions, and gallery_count. Supports sort, timeframe filtering, and cursor-based pagination. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Reddit Subreddit Search API View Pricing Search within a subreddit for posts, comments, or media matching a query 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Rumble Channel Videos
Gets videos from a Rumble channel by handle or URL. Returns channel metadata, videos, shorts, and a numeric cursor for the next page. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Rumble Channel Videos API View Pricing Gets videos from a Rumble channel by handle or URL. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Rumble Search
Searches Rumble videos by keyword. Returns matching videos and shorts with title, URL, thumbnail, channel, published date, viewCountText, viewCountInt, and a numeric cursor for the next page. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Rumble Search API View Pricing Searches Rumble videos by keyword. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Rumble Video
Gets Rumble video details by URL. Returns title, description, thumbnail, channel, publish date, view count, likes, dislikes, captions, and media metadata when available. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Rumble Video API View Pricing Gets Rumble video details by URL. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Rumble Comments
Gets all top level comments for a Rumble video by URL. Returns comment text, author, createdAt, createdAtText, likeCount, dislikeCount, and replyCount when comment bodies are public. If Rumble requires sign-in to view the comments, this endpoint returns HTTP 403 with error `forbidden` and does not charge credits. This is different from a public video with no comments, which returns a successful empty comments array. Sign-in-required response example: ```json { "success": false, "credits_remaining": 100, "credits_charged": 0, "error": "forbidden", "errorStatus": 403, "message": "Rumble requires you to sign in to view this video's comments" } ``` Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Rumble Comments API View Pricing Gets all top level comments for a Rumble video by URL. 1 credit per request Gets all top level comments for a Rumble video by URL. Returns comment text, author, createdAt, createdAtText, likeCount, dislikeCount, and replyCount when comment bodies are public. If Rumble requires sign-in to view the comments, this endpoint returns HTTP 403 with error `forbidden` and does not charge credits. This is different from a public video with no comments, which returns a successful empty comments array. Sign-in-required response example: ```json { "success": false, "credits_remaining": 100, "credits_charged": 0, "error": "forbidden", "errorStatus": 403, "message": "Rumble requires you to sign in to view this video's comments" } ```
Rumble Transcript
Gets a Rumble video's transcript when captions are available. If Rumble does not expose captions for the video, transcript will be null and you will not be charged. Returned native captions cost 1 credit; empty transcripts and errors cost 0 credits. This endpoint does not use AI transcription. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Rumble Transcript API View Pricing Gets a Rumble video's transcript when captions are available. 1 credit per request Gets a Rumble video's transcript when captions are available. If Rumble does not expose captions for the video, transcript will be null and you will not be charged. Returned native captions cost 1 credit; empty transcripts and errors cost 0 credits. This endpoint does not use AI transcription.
Snapchat User Profile
Retrieves a Snapchat user's public profile by handle, including identity, stories, and spotlight content. Returns userProfile with username, title, snapcodeImageUrl, subscriberCount, bio, and profilePictureUrl. Also includes highlightStoryMetadata with individual story snaps (mediaUrl, mediaType, thumbnailUrl) and spotlightStoryMetadata with video details and engagement stats (viewCount, shareCount, commentCount). Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Snapchat User Profile API View Pricing Get Snapchat user profile 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Snapchat Spotlight by Link
Fetches public data for a Snapchat Spotlight video by URL. Returns the snap id, description, creator, engagement counts, thumbnail, and content URL when Snapchat exposes them publicly. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Snapchat Spotlight by Link API View Pricing Get Snapchat Spotlight video data by URL 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Snapchat Spotlight Comments by Link
Fetches public comments from Snapchat's Spotlight comments API by URL. Returns the snap id, comments, a cursor for the next page, and hasMore. Pass the returned cursor back as the cursor param to load more comments. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Snapchat Spotlight Comments by Link API View Pricing Get comments from a Snapchat Spotlight URL 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
SoundCloud Artist
Fetches detailed information about a SoundCloud artist by its handle or URL. Returns artist metadata including id, name, followers, etc Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. SoundCloud Artist API View Pricing Get SoundCloud artist details and follower counts by handle or URL. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
SoundCloud Artist Tracks
Fetches tracks/songs for a SoundCloud artist by handle or URL. Returns the artist profile, track list, and pagination info from SoundCloud. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. SoundCloud Artist Tracks API View Pricing Gets tracks/songs for a SoundCloud artist by handle or URL. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
SoundCloud Track
Fetches detailed information about a SoundCloud track/song by URL. Returns track title, plays, likes, reposts, comments, artwork, artist, and other SoundCloud metadata. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. SoundCloud Track API View Pricing Gets detailed information about a SoundCloud track/song by URL. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Spotify Album
Retrieves detailed information about a Spotify album by its id or URL, including album metadata, artists, release date, cover art, copyright info, tracks, and sharing details. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Spotify Album API View Pricing Get Spotify album 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Spotify Artist
Retrieves detailed information about a Spotify artist by their handle, including name, followers count, genres, and related artists. Accepts a handle as input and returns artist metadata such as id, name, followers, genres, and related artists. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Spotify Artist API View Pricing Get Spotify artist 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Spotify Playlist
Retrieves public Spotify playlist metadata and up to 50 tracks by playlist id or URL. For playlists with more tracks, pass the returned cursor into the next request until cursor is null. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Spotify Playlist API View Pricing Get a Spotify playlist and its tracks 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Spotify Podcast
Retrieves detailed information about a Spotify podcast by its id or URL. Spotify calls podcasts shows internally, so Spotify podcast URLs use /show/. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Spotify Podcast API View Pricing Get Spotify podcast 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Spotify Podcast Episodes
Returns episodes for a Spotify podcast. Pass the cursor returned by a response to get the next page. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Spotify Podcast Episodes API View Pricing Get Spotify podcast episodes 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Spotify Search
Search Spotify for tracks, artists, albums, episodes, podcasts, and audiobooks. Use type=podcasts when you need podcast ids for the podcast endpoints. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Spotify Search API View Pricing Search Spotify 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Spotify Track
Retrieves detailed information about a Spotify track by its id or URL, including track metadata, artists, album info, duration, playability, and sharing details. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Spotify Track API View Pricing Get Spotify track 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Telegram Channel Details
Retrieves public Telegram channel or group metadata including its name, description, avatar, verification status, subscriber or member count, and public media counters. This endpoint uses Telegram's public web preview and does not use a logged-in Telegram account. Private channels, invite-only groups, numeric IDs, and channels with no public web preview are not supported. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Telegram Channel Details API View Pricing Get public Telegram channel or group details from its web preview. 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Telegram Channel Posts
Retrieves one public web-preview page of Telegram posts with text, publish date, views, reactions when exposed, forwards, media previews, and link previews. Pass the returned cursor to fetch the previous page. Empty and terminal pages are not charged. Telegram does not expose every field on every public post, so reactions and downloadable media URLs can be absent. This endpoint does not support private or invite-only channels and groups. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Telegram Channel Posts API View Pricing Get one page of recent public posts from a Telegram channel or group. 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Telegram Post Details
Retrieves one public Telegram post with its text, publish date, views, reactions when exposed, forward source, media previews, and link preview. This endpoint uses Telegram's public post widget without a logged-in account. Private and invite-only posts are not supported. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Telegram Post Details API View Pricing Get one public Telegram post by URL. 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Threads Post
Fetches a single Threads post by URL, returning the post's caption, like_count, view_counts, reshare_count, direct_reply_count, image_versions2, text_post_app_info, and taken_at. Also includes comments, threadItems, and relatedPosts arrays. threadItems contains public continuation posts by the original author and stays separate from comments. Supports a trim option for lighter responses. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Threads Post API View Pricing Get a post by url. Also returns comments, author continuations, and related posts. 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Threads Profile
Retrieves a Threads user's public profile including username, full_name, biography, profile_pic_url, follower_count, is_verified, bio_links, and hd_profile_pic_versions. Also indicates whether the account is a threads-only user via is_threads_only_user. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Threads Profile API View Pricing Get Threads profile info 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Threads Search by Keyword
Searches Threads for posts matching a keyword, returning up to 10 results with caption text, like_count, reshare_count, direct_reply_count, user info, and image_versions2. Supports optional start_date and end_date filters plus a trim option. Only 10 results are returned per request due to public API limitations. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Threads Search by Keyword API View Pricing Search public Threads posts by keyword, up to 10 results per request. Repeat searches over time to find new results. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Threads Search Users
Searches for Threads users by username, returning matching profiles with username, full_name, profile_pic_url, is_verified, and pk. Useful for finding user accounts before fetching their profile or posts. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Threads Search Users API View Pricing Search for users by username 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Threads Posts
Fetches the most recent posts from a Threads user, returning id, caption text, code, like_count, reshare_count, direct_reply_count, repost_count, image_versions2, video_versions, and taken_at. Only the last 20-30 posts are publicly visible. Supports a trim option for lighter responses. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Threads Posts API View Pricing Get a user's public Threads posts, limited to roughly the latest 20–30 posts. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Ad Library Ad Library Ad
Fetches one TikTok ad by ID or URL. It first checks Creative Center Top Ads (ads.tiktok.com), then TikTok's public transparency Ads Library (library.tiktok.com) when the ID is not a Top Ads material. Both sources return the same response shape. Fields TikTok does not expose for a public Ads Library ad are null, empty, or false as appropriate. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Ad Library Ad Library Ad API View Pricing Gets details for a TikTok ad from either Creative Center Top Ads or TikTok's public Ads Library. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Ad Library Ad Library Search
Searches TikTok's public Ads Library using either query for a general search or advertiser_name for advertiser-specific results. Advertiser-name searches resolve the name through TikTok's advertiser typeahead first, then search the selected advertiser entity and return adv_biz_ids on each ad. You can pass adv_biz_ids with advertiser_name to pin the exact advertiser shown in TikTok's See all ads link. TikTok requires the name with the ID and ignores an ID-only search, so provide exactly one of query or advertiser_name. If TikTok has no matching advertiser entity, the API falls back to TikTok's name search. Results are global, sorted by the latest shown date, support cursor pagination, and include a public TikTok Ads Library URL for each ad. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Ad Library Ad Library Search API View Pricing Search TikTok's public Ads Library by general query or advertiser name. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Collection Videos
Fetches the videos saved in a public TikTok collection, which TikTok also calls a playlist. Pass the collection URL. Returns `videos` using TikTok's native web video object format, including `id`, `desc`, `author`, `stats`, and `video`. To fetch the next page, pass the previous response's `max_cursor` as `cursor` when `has_more` is true. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Collection Videos API View Pricing Scrapes the videos in a public TikTok collection. Pass cursor to get more videos. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Trending Feed
Fetches TikTok's trending/For You feed for a given region — useful for discovering viral content and what's currently popular. Returns `aweme_list`, an array of video objects each with `aweme_id`, `desc` (caption), `statistics` (play_count, digg_count/likes, comment_count, share_count, collect_count), `video` (playback and download URLs, cover), `author` info, and `image_post_info` for photo carousels. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Trending Feed API View Pricing Get the trending feed from TikTok. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Live Info
Gets curated room-level info for a TikTok live from TikTok's public live-room source. Use `/v1/tiktok/user/live` first to find the `room_id`. If you only have a TikTok handle and need the user's numeric id, use `/v1/tiktok/profile` first to get `user.id`. This endpoint is separate from `/v1/tiktok/user/live` because it uses a different upstream call and returns a smaller response with the most relevant fields: `room_id`, `like_count`, `viewer_count`, `status`, `title`, `cover_url`, and `owner`. TikTok's room-access refusal returns HTTP 403 with no credit charge. The creator may have enabled audience controls; this response does not mean the profile was deleted. Other upstream failures remain errors rather than successful empty rooms. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Live Info API View Pricing Gets info for a TikTok live room, including like count. Returns 403 at no charge when TikTok refuses access to the room. 1 credit per request Gets curated room-level info for a TikTok live from TikTok's public live-room source. Use `/v1/tiktok/user/live` first to find the `room_id`. If you only have a TikTok handle and need the user's numeric id, use `/v1/tiktok/profile` first to get `user.id`. This endpoint is separate from `/v1/tiktok/user/live` because it uses a different upstream call and returns a smaller response with the most relevant fields: `room_id`, `like_count`, `viewer_count`, `status`, `title`, `cover_url`, and `owner`. TikTok's room-access refusal returns HTTP 403 with no credit charge. The creator may have enabled audience controls; this response does not mean the profile was deleted. Other upstream failures remain errors rather than successful empty rooms.
TikTok Shop Product Details
Fetches full details for a specific US TikTok Shop product by its URL, including stock levels and affiliate videos. Returns `product_info` with `product_base` (title, images, sold_count, price), `skus` (variants with exact `stock` counts plus TikTok's `sku_name` and `gtin` when available), and `product_detail_review` (product_rating, review_count, sample reviews). `gtin` contains `gtin_type` and `gtin_code`, or is null when TikTok does not provide a barcode. The response also includes `shop_info` (shop_name, shop_rating, followers_count) and `related_videos` (affiliate TikToks promoting the product). This endpoint currently supports the US region only. Get the details of a TikTok Shop Product. This endpoint currently supports US TikTok Shop products only. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Shop Product Details API View Pricing Get details for a TikTok Shop product. US products only. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Profile
Fetches public profile data for a TikTok user by their handle or user_id — useful for looking up a creator's identity, bio, and account stats. Returns a `user` object (display name, avatar URLs, bio/signature, verification status, bio link) and a `stats` object (followerCount, followingCount, heartCount/total likes, videoCount). This only returns profile metadata, not the user's actual videos or followers list. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Profile API View Pricing Scrapes a public TikTok profile 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
TikTok Profile Region
Returns the TikTok region code for a public profile, like `US` for United States or `MX` for Mexico. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Profile Region API View Pricing Gets the region/country code for a TikTok profile. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Profile Videos
Fetches videos posted by a TikTok user, sortable by latest or most popular — use this to get a creator's video feed or TikToks. Returns `aweme_list`, an array of video objects each containing `aweme_id`, `desc` (caption), `statistics` (play_count, digg_count/likes, comment_count, share_count, collect_count/saves), and `video` (download URLs, duration, cover image). Paginate with `max_cursor` from the previous response, keeping the same `region` and `sort_by` throughout a cursor chain. Known limitation: this feed is not an exhaustive inventory of a creator's public posts. TikTok's web page, single-post lookup, comments, and profile feed use different public sources and request contexts; a post may be retrievable through one and unavailable or missing through another. A missing feed item does not prove deletion, and a returned item does not guarantee browser playback in your country. Try the creator's country with a two-letter `region` code, restarting pagination when changing it, but country selection does not guarantee completeness. Repeated requests for the same page can also return different item sets. For campaign tracking, retain submitted post URLs/IDs and refresh them with `/v2/tiktok/video` rather than relying only on feed discovery. Retry a suspect page within a bounded budget and deduplicate by `aweme_id`; do not merge cursors from separate responses. [Examples and troubleshooting](https://docs.scrapecreators.com/tiktok-post-availability). Scrapes posts from a TikTok profile. TikTok can omit individual posts even after full pagination; region selection does not guarantee complete coverage. [Examples and troubleshooting](https://docs.scrapecreators.com/tiktok-post-availability). Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Profile Videos API View Pricing Get posts from a TikTok profile. Posts may be missing even after full pagination; region selection does not guarantee complete coverage. 1 credit per request Whether to include pinned posts. Defaults to true. Set to false to exclude posts marked as pinned, including with trim=true. Keep this value unchanged while paginating. Filtering can produce shorter or empty pages; follow has_more and max_cursor. Successful pages still cost 1 credit, including empty results.
TikTok Search by Hashtag
Searches for TikTok videos under a specific hashtag — useful for finding content by topic or trend. Returns `aweme_list`, an array of video objects each with `aweme_id`, `desc` (caption), `statistics` (play_count, digg_count/likes, comment_count, share_count), `video` info, and `author` details. Paginate with `cursor` from the previous response. TikTok may return duplicate results. Scrapes TikTok videos by hashtag. Note: TikTok can return duplicate results for this search. Sorry about that — it looks like a TikTok-side thing, so we don't have control over it. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Search by Hashtag API View Pricing Search TikTok videos by hashtag. TikTok may return duplicate results. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Search by Keyword
Searches for TikTok videos by keyword or phrase — the general video search across all of TikTok. Returns `search_item_list`, an array of objects each containing `aweme_info` with `aweme_id`, `desc` (caption), `statistics` (play_count, digg_count/likes, comment_count, share_count), `video` info, and `author` details. Paginate with `cursor`. TikTok may return duplicate results. Scrapes TikTok videos matching a keyword. Note: TikTok can return duplicate results for this search. Sorry about that — it looks like a TikTok-side thing, so we don't have control over it. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Search by Keyword API View Pricing Search TikTok videos by keyword. TikTok may return duplicate results. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Search Suggestions
Gets the autocomplete suggestions TikTok shows while someone is typing in search. Returns `suggestions`, a clean array of suggested search terms and the most useful metadata for each suggestion. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Search Suggestions API View Pricing Gets TikTok autocomplete search suggestions for a query. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Top Search
Searches TikTok's 'Top' results by query — returns both videos and photo carousels, unlike keyword search which only returns videos. Returns `items`, an array of objects each with `id`, `desc` (caption), `content_type` (video or photo carousel), `statistics` (play_count, digg_count/likes, comment_count, share_count), `video` info, and `images` for carousels. Paginate with `cursor`. TikTok may return duplicate results. There is a 'Top' Search in TikTok and this is that. You can get Photo Carousels and Videos. Whereas with just the Keyword Search, you can only get Videos. Note: TikTok can return duplicate results for this search. Sorry about that — it looks like a TikTok-side thing, so we don't have control over it. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Top Search API View Pricing Search TikTok Top results for videos and photo carousels; keyword search returns videos only. TikTok may return duplicate results. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Search Users
Searches for TikTok users by keyword or name — useful for finding creators or accounts matching a query. Returns `users`, an array of objects each containing `user_info` (nickname, unique_id, signature/bio, follower_count, following_count, avatar) and associated `items`. Paginate with `cursor` from the previous response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Search Users API View Pricing Scrapes TikTok users matching a search query 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Shop Product Reviews
Fetches customer reviews for a TikTok Shop product by URL or product_id. Returns `product_reviews`, an array of review objects each with `rating`, `display_text`, `review_timestamp_fmt`, `review_user` (name, avatar), and `sku_specification` (variant purchased); also returns `total_reviews` count and `rating_distribution`. Paginate with `page`. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Shop Product Reviews API View Pricing Get a product's reviews 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Shop Shop Products
Lists all products from a specific TikTok Shop store by its URL. Returns an array of product objects each with `title`, `cover` images, `url`, `price` info, `sold_count`, `review_count`, and `rating`. Paginate with `cursor` from the previous response; filter by region; use `sort_by=top` for best-selling products or `sort_by=new_releases` for newest products. Non-US shop catalog coverage depends on TikTok exposing that shop in the selected region, so some shops can return `not_found` outside the US even when they appear in shop search. Get the products from a TikTok Shop. This endpoint costs 1 credit per request. Use the cursor from the response to paginate through results. Non-US shop catalog coverage depends on TikTok exposing that shop in the selected region. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Shop Shop Products API View Pricing Get products from a TikTok Shop for 1 credit per request. Paginate with cursor. Non-US catalog availability depends on the selected region. 1 credit per request Lists all products from a specific TikTok Shop store by its URL. Returns an array of product objects each with `title`, `cover` images, `url`, `price` info, `sold_count`, `review_count`, and `rating`. Paginate with `cursor` from the previous response; filter by region; use `sort_by=top` for best-selling products or `sort_by=new_releases` for newest products. Non-US shop catalog coverage depends on TikTok exposing that shop in the selected region, so some shops can return `not_found` outside the US even when they appear in shop search. Get the products from a TikTok Shop. This endpoint costs 1 credit per request. Use the cursor from the response to paginate through results. Non-US shop catalog coverage depends on TikTok exposing that shop in the selected region.
TikTok Shop Shop Search
Searches TikTok Shop for products matching a keyword query. Returns an array of product objects each with `title`, `cover` image, `url` (product page link), `price`, `sold_count`, `review_count`, `rating`, and `shop_name`. Paginate with `page`; filter by region. Scrape TikTok Shop Products from a search! Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Shop Shop Search API View Pricing Search TikTok Shop products by keyword. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Get Song Details
Fetches detailed metadata for a specific TikTok sound or song by its clipId. Returns `music_info` with `title`, `author`, `album`, `duration`, `user_count` (number of videos using this sound), `play_url`, cover art, and artist details. Use the `clipId` from a sound URL or from the popular songs endpoint. Scraping details from the song detail Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Get Song Details API View Pricing Get details for a TikTok sound or song. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok TikToks using Song
Fetches TikTok videos that use a specific sound or song, identified by its clipId. Returns `aweme_list`, an array of video objects each with `aweme_id`, `desc` (caption), `statistics` (play_count, digg_count/likes, comment_count, share_count), `video` info, and `author` details. Paginate with `cursor` from the previous response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok TikToks using Song API View Pricing Get the TikToks using a song 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok User's Audience Demographics
Retrieves audience demographic data for a TikTok user, showing where their followers are located by country. Returns `audienceLocations`, an array of objects each containing `country`, `countryCode`, `count`, and `percentage`. Costs 26 credits per request. Get the audience demographics of a TikTok user. Right now you can only get the audience countries. 🚨 Costs 26 credits per request. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok User's Audience Demographics API View Pricing Get audience countries for a TikTok user. Costs 26 credits per request. 26 credits per request Retrieves audience demographic data for a TikTok user, showing where their followers are located by country. Returns `audienceLocations`, an array of objects each containing `country`, `countryCode`, `count`, and `percentage`. Costs 26 credits per request. Get the audience demographics of a TikTok user. Right now you can only get the audience countries. 🚨 Costs 26 credits per request. 26 credits per request as documented; exception outcomes are not specified on this page.
TikTok Followers
Retrieves the follower list of a TikTok account by handle or user_id — useful for seeing who follows a creator or getting subscriber data. Returns `followers`, an array of user objects each with `nickname`, `unique_id`, `uid`, `follower_count`, `following_count`, and avatar URLs; also returns `total` follower count. Paginate with `min_time` from the previous response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Followers API View Pricing Scrapes followers of a TikTok account 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Following
Retrieves the following list — accounts that a TikTok user follows — by their handle. Returns `followings`, an array of user objects each with `nickname`, `unique_id`, `uid`, `follower_count`, `following_count`, `signature`, and avatar URLs; also returns `total` count. Paginate with `min_time` from the previous response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Following API View Pricing Scrapes accounts that a TikTok user follows 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Live
Checks a TikTok user's live status and retrieves available live room details. First checks the account with the same profile lookup used by /v1/tiktok/profile; this does not add a second API credit charge. Active streams return HTTP 200 with is_live: true; an existing account that is offline or has no current stream returns HTTP 200 with is_live: false. Both successful states cost 1 credit, including offline/no-stream accounts. Unavailable accounts: HTTP 404 when TikTok confirms the account is not found or unavailable. Audience controls: HTTP 403 when TikTok confirms the creator enabled them, with TikTok's login warning. Retrieval failures: HTTP 500 when the live check fails. Errors cost 0 credits (credits_charged: 0); never infer offline from an error. A failed check is not evidence that the account is offline, and having no current stream is not an account-not-found error. Use the top-level `is_live` boolean instead of checking TikTok's numeric status values yourself. Available details include `liveRoomUserInfo` (nickname, avatar, followerCount, roomId) and `liveRoom` (title, startTime, status, `liveRoomStats` with enterCount and userCount, plus `streamData` with playback URLs in multiple qualities). When no room exists, `liveRoom` is omitted rather than filled with invented room data. Ended-room details remain when TikTok supplies them. A real viewer count of zero is not treated as a restriction. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Live API View Pricing Checks TikTok live status and room details. 200 is_live:true/false costs 1 credit, including offline/no-stream accounts. Unavailable accounts: 404; audience controls: 403; retrieval failures: 500. Errors cost 0 credits; never infer offline. 1 credit per request Checks a TikTok user's live status and retrieves available live room details. First checks the account with the same profile lookup used by /v1/tiktok/profile; this does not add a second API credit charge. Active streams return HTTP 200 with is_live: true; an existing account that is offline or has no current stream returns HTTP 200 with is_live: false. Both successful states cost 1 credit, including offline/no-stream accounts. Unavailable accounts: HTTP 404 when TikTok confirms the account is not found or unavailable. Audience controls: HTTP 403 when TikTok confirms the creator enabled them, with TikTok's login warning. Retrieval failures: HTTP 500 when the live check fails. Errors cost 0 credits (credits_charged: 0); never infer offline from an error. A failed check is not evidence that the account is offline, and having no current stream is not an account-not-found error. Use the top-level `is_live` boolean instead of checking TikTok's numeric status values yourself. Available details include `liveRoomUserInfo` (nickname, avatar, followerCount, roomId) and `liveRoom` (title, startTime, status, `liveRoomStats` with enterCount and userCount, plus `streamData` with playback URLs in multiple qualities). When no room exists, `liveRoom` is omitted rather than filled with invented room data. Ended-room details remain when TikTok supplies them. A real viewer count of zero is not treated as a restriction.
TikTok Shop User Showcase
Fetches products featured in a TikTok user's public showcase — the products a creator promotes on their profile. Returns an array of product objects each with title, price, images, and shop details. Use POST request if pagination is cutting off too early. Just send the query params in the body. Gets public user's showcase products Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Shop User Showcase API View Pricing Get products from a TikTok user's public showcase. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Video Info
Fetches detailed data for a single TikTok video by URL, including its metadata, engagement stats, and optionally its transcript/captions. Returns `aweme_detail` with `desc` (caption), `statistics` (play_count, digg_count/likes, comment_count, share_count, collect_count), `video` URLs, `author` info, and `music` info; also returns `transcript` in WEBVTT format if `get_transcript=true`. For no-watermark video URLs, use `aweme_detail.video.download_no_watermark_addr.url_list[0]` when it exists. If it is missing and `aweme_detail.video.has_watermark` is false, use `aweme_detail.video.play_addr.url_list[0]` instead. If `has_watermark` is true and `download_no_watermark_addr` is missing, TikTok did not return a no-watermark URL for that video. Also accepts photo/slideshow URLs and returns `image_post_info` when available. Availability is source-specific: a TikTok web page can be blocked in your country while this endpoint still retrieves public metadata, and a post can be missing from the profile feed while this endpoint succeeds. A `404 not_found` means the post could not be retrieved through the endpoint's available public sources; it does not by itself prove global deletion. Keep the last known campaign record and retry later with a relevant `region` rather than marking a post deleted from a single failure. [Examples and troubleshooting](https://docs.scrapecreators.com/tiktok-post-availability). Native captions are opt-in via get_transcript=true and are included in the existing base endpoint price. This detail endpoint does not use AI transcription or an AI fallback; missing captions return no transcript. For AI fallback, use /v1/tiktok/video/transcript. Scrapes a public TikTok video or photo/slideshow. Availability can differ from the web page and profile feed; a not-found response alone does not prove deletion. For no-watermark video URLs, use `download_no_watermark_addr` when present, or `play_addr` when `has_watermark` is false. [Availability guide](https://docs.scrapecreators.com/tiktok-post-availability). Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Video Info API View Pricing Get a public TikTok video or slideshow. Availability varies by source; not-found does not prove deletion. For no-watermark URLs, use download_no_watermark_addr, or play_addr only when has_watermark=false. 1 credit per request Set to true to download the video/images and get back permanent Supabase URLs. Costs 10 credits if media is found, 1 credit otherwise. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
TikTok Comment Replies
Fetches replies to a specific TikTok comment by its ID. Returns `comments`, an array of comment objects each with `text`, `user` info, and `create_time`. Paginate with `cursor` from the previous response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Comment Replies API View Pricing Scrapes replies to a TikTok comment 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
TikTok Comments
Fetches comments on a TikTok video by URL — useful for reading audience reactions, replies, and engagement. Returns `comments`, an array where each comment includes `text`, `digg_count` (likes), `reply_comment_total`, `create_time`, and a `user` object with the commenter's nickname and unique_id; also returns `total` comment count. Paginate with `cursor` from the previous response. Public photo/slideshow posts are supported as well as videos. Comments use a separate TikTok public web source, so successful single-post metadata retrieval does not guarantee readable comments. An empty terminal page does not by itself prove the post has no comments globally or was deleted. This endpoint does not expose a country-selection parameter. Use the returned cursor and stop when `end_of_pagination=true`. Pages that return comments cost 1 credit; successful empty pages cost 0 credits, including the first page, later pages, and trim=true responses. Replaying a terminal null cursor also costs 0 credits. [Examples and troubleshooting](https://docs.scrapecreators.com/tiktok-post-availability). Scrapes comments from public TikTok videos and photo/slideshow posts. Pages with comments cost 1 credit; empty pages cost 0 credits. An empty page does not prove the post has no comments globally. [Examples and troubleshooting](https://docs.scrapecreators.com/tiktok-post-availability). Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Comments API View Pricing Get comments on public TikTok videos or slideshows. Pages with comments cost 1 credit; empty pages cost 0. An empty page does not prove the post has no comments globally. 1 credit per page with comments; 0 credits for empty pages Fetches comments on a TikTok video by URL — useful for reading audience reactions, replies, and engagement. Returns `comments`, an array where each comment includes `text`, `digg_count` (likes), `reply_comment_total`, `create_time`, and a `user` object with the commenter's nickname and unique_id; also returns `total` comment count. Paginate with `cursor` from the previous response. Public photo/slideshow posts are supported as well as videos. Comments use a separate TikTok public web source, so successful single-post metadata retrieval does not guarantee readable comments. An empty terminal page does not by itself prove the post has no comments globally or was deleted. This endpoint does not expose a country-selection parameter. Use the returned cursor and stop when `end_of_pagination=true`. Pages that return comments cost 1 credit; successful empty pages cost 0 credits, including the first page, later pages, and trim=true responses. Replaying a terminal null cursor also costs 0 credits. [Examples and troubleshooting](https://docs.scrapecreators.com/tiktok-post-availability). Scrapes comments from public TikTok videos and photo/slideshow posts. Pages with comments cost 1 credit; empty pages cost 0 credits. An empty page does not prove the post has no comments globally. [Examples and troubleshooting](https://docs.scrapecreators.com/tiktok-post-availability).
TikTok Transcript
Extracts existing transcripts, captions, or subtitles from a TikTok video by URL. Returns id, url, and transcript (native captions are WEBVTT-formatted; AI fallback returns text). Also includes top-level transcript_with_timestamp: an array of {start: number, end: number, text: string} sentence/phrase segments from native captions or AI, or null when speech or timing is unavailable. Times are seconds relative to the video. AI timings are approximate, not word-perfect. The existing transcript remains the exact raw WEBVTT string for native captions and a plain string for AI fallback. No new parameter is required, and pricing is unchanged. Native transcripts cost 1 credit only when returned, with no fixed length limit; no transcript costs 0 credits. AI fallback is opt-in via use_ai_as_fallback=true and is used only when native captions are unavailable. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This dedicated transcript route charges the AI rate instead of adding a native-caption fee. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Get native captions or an opted-in AI transcript from a TikTok video. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Transcript API View Pricing Get native captions or an opt-in AI transcript with timestamp segments from a TikTok video. Long AI transcripts may time out. Native captions or AI up to 2 minutes: 1 credit. Paid AI mode: 10 credits/minute, rounded up, even for short videos. No transcript: 0 credits. Extracts existing transcripts, captions, or subtitles from a TikTok video by URL. Returns id, url, and transcript (native captions are WEBVTT-formatted; AI fallback returns text). Also includes top-level transcript_with_timestamp: an array of {start: number, end: number, text: string} sentence/phrase segments from native captions or AI, or null when speech or timing is unavailable. Times are seconds relative to the video. AI timings are approximate, not word-perfect. The existing transcript remains the exact raw WEBVTT string for native captions and a plain string for AI fallback. No new parameter is required, and pricing is unchanged. Native transcripts cost 1 credit only when returned, with no fixed length limit; no transcript costs 0 credits. AI fallback is opt-in via use_ai_as_fallback=true and is used only when native captions are unavailable. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This dedicated transcript route charges the AI rate instead of adding a native-caption fee. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Get native captions or an opted-in AI transcript from a TikTok video. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Set to 'true' to use paid AI only when existing captions are unavailable. Defaults to false. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Native or default successful AI <=120s: 1; no transcript 0. Long AI mode must be explicitly enabled in addition to transcription; all successful AI, including short, costs 10 per started minute. See parameters for flags.
Truth Social Post
Fetches a single Truth Social post by URL, returning text, id, created_at, url, content, account details, media_attachments, card link previews, replies_count, reblogs_count, and favourites_count. Set download_media=true to download attached images or video and return permanent Supabase URLs. Only posts from prominent public figures (e.g., Trump, Vance) are accessible without authentication. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Truth Social Post API View Pricing Get Truth Social post 1 credit per request Set to true to download the attached video/images and get back permanent Supabase URLs. Costs 10 credits if media is found, 1 credit otherwise.
Truth Social Profile
Retrieves a Truth Social user's public profile including display_name, username, avatar, header, followers_count, following_count, statuses_count, verified status, website, and created_at. Only prominent public figures (e.g., Trump, Vance) are accessible without authentication; most other accounts will not work. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Truth Social Profile API View Pricing Get Truth Social profile info 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Truth Social User Posts
Fetches a paginated list of posts from a Truth Social user, returning text, id, created_at, url, content, account info, media_attachments, card link previews, replies_count, reblogs_count, and favourites_count. Supports pagination via next_max_id and a trim option for lighter responses. Only prominent public figures (e.g., Trump, Vance) are accessible without authentication. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Truth Social User Posts API View Pricing Get posts from prominent public Truth Social accounts, such as Trump and Vance. Most other accounts require login and are unavailable. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Twitch Clip
Fetches detailed data for a Twitch clip by URL, including metadata and direct video URLs. Returns clip id, slug, url, embedURL, title, viewCount, language, durationSeconds, game info, broadcaster details with follower count, thumbnailURL, and videoQualities at multiple resolutions with a signed videoURL for playback. Also includes additional clips from the same broadcaster. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitch Clip API View Pricing Get Twitch clip 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Twitch Clip Transcript
Gets a transcript from a public Twitch clip. Checks native captions first; returned native captions cost 1 credit. Set use_ai_as_fallback=true to opt into paid AI only when captions are unavailable. No transcript costs 0 credits. transcript_source is native, ai, or null. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitch Clip Transcript API View Pricing Get native captions from a Twitch clip. Enable use_ai_as_fallback for AI when captions are unavailable. Native captions or AI up to 2 minutes: 1 credit. Paid AI mode: 10 credits/minute, rounded up, even for short videos. No transcript: 0 credits. Gets a transcript from a public Twitch clip. Checks native captions first; returned native captions cost 1 credit. Set use_ai_as_fallback=true to opt into paid AI only when captions are unavailable. No transcript costs 0 credits. transcript_source is native, ai, or null. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Use paid AI only when native captions are unavailable. Defaults to false. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Current official page: returned native captions or successful default AI up to 120 seconds cost 1; no transcript 0. AI fallback is separately enabled. With literal allow_long_transcription=true, all successful AI, including short, costs 10 per started minute; empty AI/errors have no AI fee.
Twitch Profile
Retrieves a Twitch user's public profile by handle, including identity, social links, and content. Returns id, handle, displayName, description, followers count, and linked social accounts (instagram, x, tiktok). Also includes lastBroadcast with startedAt (ISO 8601 UTC) and title, allVideos with game info, duration, and view counts, featuredClips with clip metadata and thumbnails, and similarStreamers. lastBroadcast comes from Twitch's broadcast metadata rather than saved videos, so it can remain available when a channel is offline and its saved broadcasts have expired or were never saved. lastBroadcast is null when Twitch does not provide it; startedAt and title can individually be null when unavailable. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitch Profile API View Pricing Get Twitch profile 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Twitch User Schedule
Fetches a user's schedule by handle, returning a list of scheduled events with start time, end time, title, description, and thumbnail URL. Supports pagination via cursor and a trim option for lighter responses. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitch User Schedule API View Pricing Get Twitch user schedule 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Twitch User Videos
Fetches a list of videos (100 max) for a Twitch user, returning each video's id, slug, url, embedURL, title, viewCount, language, durationSeconds, game info, broadcaster details with follower count, thumbnailURL, and videoQualities at multiple resolutions with a signed videoURL for playback. Supports pagination via cursor and a trim option for lighter responses. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitch User Videos API View Pricing Get Twitch user videos 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Twitter Community
Retrieves details about a Twitter/X Community by URL. Returns the community name, description, rest_id, join_policy, created_at, member_count, rules, and creator_results with the creator's profile. Also includes members_facepile_results with avatar images of recent members. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitter Community API View Pricing Get X/Twitter Community details. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Twitter Community Tweets
Fetches tweets posted within a Twitter/X Community by URL. Returns an array of tweets, each with id, full_text, view_count, favorite_count, retweet_count, reply_count, bookmark_count, quote_count, created_at, and source. Each tweet includes a user object with the author's name, screen_name, avatar, followers_count, and is_blue_verified status. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitter Community Tweets API View Pricing Get tweets from an X/Twitter Community. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
Twitter Profile
Retrieves a Twitter user's profile by handle, including account metadata and statistics. Returns name, screen_name, description, followers_count, friends_count, statuses_count, favourites_count, location, profile_image_url_https, and is_blue_verified. Also includes verification_info, tipjar_settings, highlights_info, and creator_subscriptions_count. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitter Profile API View Pricing Get Twitter profile information including stats and metadata 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Twitter Search Posts
Finds public X/Twitter post URLs through Google Search, then returns their details using the same public post scraper as /v1/twitter/tweet. This is Google-indexed discovery, not native X search: coverage is incomplete, recent posts can be missing, and results are ranked by Google rather than newest first. Deleted, protected, or inaccessible posts are omitted. Each post uses the existing tweet response fields, including rest_id, legacy.full_text, legacy.created_at, engagement counts, author and media when available, plus a canonical url. Pass the returned cursor for the next Google page; cursors range from 1 through 11 and null means pagination has ended. The same post may appear on different pages. Each successful page costs 1 credit, including empty results; validation errors and upstream failures are not charged. Replaying cursor=null is uncharged. Allow at least 30 seconds for your client timeout. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitter Search Posts API View Pricing Search public X/Twitter posts by keyword using Google-indexed results, then fetch the post details without a logged-in X account. 1 credit per request Finds public X/Twitter post URLs through Google Search, then returns their details using the same public post scraper as /v1/twitter/tweet. This is Google-indexed discovery, not native X search: coverage is incomplete, recent posts can be missing, and results are ranked by Google rather than newest first. Deleted, protected, or inaccessible posts are omitted. Each post uses the existing tweet response fields, including rest_id, legacy.full_text, legacy.created_at, engagement counts, author and media when available, plus a canonical url. Pass the returned cursor for the next Google page; cursors range from 1 through 11 and null means pagination has ended. The same post may appear on different pages. Each successful page costs 1 credit, including empty results; validation errors and upstream failures are not charged. Replaying cursor=null is uncharged. Allow at least 30 seconds for your client timeout.
Twitter Tweet Details
Retrieves detailed information about a specific tweet by URL, including the author's profile and engagement metrics. Returns rest_id, full_text, views count, favorite_count, retweet_count, reply_count, bookmark_count, quote_count, created_at, source, and media entities. Supports a trim parameter for a lighter response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitter Tweet Details API View Pricing Get detailed information about a specific tweet including engagement 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Twitter Transcript
Extracts an AI transcript from a Twitter video tweet. This route uses AI transcription, not native captions. Returns a success flag and transcript text. No transcript costs 0 credits. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitter Transcript API View Pricing Get an AI transcript from a video tweet. Long videos may time out. Native captions or AI up to 2 minutes: 1 credit. Paid AI mode: 10 credits/minute, rounded up, even for short videos. No transcript: 0 credits. Extracts an AI transcript from a Twitter video tweet. This route uses AI transcription, not native captions. Returns a success flag and transcript text. No transcript costs 0 credits. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. Paid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mode. By default, successful AI transcription of videos up to 120 seconds (two minutes, inclusive) costs a flat 1 credit per request. Over 120 seconds, videos cannot be AI-transcribed by default. Set allow_long_transcription=true to opt into paid AI with no fixed duration cap: ALL successful AI transcriptions in this mode cost 10 credits per started minute, including short videos: 10 * ceil(duration_seconds / 60). For example, 177 seconds costs 30 credits and an opted-in 60 seconds costs 10 credits. Empty AI results and errors cost 0 credits for AI transcription. This flag does not force AI and does not enable transcription or AI fallback by itself. Keep get_transcript=true or use_ai_as_fallback=true where required by the endpoint. Returned native captions still cost 1 credit on dedicated transcript routes, even for long videos with this flag; on detail routes they leave the base price unchanged. These routes remain synchronous. Allow at least 30 seconds on your client. Paid long transcription can exceed resource limits or timeouts, so successful transcription of long videos is not guaranteed. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (Returned native captions cost 1 credit, even for long videos with the paid flag. By default, successful AI up to 120 seconds costs a flat 1 credit per request; over 120 seconds requires allow_long_transcription=true, which bills ALL successful AI at 10 credits per started minute, including short videos; empty AI results and errors cost 0 credits; no transcript: 0 credits). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
Twitter User Tweets
Fetches tweets from a Twitter user's profile by handle. Note: Twitter publicly returns only ~100 of the user's most popular tweets, not chronological or latest. Each tweet includes rest_id, full_text, views count, favorite_count, retweet_count, reply_count, bookmark_count, quote_count, created_at, media entities, and url. Supports a trim parameter for a lighter response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Twitter User Tweets API View Pricing Get up to 100 popular tweets from a user's public profile, not their latest tweets. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Channel Details
Retrieves comprehensive YouTube channel profile data including name, avatar images, subscriber count (subscribers), total video and view counts, join date, tags, and linked social accounts like Twitter and Instagram. Accepts a channelId, handle, or full channel URL as input. Returns channel metadata such as country, email, and external store links when available. Contact fields come from the submitted public profile. To request removal of your own information from Scrape Creators results, email support@scrapecreators.com with the profile URL. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Channel Details API View Pricing Get YouTube channel details and stats by channelId, handle, or URL. 1 credit per request If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
YouTube Channel Community Posts
Fetches community posts from a YouTube channel's Posts tab, including post ID, URL, content, images, attached video, like count, publish time, channel info, and a continuationToken when YouTube has more results. Pass a handle or channelId for the first page, then pass continuationToken to page through more posts. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Channel Community Posts API View Pricing Get community posts from a YouTube channel. Can pass channelId or handle. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Channel Lives
Fetches live streams and past streams from a YouTube channel's Live tab, including title, URL, thumbnail, view count, publish time, duration, and a continuationToken when YouTube has more results. Pass a handle or channelId for the first page, then pass continuationToken to page through more lives. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Channel Lives API View Pricing Get live streams and past streams from a YouTube channel. Can pass channelId or handle. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Channel Playlists
Fetches playlists from a YouTube channel's Playlists tab, including playlist ID, title, thumbnail, video count, channel info, playlist URL, and a continuationToken when YouTube has more results. Pass a handle or channelId for the first page, then pass continuationToken to page through more playlists. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Channel Playlists API View Pricing Get playlists from a YouTube channel. Can pass channelId or handle. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Channel Search
Search within one YouTube channel using YouTube's native channel search, not global search or local filtering of the channel's latest videos. Pass a handle with or without @ and a keyword query. Results can include videos, Shorts, live streams and playlists in separate collections. Keep the same handle and query when passing the previous response's continuationToken. Stop when continuationToken is null; passing the literal continuationToken=null returns an uncharged terminal response. Each successful page costs 1 credit, including pages with no matches; invalid requests and retrieval failures are not charged. YouTube can repeat results across pages, so deduplicate by item ID if needed. No sort, date, duration or result-count filters are supported by this endpoint. The response example is shortened from a real search; result order, counts and pagination tokens can change. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Channel Search API View Pricing Search within one YouTube channel by keyword. Returns videos, Shorts, live streams and playlists. Costs 1 credit per page, even with no matches. 1 credit per request Search within one YouTube channel using YouTube's native channel search, not global search or local filtering of the channel's latest videos. Pass a handle with or without @ and a keyword query. Results can include videos, Shorts, live streams and playlists in separate collections. Keep the same handle and query when passing the previous response's continuationToken. Stop when continuationToken is null; passing the literal continuationToken=null returns an uncharged terminal response. Each successful page costs 1 credit, including pages with no matches; invalid requests and retrieval failures are not charged. YouTube can repeat results across pages, so deduplicate by item ID if needed. No sort, date, duration or result-count filters are supported by this endpoint. The response example is shortened from a real search; result order, counts and pagination tokens can change.
YouTube Channel Shorts
Retrieves a paginated list of short-form videos (Shorts) from a YouTube channel, including each short's title, URL, view count (views), likes, comments, description, and publish date. publishDate is a full ISO 8601 timestamp with an offset when YouTube exposes the exact publish time; otherwise it is null. It does not return date-only strings. Supports sorting by newest or popular; use the continuationToken to page through all results. Returns data in the shorts array. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Channel Shorts API View Pricing Get channel Shorts. publishDate is an ISO 8601 timestamp with an offset when available, otherwise null; date-only values are not returned. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Channel Videos
Fetches a paginated list of videos uploaded by a YouTube channel, including each video's title, URL, thumbnail, view count (views), publish date, duration, and description. Supports sorting by latest or popular, and use the continuationToken to page through all results. Optionally include extras like like count, comment count, and descriptions for each video. Paid-promotion filtering is not supported on this endpoint. Use /v1/youtube/video and read isPaidPromotion to check each video's paid-promotion status. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Channel Videos API View Pricing Get paginated videos from a YouTube channel by channelId or handle. Paid-promotion filtering is not supported; use /v1/youtube/video and its isPaidPromotion field for each video's status. 1 credit per request Fetches a paginated list of videos uploaded by a YouTube channel, including each video's title, URL, thumbnail, view count (views), publish date, duration, and description. Supports sorting by latest or popular, and use the continuationToken to page through all results. Optionally include extras like like count, comment count, and descriptions for each video. Paid-promotion filtering is not supported on this endpoint. Use /v1/youtube/video and read isPaidPromotion to check each video's paid-promotion status.
YouTube Community Post Details
Retrieves the full details of a YouTube community post, including its text content, attached images, like count, publish date, and associated channel info. Also returns a linked video if the post includes one. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Community Post Details API View Pricing Get the details of a community post 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Playlist
Retrieves a page of videos in a YouTube playlist, including each video's title, URL, thumbnail, duration, and channel. Accepts the playlist ID found in the 'list' URL parameter. The first page includes title, owner, and totalVideos. Later pages return videos and continuationToken without playlist metadata. Pass the previous response's continuationToken to get the next page. Stop when continuationToken is null. Each page costs 1 credit. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Playlist API View Pricing Get a paginated list of videos in a YouTube playlist 1 credit per request Retrieves a page of videos in a YouTube playlist, including each video's title, URL, thumbnail, duration, and channel. Accepts the playlist ID found in the 'list' URL parameter. The first page includes title, owner, and totalVideos. Later pages return videos and continuationToken without playlist metadata. Pass the previous response's continuationToken to get the next page. Stop when continuationToken is null. Each page costs 1 credit.
YouTube Search
Searches YouTube by keyword query and returns matching videos, channels, playlists, shorts, shelves, and live streams. Each video result includes title, URL, thumbnail, view count (views), publish date, duration, channel info, and badges. Supports filtering by upload date, sorting by relevance or popularity, and paginating with continuationToken. Set is_paid_promotions=true to search YouTube videos with the paid product placement / sponsorship disclosure. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Search API View Pricing Search YouTube videos, channels, playlists, Shorts and live streams. Response format video . 1 credit per request Searches YouTube by keyword query and returns matching videos, channels, playlists, shorts, shelves, and live streams. Each video result includes title, URL, thumbnail, view count (views), publish date, duration, channel info, and badges. Supports filtering by upload date, sorting by relevance or popularity, and paginating with continuationToken. Set is_paid_promotions=true to search YouTube videos with the paid product placement / sponsorship disclosure.
YouTube Search by Hashtag
Searches YouTube for content matching a specific hashtag and returns matching videos with title, URL, thumbnail, view count (views), publish date, duration, and channel info. Supports pagination via continuationToken and filtering to return all content types or only shorts. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Search by Hashtag API View Pricing Search YouTube and get matching videos, channels, and playlists 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Search Typeahead
Returns the live search suggestions YouTube displays while a user types. Each result includes the suggested text and whether it is a normal query or a channel. When YouTube returns a channel suggestion, the response also includes its public channel ID, handle, name, and thumbnail. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Search Typeahead API View Pricing Get the live autocomplete suggestions shown in YouTube's search dropdown. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Trending Shorts
Fetches approximately 48 currently trending YouTube Shorts (viral/popular short-form videos) per call, returning each short's title, URL, thumbnail, view count (views), like count (likes), comment count, publish date, channel info, keywords, and duration. Each subsequent call returns a fresh batch of different trending shorts. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Trending Shorts API View Pricing Get about 48 trending Shorts per request. Repeated requests can return new Shorts. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Transcript
Retrieves publicly available captions, subtitles, or transcripts from a YouTube video or Short. Returns both a timestamped transcript array with start/end times and a plain-text version in transcript_only_text. Supports specifying a language code. Videos of any length are supported when YouTube exposes public captions. This endpoint does not use AI transcription. A returned transcript costs 1 credit; missing captions cost 0 credits. If no matching caption track is available, the transcript fields return null. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Transcript API View Pricing Get publicly available captions or a transcript from a YouTube video or Short 1 credit per request Retrieves publicly available captions, subtitles, or transcripts from a YouTube video or Short. Returns both a timestamped transcript array with start/end times and a plain-text version in transcript_only_text. Supports specifying a language code. Videos of any length are supported when YouTube exposes public captions. This endpoint does not use AI transcription. A returned transcript costs 1 credit; missing captions cost 0 credits. If no matching caption track is available, the transcript fields return null. Language code, ie 'en', 'es', 'fr' or 'en-US'. Overrides the default track selection unless original_audio=true. If omitted, prefers captions matching the original spoken language when YouTube identifies the original audio. If that metadata is unavailable or ambiguous, prefers an auto-generated caption, otherwise the first caption track. If the requested or identified original language has no matching captions, the transcript will be null and no credits are charged. Set to true to return captions only in the original spoken language identified by YouTube. Takes precedence over language. If the original audio cannot be reliably identified or has no matching captions, transcript, transcript_only_text, and language are null and no credits are charged. No extra lookup or credit cost; a returned transcript costs the usual 1 credit. Omit or set to false for the existing default selection. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
YouTube Comment Replies
Fetches replies to a specific comment on a YouTube video, including each reply's text content, author details (name, channel ID, avatar, verified/creator status), like count, and publish date. Requires a continuationToken obtained from the 'repliesContinuationToken' field on comments returned by the Comments endpoint. Supports paginating through additional replies with the continuationToken returned in each response. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Comment Replies API View Pricing Get replies to a specific comment on a YouTube video. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Comments
Fetches comments and replies from a YouTube video, including each comment's text content, author details, like count, reply count, and publish date. `publishedTime` is a best-effort ISO timestamp calculated from YouTube's relative label, not an exact source timestamp. Supports ordering by top or newest, and paginating with continuationToken. Limited to approximately 1,000 top comments or 7,000 newest comments. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Comments API View Pricing Get comments from a video. Can only get 1k top comments and about 7k new comments. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.
YouTube Video/Short Details
Fetches full details for a YouTube video or short, including title, description, thumbnail, view count (views), like count (likes), comment count, publish date, duration, genre, keywords, chapters, collaborators, and available caption tracks (subtitles/captions). isPaidPromotion is true when YouTube marks the video as including paid promotion and false when it does not. Also returns related recommended videos in watchNextVideos. The legacy channel object is unchanged for compatibility and can mix uploader and artist identities on merged music channels; use uploader for the uploading channel and ownerByline for the channel displayed under the video. ownerByline includes native badge styles and subscriberCountText as YouTube displays it, not an exact subscriber count. descriptionCards contains Music, Games, People mentioned and podcast cards from the structured description. Each card has section, title, subtitle, secondarySubtitle, image, videoId, channelId, playlistId and musicCredits. Missing card fields are null; People mentioned cards can have no linked channel. musicCredits is null when absent, otherwise it includes song, artist, album, writers, licensedToYouTubeBy and the preserved rawText. Owner fields are ownerByline.channelId, name, url, subscriberCountText and badges (style and label). Uploader fields are uploader.channelId, author and url. Either identity can be null when unavailable. An empty array means the description was available with no cards; null means it was unavailable or could not be recognized. isMadeWithAI is true when YouTube exposes the Made with AI disclosure, false when a recognized description has no such disclosure, and null when unknown. This is YouTube disclosure metadata, not our own AI-content detection. Auto-dubbed audio alone does not set isMadeWithAI. aiDisclosure retains the available disclosure text; localized unrecognized disclosures remain unknown. These fields reuse the already-fetched watch page without a separate channel request. When YouTube exposes its public Most replayed graph, most_replayed contains normalized graph buckets in markers and YouTube's highlighted ranges in ranges. The field is null when the graph is not available. YouTube says the graph may be unavailable when the channel has active strikes, the content is potentially inappropriate, the video is too new or has too few views, or its systems deem the video ineligible for another reason. YouTube does not publish fixed age or view-count thresholds. Age-restricted videos return 403 with message: "This video is age restricted" because Scrape Creators only uses the public logged-out YouTube source. Need to download a YouTube video? We open sourced our [YouTube downloader](https://github.com/ScrapeCreators/youtube-downloader). You can use it and host it wherever you want. We don't offer a hosted YouTube downloading service because it's expensive and compute-intensive to run. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Video/Short Details API View Pricing Get YouTube video or Short details, description cards, AI disclosures, owner/uploader identities, paid-promotion status and replay heatmaps. Age-restricted videos return 403. No hosted video downloads. 1 credit per request Fetches full details for a YouTube video or short, including title, description, thumbnail, view count (views), like count (likes), comment count, publish date, duration, genre, keywords, chapters, collaborators, and available caption tracks (subtitles/captions). isPaidPromotion is true when YouTube marks the video as including paid promotion and false when it does not. Also returns related recommended videos in watchNextVideos. The legacy channel object is unchanged for compatibility and can mix uploader and artist identities on merged music channels; use uploader for the uploading channel and ownerByline for the channel displayed under the video. ownerByline includes native badge styles and subscriberCountText as YouTube displays it, not an exact subscriber count. descriptionCards contains Music, Games, People mentioned and podcast cards from the structured description. Each card has section, title, subtitle, secondarySubtitle, image, videoId, channelId, playlistId and musicCredits. Missing card fields are null; People mentioned cards can have no linked channel. musicCredits is null when absent, otherwise it includes song, artist, album, writers, licensedToYouTubeBy and the preserved rawText. Owner fields are ownerByline.channelId, name, url, subscriberCountText and badges (style and label). Uploader fields are uploader.channelId, author and url. Either identity can be null when unavailable. An empty array means the description was available with no cards; null means it was unavailable or could not be recognized. isMadeWithAI is true when YouTube exposes the Made with AI disclosure, false when a recognized description has no such disclosure, and null when unknown. This is YouTube disclosure metadata, not our own AI-content detection. Auto-dubbed audio alone does not set isMadeWithAI. aiDisclosure retains the available disclosure text; localized unrecognized disclosures remain unknown. These fields reuse the already-fetched watch page without a separate channel request. When YouTube exposes its public Most replayed graph, most_replayed contains normalized graph buckets in markers and YouTube's highlighted ranges in ranges. The field is null when the graph is not available. YouTube says the graph may be unavailable when the channel has active strikes, the content is potentially inappropriate, the video is too new or has too few views, or its systems deem the video ineligible for another reason. YouTube does not publish fixed age or view-count thresholds. Age-restricted videos return 403 with message: "This video is age restricted" because Scrape Creators only uses the public logged-out YouTube source. Need to download a YouTube video? We open sourced our [YouTube downloader](https://github.com/ScrapeCreators/youtube-downloader). You can use it and host it wherever you want. We don't offer a hosted YouTube downloading service because it's expensive and compute-intensive to run. If we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp). Otherwise, scrape a live result (1 credit). [See the Caching page for details.](https://docs.scrapecreators.com/caching)
YouTube Video Sponsors
Experimental endpoint. Checks a YouTube video for the paid-promotion disclosure and infers likely sponsors/promoted brands from the public description, description links, promo-code text, and transcript. YouTube tells us that a video contains paid promotion, but it does not always tell us the sponsor directly, so this endpoint returns suspected sponsors with confidence and evidence. This is inferred, not an official YouTube sponsor field. Feedback welcome: support@scrapecreators.com Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. YouTube Video Sponsors API View Pricing Experimental: infer possible video sponsors from public evidence, not an official YouTube sponsor field. Send feedback to support@scrapecreators.com. 1 credit per request Experimental endpoint. Checks a YouTube video for the paid-promotion disclosure and infers likely sponsors/promoted brands from the public description, description links, promo-code text, and transcript. YouTube tells us that a video contains paid promotion, but it does not always tell us the sponsor directly, so this endpoint returns suspected sponsors with confidence and evidence. This is inferred, not an official YouTube sponsor field. Feedback welcome: support@scrapecreators.com