SocialCrawl

Prism

Cross-platform composites, one call fans out to many sources and returns one merged, computed answer

A Prism endpoint is a composite: one call fans out to several platforms in parallel, merges the results, and returns a single computed answer. You do not orchestrate the fan-out, the retries, or the merge yourself.

Base URL: /v1/prism/...

Every number a Prism composite returns is computed in code, not generated by a model. Where a composite does use an LLM (topic clustering, tone labels), it narrates data that was already computed deterministically.

What a composite is

A normal endpoint reads one thing from one source. A composite answers a question that no single source can answer, by calling several of them and doing the reconciliation work in between.

Three properties follow from that, and all three change how you write the client:

  1. A composite has legs, and a leg can fail without failing your call. Responses carry a coverage signal (legs[], sources_succeeded, coverage, or a confidence block, depending on the composite) telling you which sources answered. Read it before you read the numbers.
  2. A composite is priced per call, not per leg. The price does not go up because a source was slow or a fan-out went wide, except where the request shape itself sets the width.
  3. A composite returns the same unified schema as its parts. A profile inside a composite response is byte-identical to the same profile from its native endpoint, so one parser handles both.

When to use a composite instead of N calls

Reach for a composite when the answer needs cross-source reconciliation and you would otherwise write it yourself: deduplication across platforms, weighting one source against another, matching the same entity under two different ids, or holding a fan-out open while slow legs settle.

Stay on the per-platform endpoints when you want one source's raw data, when you need a field the composite does not surface, or when you are refreshing something you already hold. prism/lookup and prism/post-stats exist precisely for that last case and are priced accordingly.

How Prism is priced

Composites come in three pricing shapes.

ShapeHow it worksExamples
FlatOne price per call regardless of how many legs runreputation (30), brand-mentions (50), leads (50), campaign (35), crisis-postmortem (35), answers (15)
Param-derivedThe price is fixed by the request shape, so you can compute it before you callhandle-audit and creator-card (5 for up to 4 platforms, +1 per extra); share-of-voice per brand; org-radar per repo; app-reviews per store
MeteredA ceiling is held upfront and the unused portion is refunded, because the work depends on what the data turns out to becomments (2-200), ai-visibility (2 per probe), and the three POST bulk endpoints

The bulk endpoints are metered per item at each row's own platform rate, so a 50-handle profiles batch of TikTok handles is 50 credits while the same batch of LinkedIn handles is 250. Only successful rows are charged.

Quote ranges rather than floors when you budget: the roster below shows each composite's base tier price, which is the bottom of the range for the metered and param-derived ones.

For handle-audit, a public response-cache hit costs 0 credits. A non-200 execution failure after deduction receives a full refund, and request-validation errors happen before billing. If every leg fails, the whole call is refunded. Every successful HTTP 200 receives the full request-shaped charge even with partial evidence, and there is no partial refund on that path.

Quickstart

1. Pick a composite by the question you are answering

Each composite answers one question end to end. handle-audit answers "is this handle worth pulling"; comments answers "what did everyone say on this post"; reputation answers "how is this brand seen across review sites".

2. Make the call

cURL
curl "https://www.socialcrawl.dev/v1/prism/handle-audit?handle=mrbeast" \
  -H "x-api-key: YOUR_API_KEY"

3. Read the coverage block before the numbers

A composite is a fan-out, so check which sources answered before you act on the result. handle-audit returns score-v2 evidence, nullable scores, component coverage, surface estimates, and leg diagnostics.

4. Read computed fields

Direct post and author endpoints inside a composite response may include the shared computed fields such as engagement_rate, language, and content_category. See Computed fields for formulas and null semantics.

Brand health

How is this brand doing right now?

EndpointCreditsWhat it returnsKey parameters
GET /v1/prism/reputation30Trustpilot, both app stores, Google Business and web sentiment blended into one weighted score with themed pros, cons and quotesbrand, sources, country, depth, place, axis, include
GET /v1/prism/share-of-voice20-200Engagement-weighted share of voice across 2-5 brands, split web vs social, with an emotion overlay and ESOV against market_sharesbrands (CSV), category_code, market_shares, include, page_type
GET /v1/prism/brand-mentions50Mention volume time-series, sentiment split, top sources, and a sample of recent mentionskeyword, date_from, date_to, date_group, page_type
GET /v1/prism/crisis-radar15, or 45 with confirm=trueA z-score on today's mention volume and negative share against the brand's own recent baseline, graded calm / watch / alert / crisisbrand, sensitivity, confirm, baseline_days, date_to
GET /v1/prism/crisis-postmortem35An incident reconstructed as a timeline across web, Reddit, Hacker News and social, with an origin, a peak, a propagation sequence and a grounded narrativebrand, window_start, window_end, crisis_terms
GET /v1/prism/earned-media25Deduped, ranked news, tech-press and fresh-web clips with an outlet-coverage rollupbrand, competitor, date_from, date_to, min_domain_rank
GET /v1/prism/campaign35Pre / during / post volume against your window, cross-platform engagement, and ranked top amplifiershashtag or phrase, window_start, window_end, pre_days, post_days
GET /v1/prism/demand-signals30Web mention slope, Reddit posting velocity, commerce review levels and app-review velocity fused into one published demand index with the arithmetic shownkeyword, google_play_id, app_store_id, signals, amazon_query, country, depth

share-of-voice is 20 credits per brand web-only and 40 per brand with social (the default), so the price is fixed by how many brands you pass and whether include contains social. Pass competitor to earned-media to see which outlets covered them and not you.

cURL
# Is the conversation moving against us, and by how much?
curl "https://www.socialcrawl.dev/v1/prism/crisis-radar?brand=Figma" \
  -H "x-api-key: YOUR_API_KEY"

Creators

Should we work with this person?

EndpointCreditsWhat it returnsKey parameters
GET /v1/prism/handle-audit5-8A handle scored across platforms, the best ones ranked, and a projection of the data volume and credits a full pull would costhandle, platforms, sample
GET /v1/prism/creator-card5-8One unified author card per platform (followers, verified status, bio, ids), null where the handle does not existhandle, platforms, include
GET /v1/prism/creator-vet50, or 75 cross-platformEngagement quality, commenter authenticity, posting cadence, and controversy signals from news and forums, in one verdicthandle, platform, depth, include
GET /v1/prism/audience-overlap20Jaccard overlap between two TikTok creators' commenting audiences, with shared-fan count, per-creator unique counts, and a confidence labelhandle_a, handle_b, platform, videos_per_creator, depth
GET /v1/prism/voice5One time-merged feed of a handle's public posts across X, Threads, Bluesky and Truth Social, plus which of those they are actually onhandle, platforms, cursor, include

handle-audit and creator-card are 5 credits for up to 4 platforms and +1 per extra. Run handle-audit before you spend on the pull.

cURL
# 1. Vet the handle and get a cost projection before committing
curl "https://www.socialcrawl.dev/v1/prism/handle-audit?handle=mkbhd" \
  -H "x-api-key: YOUR_API_KEY"

# 2. If it scores well, run the full partnership check
curl "https://www.socialcrawl.dev/v1/prism/creator-vet?handle=mkbhd&platform=youtube" \
  -H "x-api-key: YOUR_API_KEY"

Commerce and apps

What do buyers actually say?

EndpointCreditsWhat it returnsKey parameters
GET /v1/prism/product-reviews30Amazon, Google Shopping and Trustpilot reviews folded into a per-source rating, a retailer comparison, and the themes moving the ratingquery, asin or gid, sources, country, depth, competitors
GET /v1/prism/review-integrity30A deterministic, statistical verdict on whether a product's reviews look genuine, comparing its ratings across the same sourcesquery, asin or gid, sources, country
GET /v1/prism/app-reviews10 one store, 15 bothGoogle Play and App Store reviews together: rating summaries, topic clusters, sentiment over time, feature requests, developer reply rategoogle_play_id, app_store_id, query, stores, country, language, depth
GET /v1/prism/apps-lookup30One app's two store listings side by side (rating, installs, price, the gap between stores) with a title-match confidence guardtitle, google_play_id or app_store_id, stores, country, match_threshold

product-reviews tells you what buyers said. review-integrity tells you whether to trust the stars. app-reviews covers review text. apps-lookup compares the listings, and its title-match guard is what stops two apps sharing a name from being merged.

cURL
# Reviews for one product across marketplaces
curl "https://www.socialcrawl.dev/v1/prism/product-reviews?asin=B0DGHMNQ5Z" \
  -H "x-api-key: YOUR_API_KEY"

Developer ecosystem

How is this tool landing with engineers?

EndpointCreditsWhat it returnsKey parameters
GET /v1/prism/devtool-pulse20Repo dossier, Hacker News reaction, Reddit chatter and dev-blog echo, with a summary labelquery, repo, subreddit, date_from, date_to
GET /v1/prism/launch-echo20The top Hacker News threads and their comments, the blog echo, and optionally the repo behind itquery, repo, threads, date_from, date_to
GET /v1/prism/org-radar6-51A GitHub org's top repos, each expanded into a full dossier (releases, open-issue load, top feature request, top complaint), rolled uporg, repos, sort, include

launch-echo is the single-moment view; devtool-pulse is the standing one. org-radar is 1 credit base plus 5 per repo expanded, up to 10 repos. Set repos to control it.

cURL
curl "https://www.socialcrawl.dev/v1/prism/org-radar?org=vercel&repos=3" \
  -H "x-api-key: YOUR_API_KEY"

AI visibility and research

EndpointCreditsWhat it returnsKey parameters
GET /v1/prism/ai-visibility2 per probePer-brand appearance percentage per AI engine, plus a ranking of the domains those answers citebrand, topic or prompts, competitors, engines, runs, preset, include, brand_domains
GET /v1/prism/answers15One question sent to Perplexity, Grok and Tavily, each answer kept verbatim, citations merged, plus an agreement matrixquery, engines, include
GET /v1/prism/audience-questions30Real questions harvested from Reddit and YouTube threads, clustered by intent (who / what / why / how / vs) in the audience's own wordingtopic, platforms, max_questions, threads_per_source, timeframe

A probe on ai-visibility is one prompt times one run times one engine, so a 5-prompt, 3-run, 2-engine sweep is 60 credits. The ceiling across the widest possible sweep is 1605, so set prompts, runs and engines deliberately, or use preset=quick|standard|deep, which sets runs and caps prompts for a flat probe budget. The engines are Perplexity Sonar and Grok, and appearance is detected deterministically via recognition tokens rather than by a model's judgement. Add include=web_baseline to see which AI-cited domains you do not yet rank on. No per-platform endpoint covers this.

cURL
# Start narrow: 1 engine, 1 run, a short prompt list
curl "https://www.socialcrawl.dev/v1/prism/ai-visibility?brand=SocialCrawl&topic=social%20media%20api&engines=perplexity&runs=1" \
  -H "x-api-key: YOUR_API_KEY"

Go-to-market, hiring, and Korea

EndpointCreditsWhat it returnsKey parameters
GET /v1/prism/leads50A ranked feed of public posts and comments where people ask for alternatives to a named competitor or say they are switching awaycompetitor, product_category, freshness, limit
GET /v1/prism/employer-brand30Reddit, web, YouTube and Naver chatter about working at a company, contrasted with the tone of its own LinkedIn voicecompany, linkedin_url, surfaces, phrases, timeframe
GET /v1/prism/truthsocial-pulse20One Truth Social account's profile, recent posts, detail drill on the top ones, and the news echo, with an activity and sentiment readhandle, drill, posts, news_query, cursor
GET /v1/prism/korea-gap15 web-only, 40 with socialThe global versus Korean (Naver) conversation gap for a brand or topic: which Naver surfaces carry it, a channel-by-channel map, and translated example quotesquery, include, date_from, date_to, display

Truth Social has no search, so truthsocial-pulse is the way to watch an account without chaining calls. On korea-gap the social leg is the default. Drop social from include if you only need the web comparison.

Per-object workhorses

The cheap ones you call constantly rather than once a week.

EndpointCreditsWhat it returnsKey parameters
GET /v1/prism/lookupNo surcharge, you pay the resolved endpointPaste a link to a single post, video, product or repo and get the right endpoint's unified response backurl, include
GET /v1/prism/comments2-200 metered, Instagram a flat 5Every comment on a TikTok, YouTube, Facebook, Reddit, Hacker News or Instagram post, paged to the end, replies nested where the platform allowsurl, max, replies, sort, limit, cursor
GET /v1/prism/video-intel5, or 15 with include=transcriptOne video URL to detail, stats, top comments and a commenter sample, across YouTube, TikTok, Rumble and Instagramurl, comments, include
POST /v1/prism/post-statsMetered per successful URL at its platform rateUp to 100 mixed-platform post URLs, one row of current engagement per URL, in the order you sent themurls, include
POST /v1/prism/profilesMetered per item at each platform's own tierUp to 50 (platform, handle) pairs to one canonical Author per row, byte-identical to the single GET profile endpointitems
POST /v1/prism/comment-lookupMetered per item, only found items chargedRe-check up to 25 comments you already know about, each result marked found / not found / errored / deferreditems

lookup sniffs the platform and resource, dispatches, and adds no surcharge: a social post routes to 1 credit, an Amazon product to 5. It takes ITEM links only, so a profile, channel or storefront URL is a free 400 pointing you at that platform's own /profile endpoint. The resolved block names the platform, endpoint, and archetype so an agent knows the shape that follows.

post-stats and profiles bill 1 credit on most platforms and 5 for Instagram and LinkedIn. Dead, errored, and unsupported URLs are refunded and never fail a post-stats batch, and only successful rows are charged on profiles. profiles supports instagram, tiktok, youtube, twitter, threads, twitch, snapchat, truthsocial, bluesky, kwai, linkedin, and facebook. That roster is this endpoint's own, and is unrelated to the universal-search fan-out.

comment-lookup takes each item as either { comment_url } or { platform, post_url, comment_id }, bills TikTok at 2 and Instagram at 5 (more with deep_scan), and holds at most 100 credits for the whole batch. Store each row's lookup.position_hint and pass it back next run to keep a daily refresh near the floor.

cURL
# One URL, whatever platform it is
curl "https://www.socialcrawl.dev/v1/prism/lookup?url=https://www.youtube.com/watch?v=dQw4w9WgXcQ" \
  -H "x-api-key: YOUR_API_KEY"

# Refresh engagement on a batch of posts
curl -X POST "https://www.socialcrawl.dev/v1/prism/post-stats" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{"urls":["https://www.tiktok.com/@nasa/video/7259262686435118378","https://www.youtube.com/watch?v=dQw4w9WgXcQ"]}'

prism/comments is the one composite whose cost is genuinely unbounded by your request shape. It pages a thread to completion and bills per page, from 2 up to 200 credits on a single call. A post with tens of thousands of replies will spend the whole budget. Cap it with max or limit before you point it at a viral thread.

All endpoints

33 endpoints available.

EndpointPathCredit Tier
Re-check up to 25 known comments in one call: per-item results, failed items refunded./v1/prism/comment-lookupstandard (2-100cr)metered
Every comment on a post, replies nested, server-paginated to completion./v1/prism/commentsstandard (2-200cr)metered
Universal post/product URL dispatcher: any post, video, product or repo link → the right detail endpoint's unified response./v1/prism/lookupstandard (0cr)
Up to 100 mixed-platform post URLs → current engagement per URL, failed URLs refunded./v1/prism/post-statsstandard (1-500cr)metered
Up to 50 (platform, handle) pairs → one canonical Author per row, failed handles refunded./v1/prism/profilesstandard (1-250cr)metered
AI Share-of-Voice / GEO monitoring: prompt set x reruns to per-brand appearance-% per AI engine plus a cited-domain ranking./v1/prism/ai-visibilityadvanced (2-1605cr)metered
Cross-store app review intelligence (Google Play + App Store): translated, clustered, sentiment-scored./v1/prism/app-reviewsadvanced (10-15cr)metered
How much two TikTok creators' commenter audiences overlap. Jaccard, shared-fan count, and a confidence label./v1/prism/audience-overlapadvanced (20cr)
Brand mention volume time-series, sentiment split, top sources, and recent mentions for one keyword./v1/prism/brand-mentionsadvanced (50cr)
Campaign tracker: pre/during/post volume lift, cross-platform engagement, and ranked top amplifiers for a hashtag or phrase./v1/prism/campaignadvanced (35cr)
One handle, unified author cards across TikTok, Instagram, YouTube, X (and more)./v1/prism/creator-cardadvanced (5-8cr)metered
Crisis post-mortem: a who-said-what-first timeline across web, Reddit, Hacker News, and social, with an origin, peak, propagation sequence, and a grounded narrative./v1/prism/crisis-postmortemadvanced (35cr)
Stateless crisis breach check: a z-score on daily mention volume and negative share, with on-breach confirmation and a severity grade./v1/prism/crisis-radaradvanced (15-45cr)metered
Consumer-demand nowcast: app-review velocity, web mention slope, Reddit velocity, and commerce review levels, fused into a published demand index./v1/prism/demand-signalsadvanced (30cr)
Developer-brand health: a devtool's repo dossier + Hacker News reaction + Reddit chatter + dev-blog echo, in one call./v1/prism/devtool-pulseadvanced (20cr)
A brand's earned-media footprint: news + tech-press + fresh-web clips, deduped and ranked, with an outlet-coverage rollup./v1/prism/earned-mediaadvanced (25cr)
Should you pull this handle? One call scores a handle across platforms, ranks the best ones, and projects the data volume + credit cost to pull it./v1/prism/handle-auditadvanced (5-8cr)metered
How a launch landed: the Hacker News reaction (top threads + comments), the dev-blog echo, and an optional repo dossier./v1/prism/launch-echoadvanced (20cr)
Ranked feed of public conversations where people seek alternatives to or are switching from a competitor./v1/prism/leadsadvanced (50cr)
A Truth Social handle's pulse: profile, recent posts, per-post detail drill, and the news echo, in one call./v1/prism/truthsocial-pulseadvanced (20cr)
One video URL → detail + stats + transcript + top comments + commenter sample, across YouTube/TikTok/Rumble/Instagram./v1/prism/video-inteladvanced (5-15cr)metered
One person's public posts across X, Threads, Bluesky, and Truth Social, time-merged./v1/prism/voiceadvanced (5cr)
Multi-engine AI consensus: one question → Perplexity + Grok + Tavily answers verbatim, merged citations, and an agreement matrix./v1/prism/answerspremium (15cr)
One app across Google Play + the App Store: resolved, title-matched, and compared into a cross-store rating + listing report./v1/prism/apps-lookuppremium (30cr)
The real questions a topic's audience asks: harvested from Reddit + YouTube threads and clustered by intent (who/what/why/how/vs)./v1/prism/audience-questionspremium (30cr)
Vet a creator before partnering: engagement quality, commenter authenticity, posting cadence, and controversy signals, optionally across platforms./v1/prism/creator-vetpremium (50-75cr)metered
A company's employer brand: what people say about working there across Reddit, the web, YouTube, Naver, and the company's own LinkedIn voice./v1/prism/employer-brandpremium (30cr)
What the world is talking about that Korea isn't (and vice versa): the global vs Korean (Naver) conversation gap for a brand/topic./v1/prism/korea-gappremium (15-40cr)metered
A GitHub org's footprint: its top repos each expanded into a full dossier (releases, issue load, top request/complaint), rolled up./v1/prism/org-radarpremium (6-51cr)metered
A product's reviews across Amazon + Google Shopping + Trustpilot, folded into a cross-marketplace rating + themed pros/cons report./v1/prism/product-reviewspremium (30cr)
A brand's cross-source reputation. Trustpilot + app stores + Google Business + web sentiment, blended into one weighted score with themed pros/cons./v1/prism/reputationpremium (30cr)
Cross-source review integrity verdict (statistical, deterministic)./v1/prism/review-integritypremium (30cr)
Engagement-weighted Share of Voice across 2-5 brands, with web+social split, emotion overlay, and ESOV./v1/prism/share-of-voicepremium (20-200cr)metered

Five more cross-platform composites live outside the /v1/prism/... namespace because they belong to a single source's vocabulary: /v1/search/everywhere, /v1/search/news, /v1/search/forums, /v1/reddit/omni-search, and /v1/naver/brief, as does the per-platform /v1/{platform}/profile/full. They behave like composites and are priced like them. They are just not on this page's roster.

Platform notes

  • Composites use GET with query parameters, except the bulk endpoints (post-stats, profiles, comment-lookup), which take a POST JSON body.
  • Several composites take an include CSV that switches optional legs on or off. On share-of-voice, korea-gap, creator-vet and video-intel that CSV also moves the price, so read it as a cost control rather than a display flag.
  • Long-running composites can stream Server-Sent Events when you send Accept: text/event-stream, emitting each leg as it settles. This is the right mode for the 30-credit-and-up composites, which do real fan-out work before they answer.
  • A leg can fail without failing your call. Read the coverage signal before the numbers.
  • Responses follow the unified SocialCrawl schema, so a profile returned by a composite is byte-identical to the same profile from its native endpoint.

Next steps