100 free credits — no credit card required.Start building
Logo

Thousands of posts. One call. Pay for what lands.

Batch endpoints replace thousands of one-by-one requests: up to 100 mixed post URLs, 1,000 YouTube videos, or an entire Instagram feed per call. You are metered per item that actually returned, and dead links are refunded.

The short answer

How do you pull social data in bulk without a thousand calls?

You send one request with a list, not a loop of single lookups. SocialCrawl runs the fan-out, isolates failures so one dead link never sinks the batch, refunds what didn't return, and hands every item back in the same unified schema. Here are the batch endpoints and exactly what each one costs.

  • One call, many items

    Up to 100 URLs, 1,000 videos, or a full feed per request.

  • Pay for what lands

    Metered per successful item; misses are refunded.

  • One schema, mixed platforms

    post-stats takes mixed-platform URLs and returns one shape.

Batch efficiency

Fewer calls, priced per item

Every figure is the live registry cost, not a projection. Batch endpoints trade a loop of single requests for one fan-out, and meter you on the items that actually returned.

100URLs per callprism/post-stats, mixed platforms
1,000Videos per callyoutube/videos, by id
0.1crPer video5cr per 50-video chunk
0crFor dead linkspost-stats refunds every miss

prism/post-stats is metered 1 credit per successful URL; youtube/videos bills ceil(ids / 50) chunks at the 5-credit advanced tier; the Instagram /full composites are 5 credits per page. All verified against the live endpoint registry.

The endpoints

Three ways to go wide in one request

The exact surfaces that closed real bulk workloads.

See per-endpoint pricing
prism/post-statsUp to 100 URLs1cr per landed URL

POST a list of mixed-platform post links and get current views, likes, comments, shares, and saves per URL in input order, each with a fetched_at timestamp. Per-URL isolation means one dead link never fails the batch, and every dead, errored, or unsupported URL is refunded. Never cached, so every call reads the live count.

youtube/videosUp to 1,000 videos0.1cr per video

POST an array of video ids and get the full unified video object for each, identical to the single endpoint. Billed per 50-id chunk at the advanced tier, so a 50-video batch is 5 credits. A youtube/channels sibling batches channel details the same way.

instagram/profile/{reels,posts}/fullA full feed, paginated5cr per page

Get a creator's recent reels or posts with views, likes, comments, and the per-item Instagram share count merged in, in one call. Share coverage is best-effort; if the share leg fails outright the items still return and 4 of the 5 credits are refunded. Paginate with next_cursor.

Billing that respects bulk

You pay for the data that came back

Bulk should not mean paying for misses. Two rules keep batch spend predictable.

Misses refunded

prism/post-stats holds an upfront charge for the whole list, then refunds every URL that returns not_found, error, or unsupported. You pay exactly for the counts you got.

Partial-leg refunds

On the Instagram /full composites the share leg is best-effort. If it fails outright the items still return with shares null and 4 of the 5 credits are refunded, dropping you to the standard 1-credit list price.

Why batch here

One fan-out beats a thousand loops

What a hand-rolled batch loop makes you build, and we already did.

One request, not N

Send a list; we run the concurrency, retries, and cursor bookkeeping. Your job is one call.

Per-item isolation

A single dead link, private account, or removed video is marked and refunded, never a failed batch.

One schema out

Mixed-platform URLs come back in the same unified engagement shape, so there is no per-platform parsing.

Predictable spend

Per-item metering with automatic refunds means the bill matches the data, not the attempts.

“Send a list, get the data that exists, pay for exactly that.”

Frequently asked questions

Can't find what you're looking for? Talk to our team or ask the AI agent below

Up to 100 mixed-platform post URLs with prism/post-stats, up to 1,000 videos with youtube/videos (and channels with youtube/channels), and a full paginated feed of reels or posts with the Instagram /full composites.

Go wide

Pull the whole list in one call

POST up to 100 post URLs and get current engagement per link, the dead ones refunded.

curl -X POST https://www.socialcrawl.dev/v1/prism/post-stats \
  -H "x-api-key: $SC_KEY" \
  -H "content-type: application/json" \
  -d '{"urls":["https://www.youtube.com/watch?v=A9TikdsD5eg"]}'