@scrapecreators/cli 1.0.27 → 1.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -5
- package/api-config/apis.js +1097 -320
- package/api-config/instagram-apis.js +341 -31
- package/api-config/telegram-apis.js +132 -0
- package/api-config/tiktok-apis.js +212 -6
- package/api-config/tiktok-shop-apis.js +11 -9
- package/package.json +2 -2
- package/src/cli.js +2 -2
|
@@ -9,7 +9,7 @@ export const instagramBaseApis = {
|
|
|
9
9
|
description:
|
|
10
10
|
"Gets public Instagram profile data, recent posts, and related accounts",
|
|
11
11
|
fullDescription:
|
|
12
|
-
"Retrieves comprehensive public Instagram profile information including biography, bio links, follower and following counts, verification status, and profile picture URLs. 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.",
|
|
12
|
+
"Retrieves comprehensive public Instagram profile information including biography, bio links, follower and following counts, verification status, and profile picture URLs. 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 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.",
|
|
13
13
|
path: "/v1/instagram/profile",
|
|
14
14
|
responseFields: [
|
|
15
15
|
{
|
|
@@ -574,12 +574,20 @@ export const instagramBaseApis = {
|
|
|
574
574
|
{
|
|
575
575
|
name: "Posts",
|
|
576
576
|
method: "GET",
|
|
577
|
-
description: "Get a persons public posts. *Play counts can sometimes be inaccurate* Play counts are Instagram-only. When a Reel is also cross-posted to Facebook, Instagram (behind login) shows you the combined IG + FB views. But this API will only return the Instagram views. [Read about it on Reddit](https://www.reddit.com/r/InstagramMarketing/comments/1cu2dge/whats_the_point_of_having_facebook_views_on/)",
|
|
577
|
+
description: "Get a persons public posts (which includes reels). The published time is returned in `items[].created_at` as an ISO 8601 UTC date. The original Unix timestamp is still available in `items[].taken_at`. *Play counts can sometimes be inaccurate* Play counts are Instagram-only. When a Reel is also cross-posted to Facebook, Instagram (behind login) shows you the combined IG + FB views. But this API will only return the Instagram views. [Read about it on Reddit](https://www.reddit.com/r/InstagramMarketing/comments/1cu2dge/whats_the_point_of_having_facebook_views_on/)",
|
|
578
578
|
fullDescription:
|
|
579
|
-
"Returns a paginated feed of a user's public Instagram posts, including photos, videos, and carousels. Each item includes media type, shortcode, caption text, like count, comment count, play count, video URLs, image URLs, and
|
|
579
|
+
"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. 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.",
|
|
580
580
|
path: "/v2/instagram/user/posts",
|
|
581
581
|
paginationField: "next_max_id",
|
|
582
582
|
responseFields: [
|
|
583
|
+
{
|
|
584
|
+
path: "items[0].created_at",
|
|
585
|
+
description: "Human-readable published time in ISO 8601 UTC format.",
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
path: "items[0].taken_at",
|
|
589
|
+
description: "Original published time as a Unix timestamp in seconds.",
|
|
590
|
+
},
|
|
583
591
|
{
|
|
584
592
|
path: "items[0].video_versions[0].url",
|
|
585
593
|
description: "If the post is video, this is the URL of the video",
|
|
@@ -620,6 +628,7 @@ export const instagramBaseApis = {
|
|
|
620
628
|
has_privately_liked: false,
|
|
621
629
|
filter_type: 0,
|
|
622
630
|
taken_at: 1743438570,
|
|
631
|
+
created_at: "2025-03-31T16:29:30.000Z",
|
|
623
632
|
usertags: {
|
|
624
633
|
in: [
|
|
625
634
|
{
|
|
@@ -1373,13 +1382,64 @@ export const instagramBaseApis = {
|
|
|
1373
1382
|
},
|
|
1374
1383
|
],
|
|
1375
1384
|
},
|
|
1385
|
+
{
|
|
1386
|
+
name: "User Tagged Posts",
|
|
1387
|
+
method: "GET",
|
|
1388
|
+
description: "Get public Instagram posts that a user is tagged in.",
|
|
1389
|
+
fullDescription:
|
|
1390
|
+
"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.",
|
|
1391
|
+
path: "/v1/instagram/user/tagged-posts",
|
|
1392
|
+
paginationField: "cursor",
|
|
1393
|
+
params: [
|
|
1394
|
+
{
|
|
1395
|
+
name: "user_id",
|
|
1396
|
+
type: "string",
|
|
1397
|
+
required: true,
|
|
1398
|
+
description: "Numeric Instagram user ID.",
|
|
1399
|
+
placeholder: "325734299",
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
name: "cursor",
|
|
1403
|
+
type: "string",
|
|
1404
|
+
required: false,
|
|
1405
|
+
description: "Cursor returned by the previous response.",
|
|
1406
|
+
placeholder: "3953374600788032611",
|
|
1407
|
+
},
|
|
1408
|
+
],
|
|
1409
|
+
sampleResponse: {
|
|
1410
|
+
success: true,
|
|
1411
|
+
credits_remaining: 999,
|
|
1412
|
+
posts: [
|
|
1413
|
+
{
|
|
1414
|
+
pk: "3953402310668919030",
|
|
1415
|
+
code: "DbdTnSdoSD2",
|
|
1416
|
+
media_type: 1,
|
|
1417
|
+
caption: {
|
|
1418
|
+
pk: "18139631029604360",
|
|
1419
|
+
text: "You get the best of both worlds ig",
|
|
1420
|
+
},
|
|
1421
|
+
comment_count: 0,
|
|
1422
|
+
like_count: 3,
|
|
1423
|
+
view_count: null,
|
|
1424
|
+
user: {
|
|
1425
|
+
pk: "13320148665",
|
|
1426
|
+
id: "13320148665",
|
|
1427
|
+
username: "oceanecosplay",
|
|
1428
|
+
},
|
|
1429
|
+
url: "https://www.instagram.com/p/DbdTnSdoSD2/",
|
|
1430
|
+
},
|
|
1431
|
+
],
|
|
1432
|
+
cursor: "3953374600788032611",
|
|
1433
|
+
has_more: true,
|
|
1434
|
+
},
|
|
1435
|
+
},
|
|
1376
1436
|
{
|
|
1377
1437
|
name: "Reels",
|
|
1378
1438
|
method: "GET",
|
|
1379
1439
|
description:
|
|
1380
|
-
"Get all public reels from a profile. Can provide a user_id or handle, but for faster response times, use user_id. This won't include pinned reels right now. And I'm not sure why, but it looks like IG doesn't return the description of the reel on this endpoint :( You'll have to use the post detail endpoint to get that. *Play counts can sometimes be inaccurate* Play counts are Instagram-only. When a Reel is also cross-posted to Facebook, Instagram (behind login) shows you the combined IG + FB views. But this API will only return the Instagram views. [Read about it on Reddit](https://www.reddit.com/r/InstagramMarketing/comments/1cu2dge/whats_the_point_of_having_facebook_views_on/)",
|
|
1440
|
+
"Get all public reels from a profile. The published time is returned 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`. Can provide a user_id or handle, but for faster response times, use user_id. This won't include pinned reels right now. And I'm not sure why, but it looks like IG doesn't return the description of the reel on this endpoint :( You'll have to use the post detail endpoint to get that. *Play counts can sometimes be inaccurate* Play counts are Instagram-only. When a Reel is also cross-posted to Facebook, Instagram (behind login) shows you the combined IG + FB views. But this API will only return the Instagram views. [Read about it on Reddit](https://www.reddit.com/r/InstagramMarketing/comments/1cu2dge/whats_the_point_of_having_facebook_views_on/)",
|
|
1381
1441
|
fullDescription:
|
|
1382
|
-
"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, and
|
|
1442
|
+
"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.",
|
|
1383
1443
|
path: "/v1/instagram/user/reels",
|
|
1384
1444
|
paginationField: "max_id",
|
|
1385
1445
|
sampleResponse: {
|
|
@@ -1387,6 +1447,7 @@ export const instagramBaseApis = {
|
|
|
1387
1447
|
{
|
|
1388
1448
|
media: {
|
|
1389
1449
|
taken_at: 1736294201,
|
|
1450
|
+
created_at: "2025-01-07T23:56:41.000Z",
|
|
1390
1451
|
pk: "3540614075954356349",
|
|
1391
1452
|
id: "3540614075954356349_2700692569",
|
|
1392
1453
|
fbid: "17882057793200056",
|
|
@@ -1744,6 +1805,7 @@ export const instagramBaseApis = {
|
|
|
1744
1805
|
id: "3641924023820356866_21393171",
|
|
1745
1806
|
code: "DKKtpqaxg0C",
|
|
1746
1807
|
taken_at: 1748371310,
|
|
1808
|
+
created_at: "2025-05-27T18:41:50.000Z",
|
|
1747
1809
|
caption: {
|
|
1748
1810
|
bit_flags: 0,
|
|
1749
1811
|
created_at: 1748371312,
|
|
@@ -1979,6 +2041,16 @@ export const instagramBaseApis = {
|
|
|
1979
2041
|
"QVFEWFlDdGNOamdwbVdNM2pLY1NJRndSZ2tCbWp6WDV0TWxaYl9WNVktZU1BTUxWMlg1c2JFenNDanJVZ2NudWFjR28zRG93a3ByTExXaHJMbTA0aVJBZg==",
|
|
1980
2042
|
},
|
|
1981
2043
|
responseFields: [
|
|
2044
|
+
{
|
|
2045
|
+
path: "items[0].media.created_at",
|
|
2046
|
+
description:
|
|
2047
|
+
"Human-readable published time in ISO 8601 UTC format. With trim=true, use items[0].created_at.",
|
|
2048
|
+
},
|
|
2049
|
+
{
|
|
2050
|
+
path: "items[0].media.taken_at",
|
|
2051
|
+
description:
|
|
2052
|
+
"Original published time as a Unix timestamp in seconds. With trim=true, use items[0].taken_at.",
|
|
2053
|
+
},
|
|
1982
2054
|
{
|
|
1983
2055
|
path: "items[0].media.play_count",
|
|
1984
2056
|
description: "This is views for the reel.",
|
|
@@ -2027,18 +2099,26 @@ export const instagramBaseApis = {
|
|
|
2027
2099
|
name: "Post/Reel Info",
|
|
2028
2100
|
method: "GET",
|
|
2029
2101
|
description:
|
|
2030
|
-
"Retrieve public post/reel details. *Play counts can sometimes be inaccurate* Play counts are Instagram-only. When a Reel is also cross-posted to Facebook, Instagram (behind login) shows you the combined IG + FB views. But this API will only return the Instagram views. [Read about it on Reddit](https://www.reddit.com/r/InstagramMarketing/comments/1cu2dge/whats_the_point_of_having_facebook_views_on/)",
|
|
2102
|
+
"Retrieve public post/reel details. The published time is returned 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 can sometimes be inaccurate* Play counts are Instagram-only. When a Reel is also cross-posted to Facebook, Instagram (behind login) shows you the combined IG + FB views. But this API will only return the Instagram views. [Read about it on Reddit](https://www.reddit.com/r/InstagramMarketing/comments/1cu2dge/whats_the_point_of_having_facebook_views_on/)",
|
|
2031
2103
|
fullDescription:
|
|
2032
|
-
"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,
|
|
2104
|
+
"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.",
|
|
2033
2105
|
path: "/v1/instagram/post",
|
|
2034
2106
|
responseFields: [
|
|
2107
|
+
{
|
|
2108
|
+
path: "data.xdt_shortcode_media.created_at",
|
|
2109
|
+
description: "Human-readable published time in ISO 8601 UTC format.",
|
|
2110
|
+
},
|
|
2111
|
+
{
|
|
2112
|
+
path: "data.xdt_shortcode_media.taken_at_timestamp",
|
|
2113
|
+
description: "Original published time as a Unix timestamp in seconds.",
|
|
2114
|
+
},
|
|
2035
2115
|
{
|
|
2036
2116
|
path: "data.xdt_shortcode_media.video_url",
|
|
2037
2117
|
description: "If the post is video, this is the URL of the video",
|
|
2038
2118
|
},
|
|
2039
2119
|
{
|
|
2040
2120
|
path: "data.xdt_shortcode_media.video_play_count",
|
|
2041
|
-
description: "Views (only for reels)",
|
|
2121
|
+
description: "Views (only for reels). Omitted when `include_play_count=false`.",
|
|
2042
2122
|
},
|
|
2043
2123
|
{
|
|
2044
2124
|
path: "data.xdt_shortcode_media.edge_media_preview_like.count",
|
|
@@ -2211,6 +2291,7 @@ export const instagramBaseApis = {
|
|
|
2211
2291
|
},
|
|
2212
2292
|
comments_disabled: false,
|
|
2213
2293
|
commenting_disabled_for_viewer: false,
|
|
2294
|
+
created_at: "2025-02-10T18:00:35.000Z",
|
|
2214
2295
|
taken_at_timestamp: 1739210435,
|
|
2215
2296
|
edge_media_preview_like: { count: 153, edges: [] },
|
|
2216
2297
|
edge_media_to_sponsor_user: { edges: [] },
|
|
@@ -2641,6 +2722,13 @@ export const instagramBaseApis = {
|
|
|
2641
2722
|
placeholder: false,
|
|
2642
2723
|
credits: 10,
|
|
2643
2724
|
},
|
|
2725
|
+
{
|
|
2726
|
+
name: "include_play_count",
|
|
2727
|
+
type: "boolean",
|
|
2728
|
+
required: false,
|
|
2729
|
+
description: "Set to false to omit `video_play_count` and skip its additional fetch for a faster response. Defaults to true.",
|
|
2730
|
+
placeholder: true,
|
|
2731
|
+
},
|
|
2644
2732
|
],
|
|
2645
2733
|
},
|
|
2646
2734
|
{
|
|
@@ -3385,13 +3473,137 @@ export const instagramBaseApis = {
|
|
|
3385
3473
|
// ],
|
|
3386
3474
|
// },
|
|
3387
3475
|
// },
|
|
3476
|
+
{
|
|
3477
|
+
name: "Search Instagram",
|
|
3478
|
+
method: "GET",
|
|
3479
|
+
description:
|
|
3480
|
+
"Find users, hashtags, and places with Instagram's native search. Use this for account or entity lookup; it returns one page and does not return posts.",
|
|
3481
|
+
fullDescription:
|
|
3482
|
+
"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 broader profile discovery from Google-indexed bios and captions, use /v1/instagram/search/profiles.",
|
|
3483
|
+
path: "/v1/instagram/search",
|
|
3484
|
+
params: [
|
|
3485
|
+
{
|
|
3486
|
+
name: "query",
|
|
3487
|
+
type: "string",
|
|
3488
|
+
required: true,
|
|
3489
|
+
description: "The username, hashtag, place, or keyword to search for.",
|
|
3490
|
+
placeholder: "nike",
|
|
3491
|
+
},
|
|
3492
|
+
],
|
|
3493
|
+
sampleResponse: {
|
|
3494
|
+
success: true,
|
|
3495
|
+
credits_remaining: 100,
|
|
3496
|
+
data: {
|
|
3497
|
+
query: "nike",
|
|
3498
|
+
users: [
|
|
3499
|
+
{
|
|
3500
|
+
position: 0,
|
|
3501
|
+
id: "13460080",
|
|
3502
|
+
username: "nike",
|
|
3503
|
+
full_name: "Nike",
|
|
3504
|
+
is_verified: true,
|
|
3505
|
+
profile_pic_url: "https://instagram.example.com/nike.jpg",
|
|
3506
|
+
},
|
|
3507
|
+
],
|
|
3508
|
+
hashtags: [
|
|
3509
|
+
{
|
|
3510
|
+
position: 2,
|
|
3511
|
+
id: "17841562978125529",
|
|
3512
|
+
name: "nikewomen",
|
|
3513
|
+
media_count: 2036828,
|
|
3514
|
+
search_result_subtitle: null,
|
|
3515
|
+
},
|
|
3516
|
+
],
|
|
3517
|
+
places: [
|
|
3518
|
+
{
|
|
3519
|
+
position: 51,
|
|
3520
|
+
id: "715603272",
|
|
3521
|
+
name: "Nike",
|
|
3522
|
+
title: "Nike",
|
|
3523
|
+
subtitle: "",
|
|
3524
|
+
facebook_places_id: "106068296090172",
|
|
3525
|
+
},
|
|
3526
|
+
],
|
|
3527
|
+
keywords: [],
|
|
3528
|
+
rank_token: "a6e9cded-6c3e-41be-a6b1-9fa5295a30d5",
|
|
3529
|
+
},
|
|
3530
|
+
},
|
|
3531
|
+
},
|
|
3532
|
+
{
|
|
3533
|
+
name: "Popular Search",
|
|
3534
|
+
method: "GET",
|
|
3535
|
+
description:
|
|
3536
|
+
"Explore an Instagram topic and its curated posts. Use this when you want the Popular page's generated description, sources, suggested terms, media count, and paginated posts.",
|
|
3537
|
+
fullDescription:
|
|
3538
|
+
"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.",
|
|
3539
|
+
path: "/v1/instagram/search/popular",
|
|
3540
|
+
params: [
|
|
3541
|
+
{
|
|
3542
|
+
name: "query",
|
|
3543
|
+
type: "string",
|
|
3544
|
+
required: true,
|
|
3545
|
+
description: "The Popular topic to search for.",
|
|
3546
|
+
placeholder: "basketball",
|
|
3547
|
+
},
|
|
3548
|
+
{
|
|
3549
|
+
name: "cursor",
|
|
3550
|
+
type: "string",
|
|
3551
|
+
required: false,
|
|
3552
|
+
description:
|
|
3553
|
+
"The opaque cursor returned by the previous response. Use it with the same query to fetch the next page of posts.",
|
|
3554
|
+
placeholder: "opaque-cursor-from-response",
|
|
3555
|
+
},
|
|
3556
|
+
],
|
|
3557
|
+
sampleResponse: {
|
|
3558
|
+
success: true,
|
|
3559
|
+
credits_remaining: 99,
|
|
3560
|
+
credits_charged: 1,
|
|
3561
|
+
query: "basketball",
|
|
3562
|
+
title: "Basketball",
|
|
3563
|
+
total_media_count: 8800000,
|
|
3564
|
+
description: {
|
|
3565
|
+
plain_text:
|
|
3566
|
+
"James Naismith invented basketball in December 1891 in Springfield, Massachusetts as an indoor winter activity.",
|
|
3567
|
+
source_uris: [
|
|
3568
|
+
"https://en.wikipedia.org/wiki/Outline_of_basketball",
|
|
3569
|
+
],
|
|
3570
|
+
linked_terms: [],
|
|
3571
|
+
},
|
|
3572
|
+
suggested_terms: [
|
|
3573
|
+
"the tallest basketball player",
|
|
3574
|
+
"thats my man basketball",
|
|
3575
|
+
"jason williams basketball player",
|
|
3576
|
+
],
|
|
3577
|
+
posts: [
|
|
3578
|
+
{
|
|
3579
|
+
id: "POLARIS_3892957342260916992",
|
|
3580
|
+
shortcode: "DYGkBO3NfMA",
|
|
3581
|
+
url: "https://www.instagram.com/reel/DYGkBO3NfMA/",
|
|
3582
|
+
type: "reel",
|
|
3583
|
+
caption: "😂😂 #meta #pov #hooper #basketball",
|
|
3584
|
+
display_url: "https://instagram.example.com/basketball-cover.jpg",
|
|
3585
|
+
video_url: "https://instagram.example.com/basketball-video.mp4",
|
|
3586
|
+
play_count: 11993988,
|
|
3587
|
+
owner: {
|
|
3588
|
+
id: "17841409679275910",
|
|
3589
|
+
username: "lukaceo",
|
|
3590
|
+
is_verified: false,
|
|
3591
|
+
profile_pic_url:
|
|
3592
|
+
"https://instagram.example.com/lukaceo-profile.jpg",
|
|
3593
|
+
},
|
|
3594
|
+
},
|
|
3595
|
+
],
|
|
3596
|
+
cursor: "opaque-cursor-from-response",
|
|
3597
|
+
has_more: true,
|
|
3598
|
+
},
|
|
3599
|
+
},
|
|
3388
3600
|
{
|
|
3389
3601
|
name: "Search Hashtag Posts",
|
|
3390
3602
|
method: "GET",
|
|
3391
3603
|
description:
|
|
3392
|
-
"
|
|
3604
|
+
"Find Google-indexed public Instagram posts for an exact hashtag. Use this when you know the hashtag and want date filters or pagination.",
|
|
3393
3605
|
fullDescription:
|
|
3394
|
-
"
|
|
3606
|
+
"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.",
|
|
3395
3607
|
path: "/v1/instagram/search/hashtag",
|
|
3396
3608
|
params: [
|
|
3397
3609
|
{
|
|
@@ -3421,7 +3633,7 @@ export const instagramBaseApis = {
|
|
|
3421
3633
|
name: "cursor",
|
|
3422
3634
|
type: "string",
|
|
3423
3635
|
required: false,
|
|
3424
|
-
description: "The cursor returned by the previous response.
|
|
3636
|
+
description: "The cursor returned by the previous response. It is the next Google results page number and cannot exceed 11; cursor 12 or greater returns a 400 response.",
|
|
3425
3637
|
placeholder: "2",
|
|
3426
3638
|
},
|
|
3427
3639
|
],
|
|
@@ -3442,8 +3654,6 @@ export const instagramBaseApis = {
|
|
|
3442
3654
|
"video_url": "https://scontent-ord5-2.cdninstagram.com/o1/v/t2/f2/m86/AQNG_gCzevxl8xiNB2lVRlcV8c3o3r2ZyeLeWfaY4eaHdyRX3_Z1mty2jrHuH5Z66vTC5SXrhmpdG5re9MNyf1jCtWVyPKAWQFQ037o.mp4?_nc_cat=104&_nc_sid=5e9851&_nc_ht=scontent-ord5-2.cdninstagram.com&_nc_ohc=ByTiQjuOr9wQ7kNvwGpBh0x&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNzIwLmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6MTEyMDQ3OTIyMDA0MTUwMSwiYXNzZXRfYWdlX2RheXMiOjI2NCwidmlfdXNlY2FzZV9pZCI6MTAwOTksImR1cmF0aW9uX3MiOjY1LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&vs=638842146c84456b&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC80QTQ2OURBNUJBQTE1RjdFODZFRjQxRThCOUU1RTNBOV92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYRmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC83NDQ4NjQwMTg0MjI1MjdfODI5Mjc2OTQ2ODc2ODI3MDk4OC5tcDQVAgLIARIAKAAYABsCiAd1c2Vfb2lsATEScHJvZ3Jlc3NpdmVfcmVjaXBlATEVAAAmupyc3rzE_QMVAigCQzMsF0BQbul41P30GBJkYXNoX2Jhc2VsaW5lXzFfdjERAHX-B2XmnQEA&_nc_gid=tAUZdiRnIdGjcNvGfTjMvg&_nc_ss=7a22e&_nc_zt=28&oh=00_Af6Z6PbM9b2RWG7EdCufc8MOp-pcmhJu3EMKtd_pzJaopw&oe=6A193955",
|
|
3443
3655
|
"has_audio": false,
|
|
3444
3656
|
"accessibility_caption": null,
|
|
3445
|
-
"video_view_count": 148581,
|
|
3446
|
-
"video_play_count": 593055,
|
|
3447
3657
|
"product_type": "clips",
|
|
3448
3658
|
"video_duration": 65.733,
|
|
3449
3659
|
"clips_music_attribution_info": {
|
|
@@ -3607,8 +3817,6 @@ export const instagramBaseApis = {
|
|
|
3607
3817
|
"video_url": "https://scontent-mia3-3.cdninstagram.com/o1/v/t2/f2/m86/AQP-dJROb1RW6mt2HO6rqPKhUN-R0M9RSjgR90483nKJLqoM8VMl-0EDaym5Rs0T0lFFo4iSC5S5JroQMHi_LoU1Yh7MByctDUq2rHo.mp4?_nc_cat=109&_nc_sid=5e9851&_nc_ht=scontent-mia3-3.cdninstagram.com&_nc_ohc=jhHcKAQGJiwQ7kNvwGmCH4u&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNzIwLmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6MTgwMjI3MjQ3NjI4MTg0NzQsImFzc2V0X2FnZV9kYXlzIjo0NywidmlfdXNlY2FzZV9pZCI6MTAwOTksImR1cmF0aW9uX3MiOjg1LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&vs=e040d8d00e2dc40b&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC8wMzRDNzAxMEM2ODZDQUU1RUE4Q0JFMzJFRTEyMERBQl92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYUWlnX3hwdl9wbGFjZW1lbnRfcGVybWFuZW50X3YyL0YwNDIxOThBM0VBRDMzQTgxRDNGQzA2QUZCODNEQjhCX2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACbU3vq10-SDQBUCKAJDMywXQFVZmZmZmZoYEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HZeadAQA&_nc_gid=YD_Zc4FAN30v4fHL3lOgfw&_nc_ss=7a22e&_nc_zt=28&oh=00_Af4i9UTMzKBF1CWLsrCpPWFNBMny8wS91rv7XyzFvw24ng&oe=6A193ED6",
|
|
3608
3818
|
"has_audio": true,
|
|
3609
3819
|
"accessibility_caption": null,
|
|
3610
|
-
"video_view_count": 770,
|
|
3611
|
-
"video_play_count": 1650,
|
|
3612
3820
|
"product_type": "clips",
|
|
3613
3821
|
"video_duration": 85.419,
|
|
3614
3822
|
"clips_music_attribution_info": {
|
|
@@ -3648,9 +3856,9 @@ export const instagramBaseApis = {
|
|
|
3648
3856
|
name: "Search Instagram Profiles",
|
|
3649
3857
|
method: "GET",
|
|
3650
3858
|
description:
|
|
3651
|
-
"Find
|
|
3859
|
+
"Find profiles from Google-indexed bios and captions. Use this for broader creator discovery; use /v1/instagram/search for Instagram-native account lookup.",
|
|
3652
3860
|
fullDescription:
|
|
3653
|
-
"
|
|
3861
|
+
"Use this for broad creator discovery from keywords found in Google-indexed Instagram profile pages, bios, and post captions. Profile-page matches are marked matched_from=profile; caption matches are enriched into the creator profile and marked matched_from=caption. This is best-effort and can paginate, but it is not Instagram-native or complete. For Instagram's own ranked account results, use /v1/instagram/search. Cursors are limited to pages 1 through 11; cursor 12 or greater returns a 400 response.",
|
|
3654
3862
|
path: "/v1/instagram/search/profiles",
|
|
3655
3863
|
params: [
|
|
3656
3864
|
{
|
|
@@ -3664,7 +3872,7 @@ export const instagramBaseApis = {
|
|
|
3664
3872
|
name: "cursor",
|
|
3665
3873
|
type: "string",
|
|
3666
3874
|
required: false,
|
|
3667
|
-
description: "The cursor returned by the previous response.
|
|
3875
|
+
description: "The cursor returned by the previous response. It is the next Google results page number and cannot exceed 11; cursor 12 or greater returns a 400 response.",
|
|
3668
3876
|
placeholder: "2",
|
|
3669
3877
|
},
|
|
3670
3878
|
],
|
|
@@ -3761,9 +3969,9 @@ export const instagramBaseApis = {
|
|
|
3761
3969
|
name: "Search Reels",
|
|
3762
3970
|
method: "GET",
|
|
3763
3971
|
description:
|
|
3764
|
-
"
|
|
3972
|
+
"Find Google-indexed Instagram reels by keyword. Use this when you only want reels and need date filters or pagination.",
|
|
3765
3973
|
fullDescription:
|
|
3766
|
-
"
|
|
3974
|
+
"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.",
|
|
3767
3975
|
path: "/v2/instagram/reels/search",
|
|
3768
3976
|
params: [
|
|
3769
3977
|
{
|
|
@@ -3777,15 +3985,15 @@ export const instagramBaseApis = {
|
|
|
3777
3985
|
name: "date_posted",
|
|
3778
3986
|
type: "select",
|
|
3779
3987
|
required: false,
|
|
3780
|
-
description: "
|
|
3781
|
-
options: ["last-
|
|
3782
|
-
placeholder: "last-
|
|
3988
|
+
description: "Google-indexed date window. Recent hour/day filters are not supported because Google does not index Instagram reels reliably enough in those windows.",
|
|
3989
|
+
options: ["last-week", "last-month", "last-year"],
|
|
3990
|
+
placeholder: "last-week",
|
|
3783
3991
|
},
|
|
3784
3992
|
{
|
|
3785
3993
|
name: "page",
|
|
3786
3994
|
type: "number",
|
|
3787
3995
|
required: false,
|
|
3788
|
-
description: "The page number to return.",
|
|
3996
|
+
description: "The page number to return. Must be between 1 and 11; page 12 or greater returns a 400 response.",
|
|
3789
3997
|
placeholder: 1,
|
|
3790
3998
|
},
|
|
3791
3999
|
],
|
|
@@ -3808,8 +4016,6 @@ export const instagramBaseApis = {
|
|
|
3808
4016
|
"https://scontent-sjc3-1.cdninstagram.com/o1/v/t2/f2/m86/AQPtJA5EnMaKK-MNttf3RtYeQCVd-RvC7-juqeJiRkM3tKOkES_-1_ejsPDHgHGZ-xl4in8i3l38K12FlyUWKsieKzs2fGzo1GYOYJI.mp4?_nc_cat=105&_nc_sid=5e9851&_nc_ht=scontent-sjc3-1.cdninstagram.com&_nc_ohc=YBLRFw3fFXcQ7kNvwGKHSNS&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNzIwLmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6Nzg4NjQ4MjQzNTUwNjIxLCJhc3NldF9hZ2VfZGF5cyI6MTA1LCJ2aV91c2VjYXNlX2lkIjoxMDA5OSwiZHVyYXRpb25fcyI6NzUsInVybGdlbl9zb3VyY2UiOiJ3d3cifQ%3D%3D&ccb=17-1&vs=8331fe48c9c9d742&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC85NjQ3MjM4QTg3QjMzMzVCNEVBNDI2NEUzRTIyRTNBRV92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HRGFlcnlEbFRCTkhBbXdGQUk1d0lORGFpWEk3YnFfRUFBQUYVAgLIARIAKAAYABsCiAd1c2Vfb2lsATEScHJvZ3Jlc3NpdmVfcmVjaXBlATEVAAAmuubGpq_R5gIVAigCQzMsF0BS7MzMzMzNGBJkYXNoX2Jhc2VsaW5lXzFfdjERAHX-B2XmnQEA&_nc_gid=rIrCBBTCedpkbi2BFdOeJA&_nc_zt=28&oh=00_Afnoz52f0MquXCMwfTVoxg7ArrUBU0IM-BhI13EbDc8qKg&oe=695618AE",
|
|
3809
4017
|
has_audio: false,
|
|
3810
4018
|
accessibility_caption: null,
|
|
3811
|
-
video_view_count: 21808,
|
|
3812
|
-
video_play_count: 46018,
|
|
3813
4019
|
product_type: "clips",
|
|
3814
4020
|
video_duration: 75.7,
|
|
3815
4021
|
clips_music_attribution_info: {
|
|
@@ -3982,8 +4188,6 @@ export const instagramBaseApis = {
|
|
|
3982
4188
|
"https://instagram.fjau2-1.fna.fbcdn.net/o1/v/t2/f2/m86/AQMGznAPGhcSD2V0mwaf-FG2EZJ2y8OO0-NaXzzePzZsktazCSmUBKiRUMQwRCs4f3hajvZe9J0kqn6tMNEoZkqIa3_3VORgBKZTaFY.mp4?_nc_cat=103&_nc_oc=AdlOjWBrhYJ5_tH_G0NgrsGmMwladCYG_uKMlWZpc3XjffSG1-N1Ql8PB5bibwJ1ghM&_nc_sid=5e9851&_nc_ht=instagram.fjau2-1.fna.fbcdn.net&_nc_ohc=uji5XQuEMl4Q7kNvwHXgBf0&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNTc2LmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6NzA4OTMwMTEyMDExMDc2LCJhc3NldF9hZ2VfZGF5cyI6NywidmlfdXNlY2FzZV9pZCI6MTAwOTksImR1cmF0aW9uX3MiOjc3LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&vs=c8400c88801d2050&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC9ENDQ2OEIwRjVCQUY0NjdFMkUxMkM5RjhERDdERTBBMV92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HTlRSQXlUa2s5S3AxTThFQUh0NzhBU1gwZW9LYnN0VEFRQUYVAgLIARIAKAAYABsCiAd1c2Vfb2lsATEScHJvZ3Jlc3NpdmVfcmVjaXBlATEVAAAmiO3595SxwgIVAigCQzMsF0BTSp--dsi0GBJkYXNoX2Jhc2VsaW5lXzFfdjERAHX-B2XmnQEA&_nc_gid=aUx3RrOXcjBr2cA8SlA4sQ&_nc_zt=28&oh=00_AfmLbRxcBwEdb3HYqfUn-rjQvS8bP26kMKK5fRC9ePBVAQ&oe=69563678",
|
|
3983
4189
|
has_audio: true,
|
|
3984
4190
|
accessibility_caption: null,
|
|
3985
|
-
video_view_count: 1437,
|
|
3986
|
-
video_play_count: 2905,
|
|
3987
4191
|
product_type: "clips",
|
|
3988
4192
|
video_duration: 77.166,
|
|
3989
4193
|
clips_music_attribution_info: {
|
|
@@ -4136,8 +4340,6 @@ export const instagramBaseApis = {
|
|
|
4136
4340
|
"https://scontent-sjc6-1.cdninstagram.com/o1/v/t2/f2/m86/AQONqqxKabff9BZRO7uaH5BXwMh8BXSlRwnMcLRLe5oqcqYkeSKi0MxuMJ8HZRDkT2y36sOu5bmYPEg8-CczNflliC4uhmdf1gElZ8Y.mp4?_nc_cat=104&_nc_sid=5e9851&_nc_ht=scontent-sjc6-1.cdninstagram.com&_nc_ohc=3-ncb8NjkgEQ7kNvwHkyBCh&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNzIwLmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6MTkxNjY3MjEzNTc3ODE0MiwiYXNzZXRfYWdlX2RheXMiOjExNSwidmlfdXNlY2FzZV9pZCI6MTAwOTksImR1cmF0aW9uX3MiOjU5LCJ1cmxnZW5fc291cmNlIjoid3d3In0%3D&ccb=17-1&vs=49d2cb7a8533f053&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC9ERDQxQjIwMzUxMTg0RjAxNjI5NDQ2QTI5RUE5NTA4OF92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HRFRiWWlBai0yOXZXX0lEQUIzUkxUVTZwbnNaYnFfRUFBQUYVAgLIARIAKAAYABsCiAd1c2Vfb2lsATEScHJvZ3Jlc3NpdmVfcmVjaXBlATEVAAAmvL3unIDN5wYVAigCQzMsF0BNt2yLQ5WBGBJkYXNoX2Jhc2VsaW5lXzFfdjERAHX-B2XmnQEA&_nc_gid=K2ngcS-IqRjRHUvD236sDQ&_nc_zt=28&oh=00_Afny6XlXH8a5lIeV7vyIgobLzhbCJOd3KcMZ-DYexwOUyg&oe=69562279",
|
|
4137
4341
|
has_audio: true,
|
|
4138
4342
|
accessibility_caption: null,
|
|
4139
|
-
video_view_count: 110684,
|
|
4140
|
-
video_play_count: 271876,
|
|
4141
4343
|
product_type: "clips",
|
|
4142
4344
|
video_duration: 59.433,
|
|
4143
4345
|
clips_music_attribution_info: {
|
|
@@ -5454,7 +5656,7 @@ export const instagramBaseApis = {
|
|
|
5454
5656
|
method: "GET",
|
|
5455
5657
|
description: "Get comments from an Instagram post or reel. Not gonna lie, this is one of our most error prone endpoints. You should expect ~90% success rate.",
|
|
5456
5658
|
fullDescription:
|
|
5457
|
-
"Retrieves comments on a public Instagram post or reel. Each comment includes the comment text, creation timestamp, and commenter details such as username, user ID, verification status, and profile picture URL. Supports cursor-based pagination to load additional comment pages.",
|
|
5659
|
+
"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. This option always costs 15 credits because Scrape Creators makes a separate Instagram replies request for every comment in the response. It is possible that no replies are returned, but you will still be charged 15 credits because those reply lookups were performed. 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.",
|
|
5458
5660
|
path: "/v2/instagram/post/comments",
|
|
5459
5661
|
params: [
|
|
5460
5662
|
{
|
|
@@ -5472,16 +5674,30 @@ export const instagramBaseApis = {
|
|
|
5472
5674
|
"The cursor to get more comments. Get 'cursor' from previous response.",
|
|
5473
5675
|
placeholder: "eyJjYWNoZWRfY29tbWVud...",
|
|
5474
5676
|
},
|
|
5677
|
+
{
|
|
5678
|
+
name: "include_replies",
|
|
5679
|
+
type: "boolean",
|
|
5680
|
+
required: false,
|
|
5681
|
+
description:
|
|
5682
|
+
"Set to true to include replies for every returned comment. This always costs 15 credits because each comment requires a separate Instagram replies request. You will still be charged 15 credits if no replies are returned. This is much slower and may time out at 29 seconds.",
|
|
5683
|
+
placeholder: "true",
|
|
5684
|
+
credits: 15,
|
|
5685
|
+
},
|
|
5475
5686
|
],
|
|
5476
5687
|
sampleResponse: {
|
|
5477
5688
|
success: true,
|
|
5478
5689
|
credits_remaining: 33929114,
|
|
5690
|
+
credits_charged: 15,
|
|
5479
5691
|
comments: [
|
|
5480
5692
|
{
|
|
5481
5693
|
id: "18051843701642870",
|
|
5482
5694
|
text: '"...but who wants to know people who don\'t love animals anyway?". ❤️',
|
|
5483
5695
|
created_at: "2025-09-16T17:03:04.000Z",
|
|
5484
5696
|
"comment_like_count": 0,
|
|
5697
|
+
"child_comment_count": 0,
|
|
5698
|
+
replies: [],
|
|
5699
|
+
replies_cursor: null,
|
|
5700
|
+
has_more_replies: false,
|
|
5485
5701
|
user: {
|
|
5486
5702
|
is_verified: false,
|
|
5487
5703
|
id: "46773599357",
|
|
@@ -5498,6 +5714,10 @@ export const instagramBaseApis = {
|
|
|
5498
5714
|
text: "What a lovely lady, I'm with her who wants to know anyone who doesn't love animals ❤️👏",
|
|
5499
5715
|
created_at: "2025-09-16T19:53:21.000Z",
|
|
5500
5716
|
"comment_like_count": 0,
|
|
5717
|
+
"child_comment_count": 0,
|
|
5718
|
+
replies: [],
|
|
5719
|
+
replies_cursor: null,
|
|
5720
|
+
has_more_replies: false,
|
|
5501
5721
|
user: {
|
|
5502
5722
|
is_verified: false,
|
|
5503
5723
|
id: "45139684051",
|
|
@@ -5513,6 +5733,61 @@ export const instagramBaseApis = {
|
|
|
5513
5733
|
cursor: "AQHSpoi6HyDbzYRMzrD.........",
|
|
5514
5734
|
},
|
|
5515
5735
|
},
|
|
5736
|
+
{
|
|
5737
|
+
name: "Comment Replies",
|
|
5738
|
+
method: "GET",
|
|
5739
|
+
description: "Get replies to an Instagram comment.",
|
|
5740
|
+
fullDescription:
|
|
5741
|
+
"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.",
|
|
5742
|
+
path: "/v1/instagram/post/comment/replies",
|
|
5743
|
+
paginationField: "cursor",
|
|
5744
|
+
params: [
|
|
5745
|
+
{
|
|
5746
|
+
name: "url",
|
|
5747
|
+
type: "string",
|
|
5748
|
+
required: true,
|
|
5749
|
+
description: "The Instagram post or reel URL",
|
|
5750
|
+
placeholder: "https://www.instagram.com/reel/C8rKmYvsrck",
|
|
5751
|
+
},
|
|
5752
|
+
{
|
|
5753
|
+
name: "comment_id",
|
|
5754
|
+
type: "string",
|
|
5755
|
+
required: true,
|
|
5756
|
+
description: "The parent comment ID from the Comments endpoint",
|
|
5757
|
+
placeholder: "18038110327814211",
|
|
5758
|
+
},
|
|
5759
|
+
{
|
|
5760
|
+
name: "cursor",
|
|
5761
|
+
type: "string",
|
|
5762
|
+
required: false,
|
|
5763
|
+
description: "The cursor to get more replies. Get `cursor` from the previous response.",
|
|
5764
|
+
placeholder: "QVFDc29...",
|
|
5765
|
+
},
|
|
5766
|
+
],
|
|
5767
|
+
sampleResponse: {
|
|
5768
|
+
success: true,
|
|
5769
|
+
credits_remaining: 100,
|
|
5770
|
+
comments: [
|
|
5771
|
+
{
|
|
5772
|
+
id: "18277034998224667",
|
|
5773
|
+
text: "@username Thanks for the reply!",
|
|
5774
|
+
comment_like_count: null,
|
|
5775
|
+
child_comment_count: 0,
|
|
5776
|
+
created_at: "2024-06-28T06:20:32.000Z",
|
|
5777
|
+
parent_comment_id: "18038110327814211",
|
|
5778
|
+
user: {
|
|
5779
|
+
id: "25621023419",
|
|
5780
|
+
pk: "25621023419",
|
|
5781
|
+
username: "username",
|
|
5782
|
+
is_verified: false,
|
|
5783
|
+
profile_pic_url: "https://instagram.fosu2-2.fna.fbcdn.net/....jpg",
|
|
5784
|
+
},
|
|
5785
|
+
},
|
|
5786
|
+
],
|
|
5787
|
+
cursor: null,
|
|
5788
|
+
has_more: false,
|
|
5789
|
+
},
|
|
5790
|
+
},
|
|
5516
5791
|
// {
|
|
5517
5792
|
// name: "Reels (We handle pagination)",
|
|
5518
5793
|
// method: "GET",
|
|
@@ -6529,6 +6804,41 @@ export const instagramBaseApis = {
|
|
|
6529
6804
|
is_fit_green: true,
|
|
6530
6805
|
},
|
|
6531
6806
|
},
|
|
6807
|
+
{
|
|
6808
|
+
name: "Profile Post Count",
|
|
6809
|
+
method: "GET",
|
|
6810
|
+
description: "Gets the total number of posts on an Instagram profile",
|
|
6811
|
+
fullDescription:
|
|
6812
|
+
"Returns the total 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. Instagram does not expose this metadata for every profile; unavailable counts return an error without deducting a credit.",
|
|
6813
|
+
path: "/v1/instagram/profile/post-count",
|
|
6814
|
+
responseFields: [
|
|
6815
|
+
{
|
|
6816
|
+
path: "data.handle",
|
|
6817
|
+
description: "Instagram handle",
|
|
6818
|
+
},
|
|
6819
|
+
{
|
|
6820
|
+
path: "data.media_count",
|
|
6821
|
+
description: "Total number of posts shown on the profile",
|
|
6822
|
+
},
|
|
6823
|
+
],
|
|
6824
|
+
params: [
|
|
6825
|
+
{
|
|
6826
|
+
name: "handle",
|
|
6827
|
+
type: "string",
|
|
6828
|
+
required: true,
|
|
6829
|
+
placeholder: "lifestyleperfume",
|
|
6830
|
+
description: "Instagram handle",
|
|
6831
|
+
},
|
|
6832
|
+
],
|
|
6833
|
+
sampleResponse: {
|
|
6834
|
+
success: true,
|
|
6835
|
+
credits_remaining: 100,
|
|
6836
|
+
data: {
|
|
6837
|
+
handle: "lifestyleperfume",
|
|
6838
|
+
media_count: 2774,
|
|
6839
|
+
},
|
|
6840
|
+
},
|
|
6841
|
+
},
|
|
6532
6842
|
{
|
|
6533
6843
|
name: "Embed HTML",
|
|
6534
6844
|
method: "GET",
|