SocialCrawl

Which Endpoint Should I Use?

Decision tables for the endpoint pairs developers most often confuse, covering profile vs profile/full, Instagram's 1cr vs 5cr endpoints, list vs composite, search, transcripts, comments, batch, jobs, ad libraries, app stores, commerce reviews, and the Prism composites.

Some of these 645 endpoints do near-identical jobs, and picking the wrong one costs extra credits or returns less than you needed. Each section below answers one "these two look the same, which do I want?" question with the paths and prices side by side.

Costs are per successful call. Failed and cached responses are not charged.

If you start from what you want done rather than an endpoint name, Common jobs lists the calls, a cURL and the price of one run for each job customers most often build.

Most endpoints sit on the flat 1 / 5 / 10 tier ladder, and the figure in the Credit-cost column is what you pay. Some are metered: they hold a ceiling upfront and refund down to the work actually done, so their honest price is a range, and this page prints the range rather than the tier. Budget from the top of a range, not the floor. Every endpoint's min-max is in Endpoint pricing.

Start here

What you are trying to doSection
Get an account's stats, with or without its recent postsProfile, or profile plus posts?
Pull Instagram data and work out which price appliesInstagram's two upstreams
Page through posts or reels, with or without per-item metricsRaw list, or the enriched list?
Fill a Facebook list's gaps without a second callFill the rows, or fetch them?
Find posts about a keyword or topicOne platform, the forums, or everywhere?
Get the spoken content of a videoGetting a transcript
Read comments on a postWhich comment endpoint?
Refresh engagement numbers on URLs you already holdSingle call, or batch?
Track hiring and job postingsHiring and job postings
See what a brand is running as paid advertisingAd libraries
Research an app, its ranking, or its reviewsApp-store intelligence
Look up a product, its price, or its reviewsCommerce, product data, and reviews
Answer a whole question rather than fetch one platform's rowsWhich Prism composite?

Profile, or profile plus posts?

profile is one upstream call that returns the unified author object. profile/full is a composite: the same profile, the account's recent posts, and computed analytics in one call, so you skip the follow-up list request.

Your goalUse this endpointWhyCredit cost
Just the profile object/v1/tiktok/profileOne call, author only1cr (LinkedIn 5cr)
Profile + recent posts + analytics in one call/v1/tiktok/profile/fullComposite, no follow-up list call5cr

If you already hold the handle and only need counts, use plain profile. If your next step is always "and their recent posts", profile/full is one call instead of two.

Instagram: the 1-credit or the 5-credit endpoint?

Instagram is served by two upstreams. The 1-credit endpoints cover the public surface. The 5-credit endpoints unlock data the public surface hides: share counts, follower and following lists, stories, tagged posts, locations, and comment lists.

Your goalUse this endpointWhyCredit cost
Profile, posts, reels, single post/v1/instagram/profile, /v1/instagram/profile/posts, /v1/instagram/profile/reels, /v1/instagram/postPublic surface, cheapest upstream1cr
A post's share count/v1/instagram/post/statsOnly this endpoint returns shares5cr
Followers / following / similar accounts/v1/instagram/followers, /v1/instagram/following, /v1/instagram/similarLists the public surface does not expose5cr
Active stories/v1/instagram/storiesEphemeral data, second upstream only5cr
Comments on a post/v1/instagram/post/commentsComment list, second upstream only5cr
Posts by hashtag/v1/instagram/search/hashtagHashtag feed, second upstream only5cr

The trap is /v1/instagram/post (1cr) versus /v1/instagram/post/stats (5cr). The cheap one returns everything about a post except the share count. Reach for post/stats only when you specifically need shares.

Note also /v1/instagram/basic-profile (1cr), a slimmer profile payload than /v1/instagram/profile.

A raw list, or the enriched /full list?

For Instagram posts and reels you can pull a plain page or the enriched composite. The plain list is one fast, cheap page. The /full variant fans out per item to attach views, likes, comments, and per-item share counts where available.

Your goalUse this endpointWhyCredit cost
One page of a user's reels/v1/instagram/profile/reelsFast, cursor-paginated1cr
Reels with views, likes, comments, share counts/v1/instagram/profile/reels/fullComposite, per-reel enrichment5cr per page of ~12 (5-25cr with limit)
One page of a user's posts/v1/instagram/profile/postsFast, cursor-paginated1cr
Posts with views, likes, comments, share counts/v1/instagram/profile/posts/fullComposite, per-post enrichment5cr per page of ~12 (5-25cr with limit)
Facebook reels with exact engagement/v1/facebook/profile/reels/fullComposite, per-reel enrichment5cr per page of 10 (5-25cr with limit)

Paging a long back catalogue without needing per-item share counts is far cheaper on the plain list. Use /full when you need engagement on every item and want one call.

The two meanings of limit

limit does two different jobs on this API, and on the /full composites it is the one that moves the price.

  • Page size. On most list endpoints limit caps a single upstream page and maps to that upstream's native parameter (Naver display, GitHub per_page, and so on). One call, one page, one charge. This is the behaviour Pagination documents.
  • Collect-until-N. On a small set of endpoints limit instead tells the endpoint to keep walking upstream pages itself until it has that many unique items, deduping server-side. You are billed per page or window actually consumed, and the unused budget is refunded. Omit limit and the budget is one page, so the price is unchanged.

The collect-until-N endpoints and their ceilings:

Endpointlimit maxWalk unitCost
/v1/instagram/profile/reels/full50page of ~125cr per page, 5-25cr
/v1/instagram/profile/posts/full50page of ~125cr per page, 5-25cr
/v1/facebook/profile/reels/full50page of 105cr per page, 5-25cr
/v1/threads/search100date window of ~151cr per window, 1-7cr
/v1/prism/commentsn/acomment page2-200cr (Instagram flat 5cr)

So /v1/instagram/profile/reels/full?handle=nike&limit=50 is five pages, not one, and costs 25 credits rather than 5. Budget from the range, not the floor.

Facebook: fill the rows, or fetch them yourself?

Four Facebook list endpoints take an optional include parameter that joins every row on the page to its own detail record inside the same call. Without the parameter the call is unchanged and costs 1 credit. With it, the endpoint holds 1 credit per row, keeps only the rows a fresh lookup actually filled, and refunds the rest, which is why the price below is a range rather than a figure. Rows already in cache are filled for free, and a row Facebook publishes no number for stays null and costs nothing.

Page posts and photos

Your goalUse this callWhyCredit cost
One page of a page's posts/v1/facebook/profile/postsText, reactions, comments and publish time. No share count, and no view count on reels1cr
The same posts with share counts, plus exact reel views and duration/v1/facebook/profile/posts?include=engagementJoins each of the 3 rows on the page to its own post record in the same call1-4cr
A page's photos with author, likes, comments, shares and publish date/v1/facebook/profile/photos?include=detailsThe photo listing carries none of those, so all 8 rows on the page are joined1-9cr

include=engagement is the move when you are making the list call anyway: the page plus its 3 rows is at most 4 credits in one round trip, where fetching the same three permalinks yourself is the page call plus three /v1/facebook/post calls, at the same 4 credits but four round trips and your own permalink bookkeeping. Two other routes to the same numbers are still the better answer in their own cases.

Your situationUse this callWhyCredit cost
You are already fetching the page's feed and want share counts on it/v1/facebook/profile/posts?include=engagementOne round trip, and a row already cached or without a public share count is free1-4cr
You already hold post URLs and want current numbers on them/v1/prism/post-statsUp to 100 URLs, any platform, in one POST, with dead links refunded1cr
You want reels with exact views, likes, comments and shares/v1/facebook/profile/reels/fullMerges per-reel engagement server-side for a whole page of 105cr per page of 10 (5-25cr with limit)

Reach for /v1/prism/post-stats when the URLs are already in your database and you are refreshing numbers rather than reading a feed, since it takes up to 100 of them at once, across platforms, and refunds the dead ones. Reach for /v1/facebook/profile/reels/full for reels specifically: a flat 5 credits buys a page of 10 reels with exact engagement on every one, which joining ten rows one at a time could not beat.

The two event lists

Your goalUse this callWhyCredit cost
One page's own events/v1/facebook/profile/eventsTitle, link, start time, venue, city, time line and the cancelled, past and online flags1cr
Those events with description, address, coordinates, hosts, cover and RSVP counts/v1/facebook/profile/events?include=detailsThe page's listing carries none of those, so all 8 rows on the page are joined1-9cr
What is on in a city/v1/facebook/eventsSame row shape, and this feed does carry the cover image and the RSVP counts1cr
Those city events with description, address, city, coordinates and hosts/v1/facebook/events?include=detailsAt most 12 events on a page, so the ceiling is higher than the page feed's1-13cr

Both event lists carry the rendered time line, the venue, the city, the start timestamp and the cancelled, past and online flags on post.ext.event with no token at all. What include=details adds is the description, the street address, the coordinates, the hosts, the category, the privacy and the attendance count, plus the cover image and the RSVP counts on a page's own event list, which never carried either. An event's end time and ticket link stay null either way, because Facebook does not publish them for these events.

The join adds 2 to 7 seconds to a page of posts whose rows are not already cached, 2 to 8 seconds to a page of photos, 2 to 6 seconds to a page's own events, 2 to 8 seconds to a city feed of events, never more than 12, and nothing when the rows are cached. Every joined response carries a hydration block itemising the rows, the lookups, the cache hits, the credits held and kept, and the milliseconds, so you can read back exactly what you paid for.

Per-platform search is for when you already know the platform. The universal endpoint plans, fuses, and reranks across many platforms at once.

Your goalUse this endpointWhyCredit cost
Search a platform you already chose/v1/tiktok/search, /v1/youtube/search, /v1/reddit/searchSingle-platform keyword search1cr (YouTube 1-11cr with include)
Find creators by keyword, with bio and region on every row/v1/tiktok/search/users with include=profileOne call instead of user search plus a profile lookup per row; unfilled rows refunded1cr, +1 per row filled (31 at most)
Search inside one subreddit/v1/reddit/subreddit/searchScoped to a named community1cr
Find which communities discuss a topic, with their size and activity/v1/reddit/subreddits/search with include=detailsOne call instead of community search plus a details lookup per community; unfilled rows refunded1cr, +1 per community filled (26 at most)
One keyword across all of Reddit, with comments/v1/reddit/omni-searchRuns the search, expands the top threads' comments, rolls up which subreddits are talking5cr min, up to 9cr (metered by threads)
Fused forum search (Reddit + Hacker News + Naver)/v1/search/forumsOne ranked list across forum sources, each thread with a stance and a judged relevance score10cr
Multi-country news in one call/v1/search/newsLLM-planned angles, localized per Google News edition, deduped across legs, grouped into same-event stories2-14cr (metered)
One query across 14 social platforms/v1/search/everywhereLLM-planned, RRF-fused, reranked, clustered, each result with a stance and a relevance score20cr flat

Start with per-platform search (1cr) when the platform is decided. Escalate to /v1/search/everywhere (flat 20cr) only when you genuinely want the cross-platform sweep, not fourteen separate 1cr calls you would have to fuse yourself. The post searches (/v1/tiktok/search, /v1/youtube/search, /v1/reddit/search and their siblings on other platforms), /v1/search/forums and /v1/search/everywhere score each row's relevance to your query by default, free, on computed.relevance. When your keyword is also a common word or another brand's name, add relevance=filter to drop the rows that are about something else, still at no extra credit. When you want to know how people feel rather than what they posted, /v1/search/everywhere and /v1/search/forums count stances for you (data.stance_split). See Labels.

Getting a transcript

Transcript pricing depends on the platform's upstream. YouTube is the cheapest and has two options, the remaining platforms are a flat 10cr, and a composite bundles the transcript with the rest of a video's data.

Your goalUse this endpointWhyCredit cost
YouTube caption files, cheapest/v1/youtube/video/subtitlesRaw subtitle files1cr
YouTube clean transcript/v1/youtube/video/transcriptParsed, readable transcript3cr
TikTok / IG / X / Facebook / Reddit / Rumble transcript/v1/tiktok/post/transcriptAudio transcription10cr
Transcript + detail + stats + comments in one call/v1/prism/video-intelComposite across YouTube/TikTok/Rumble/Instagram5cr base, +10cr with transcript

For YouTube, prefer subtitles (1cr) if you can parse caption files yourself and transcript (3cr) if you want it cleaned. Other platforms only offer the 10cr transcript, for example /v1/instagram/media/transcript, /v1/twitter/tweet/transcript, and /v1/reddit/post/transcript. If you also want the video's stats and top comments, /v1/prism/video-intel is one call.

Which comment endpoint?

Four endpoints touch comments. The distinction is one page versus the whole tree, and a single comment versus a batch re-check.

Your goalUse this endpointWhyCredit cost
One page of top-level comments/v1/tiktok/post/comments, /v1/reddit/post/commentsCursor-paginated single page1cr (Reddit 5cr, Instagram 5cr)
Every comment on a post, replies nested/v1/prism/commentsServer-paginated to completion, one call2-200cr (metered by comment pages; Instagram flat 5cr)
Look up one comment by URL or id/v1/tiktok/comment, /v1/instagram/commentSingle-comment resolver2-6cr (Instagram 5-15cr)
Re-check up to 25 known comments/v1/prism/comment-lookupBatch, failed items refunded2cr

Use the per-platform post/comments when one page is enough and you want to control paging.

Freshening numbers at scale

When you already hold post or comment URLs and just want current numbers, the batch endpoints re-check many at once and refund the ones that fail. That is cheaper and simpler than looping single calls.

Your goalUse this endpointWhyCredit cost
Current engagement on one post/v1/tiktok/postSingle post detail1cr
Current engagement on up to 100 mixed-platform posts/v1/prism/post-statsOne POST, per-URL results, failed URLs refunded1cr
Re-check up to 25 known comments/v1/prism/comment-lookupOne POST, per-item results, failed items refunded2cr

Hiring and job postings

Jobs live entirely on LinkedIn. The split is keyword search versus one company's board, with a cheap counter for when you only want the number.

Your goalUse this endpointIdentifierCredit cost
Find postings by keyword/v1/linkedin/search/jobsquery10cr
Every posting at one company/v1/linkedin/company/jobscompany_id10cr
Just "how many roles are they hiring for?"/v1/linkedin/company/job-countcompany_id5cr
Full detail on one posting/v1/linkedin/jobid5cr

To track hiring velocity across a competitive set, poll company/job-count (5cr) on a schedule and only spend the 10cr on company/jobs when the count moves.

The company-scoped endpoints all key off the numeric company_id, which is not in the LinkedIn URL. Resolve it once from /v1/linkedin/company with the page url, then cache it.

Ad libraries: which network, which door?

Each network's transparency library has a keyword door and an advertiser door. The keyword door is what you use when you only know a brand name. The advertiser door returns the complete run once you have resolved an id.

Your goalUse this endpointCredit cost
Meta ads matching a keyword/v1/facebook/adlibrary/search/ads5cr
Resolve a brand name to its Meta advertiser pages/v1/facebook/adlibrary/search/companies5cr
Every ad one Meta page is running/v1/facebook/adlibrary/company/ads5cr
One Meta ad in full/v1/facebook/adlibrary/ad5cr
The spoken script of a Meta video ad/v1/facebook/adlibrary/ad/transcript10cr
Every Google ad for a domain/v1/google/company/ads5cr
Resolve a brand name to a Google advertiser_id/v1/google/adlibrary/advertisers/search5cr
One Google creative by URL/v1/google/ad5cr
LinkedIn ads matching a keyword/v1/linkedin/ads/search5cr

Reddit's ad library is currently unavailable: the two reddit/ads/* endpoints are soft-disabled and return 503 at no charge, so there is no live path to give you here. The Ad library aggregation recipe runs the three live networks as one parallel fan-out for 15 credits and records the Reddit gap in full.

App-store intelligence

The App Store and Google Play surfaces are deliberately symmetric: same nine resources, same prices, same parameter names, so one adapter covers both. Swap app_store for google_play and the call is otherwise identical.

Your goalUse this endpointIdentifierCredit cost
Find apps by keyword/v1/app_store/app-searchquery5cr
Autocomplete a partial query/v1/app_store/search-suggestionsquery1cr
One app's listing and stats/v1/app_store/app-infoapp_id5cr
One app's user reviews/v1/app_store/app-reviewsapp_id5cr
A ranked chart (top free, top grossing, …)/v1/app_store/app-listapp_collection5cr
Every store listing matching a title/v1/app_store/app-listings-searchtitle10cr
Valid category / country / language codes/v1/app_store/categories, /v1/app_store/locations, /v1/app_store/languagesnone1cr

For a cross-store view, skip the pairwise calls. /v1/prism/apps-lookup (30cr) resolves one title across both stores in a single composite, and /v1/prism/app-reviews (10-15cr, metered by how many stores you scope) returns reviews from both sides at once.

Commerce, product data, and reviews

Nine marketplaces, one repeating shape: a keyword search that returns ids, then a product call and a reviews call keyed off that id. What differs is which id each marketplace uses.

MarketplaceKeyword searchProductReviewsProduct id
Amazon/v1/amazon/product-search (1cr)/v1/amazon/product (5cr)/v1/amazon/reviews (5cr)asin
Walmart/v1/walmart/search (5cr)/v1/walmart/product (5cr)/v1/walmart/reviews (5cr)product_id
Targetnone, browse /v1/target/category (5cr)/v1/target/product (5cr)/v1/target/reviews (5cr)tcin
eBay/v1/ebay/search (5cr)/v1/ebay/product (5cr)noneproduct_id
Home Depot/v1/home_depot/search (5cr)/v1/home_depot/product (5cr)/v1/home_depot/reviews (5cr)item_id or url
Google Shopping/v1/google_shopping/product-search (5cr)/v1/google_shopping/product (1cr)/v1/google_shopping/reviews (1cr)product_id / gid
TikTok Shop/v1/tiktokshop/search (1cr)/v1/tiktokshop/product (1cr)/v1/tiktokshop/product/reviews (1cr)product url or product_id
Trustpilot/v1/trustpilot/business-search (1cr)n/a/v1/trustpilot/reviews (5cr)domain
Tripadvisor/v1/tripadvisor/search (1cr)n/a/v1/tripadvisor/reviews (1cr)url_path

Two shortcuts worth knowing. /v1/prism/product-reviews (30cr) pulls reviews for one product across marketplaces in a single call instead of you fanning out, and /v1/prism/review-integrity (30cr) runs the same corpus through authenticity checks when the question is "are these reviews real?" rather than "what do they say?". For pricing across sellers on a single item, /v1/amazon/sellers (1cr), /v1/google_shopping/sellers (1cr), and /v1/walmart/offers (5cr) each return the offer list.

Which Prism composite answers my question?

Prism composites fan out across several platforms and return one answered question rather than one platform's rows. They are the most expensive endpoints on the API and the least interchangeable, so pick by the question, not by the price.

The question you're askingCompositeCredit cost
How is my brand perceived right now?/v1/prism/reputation30cr
How do we split attention against named rivals?/v1/prism/share-of-voice20-200cr (per brand)
Where is my brand being talked about?/v1/prism/brand-mentions50cr
Is something blowing up against us today?/v1/prism/crisis-radar15-45cr
What happened during that blow-up, after the fact?/v1/prism/crisis-postmortem35cr
Who covered us, and did it travel?/v1/prism/earned-media25cr
Did our launch land?/v1/prism/launch-echo20cr
How did the campaign perform?/v1/prism/campaign35cr
Is this creator worth paying?/v1/prism/creator-vet50-75cr
Quick creator snapshot before a shortlist/v1/prism/creator-card5-8cr
Does this handle even exist across platforms?/v1/prism/handle-audit5-8cr
Do two creators share an audience?/v1/prism/audience-overlap20cr
How does this account actually sound?/v1/prism/voice5cr
What do buyers say about this product?/v1/prism/product-reviews30cr
Are those reviews trustworthy?/v1/prism/review-integrity30cr
What do app users complain about?/v1/prism/app-reviews10-15cr
Find this app across both stores/v1/prism/apps-lookup30cr
How is this dev tool being received?/v1/prism/devtool-pulse20cr
What is this GitHub org shipping?/v1/prism/org-radar6-51cr
Who is in-market for what we sell?/v1/prism/demand-signals30cr
Which accounts should sales call?/v1/prism/leads50cr
What questions does this audience keep asking?/v1/prism/audience-questions30cr
What is the straight answer, with sources?/v1/prism/answers15cr
Do LLMs mention us when asked?/v1/prism/ai-visibility2-1605cr (per probe)
What is it like to work here, per employees?/v1/prism/employer-brand30cr
What is the Korea-vs-global gap on this topic?/v1/prism/korea-gap15-40cr
What is Truth Social saying about this account?/v1/prism/truthsocial-pulse20cr

The metered composites scale with what you ask for: share-of-voice bills per brand in brands, ai-visibility per probe, org-radar per repository, and creator-vet and creator-card per platform covered. Check the range in Endpoint pricing before you put one in a loop. ai-visibility in particular reaches four figures on a wide probe set.

Still unsure?

Point a URL at /v1/prism/lookup (0cr) and it dispatches to the correct detail endpoint automatically.