API Development 6 min read

Why ScrapeCreators API Cache Hits Cost 0 Credits

Use cache_max_age on supported ScrapeCreators endpoints. A valid cache hit returns in about a second for 0 credits, while a cache miss runs a normal live fetch.

by
Flowchart showing a shared API cache hit costing zero credits and a cache miss triggering a live fetch

API caching usually gets sold as a speed feature. Ours also cuts your bill.

On supported ScrapeCreators endpoints, a cache hit costs 0 credits. If we already have the same public resource and it is recent enough for your request, we return it in about a second with "cached": true and "credits_charged": 0.

If the cache is empty or too old, we scrape the source live. That cache miss costs the endpoint’s normal price and refreshes the stored response for the next request.

How free cache hits work

The request flow is simple:

  1. You call a supported endpoint with cache_max_age.
  2. ScrapeCreators checks for a response for that public resource.
  3. If the cached copy is within your accepted age, we return it for 0 credits.
  4. If it is missing or stale, we fetch live and charge the normal endpoint cost.
  5. The successful live result refreshes the cache.

The cached copy may exist because you requested the resource earlier. It may also be warm because another customer recently requested the same public resource. You do not see who made that request. You only receive the public API response keyed to the resource you asked for.

This works especially well for public profiles, posts, videos, and transcripts that do not need to be scraped again every few minutes.

Make a cached API request

Add cache_max_age to a supported endpoint. The value tells us the oldest cached response you are willing to accept.

curl --request GET \
  --url 'https://api.scrapecreators.com/v1/tiktok/profile?handle=stoolpresidente&cache_max_age=7d' \
  --header 'x-api-key: YOUR_API_KEY'

Supported values are:

ValueMaximum accepted ageGood fit
1d1 dayFrequently changing profiles or posts
3d3 daysRegular monitoring with some freshness tolerance
7d7 daysWeekly research and enrichment
14d14 daysSlower-moving reference datasets
30d30 daysStable posts, videos, or transcripts

If you send another value, the API returns a 400 response with the allowed values. On endpoints that do not support caching, the parameter is ignored. The endpoint’s docs list cache_max_age when caching is available.

A longer window gives the cache more chances to hit. It also means you may receive older data. Pick the window based on the field you care about. A transcript does not change often. A follower count does.

What a cache hit returns

A cache hit includes fields that make the result easy to audit:

{
  "success": true,
  "cached": true,
  "cached_at": "2026-08-01T12:34:56.000Z",
  "credits_charged": 0,
  "data": {
    "...": "the cached public response"
  }
}

cached_at tells you when the public data was scraped. Check that timestamp before using the result in a report that depends on current counts.

The exact response body still depends on the endpoint. Caching changes where the result comes from and what it costs. It does not turn different endpoint schemas into one generic format.

What API caching does to cost

Suppose a one-credit endpoint receives 100 identical requests for the same resource. The first request is a cache miss and the next 99 are valid cache hits.

RequestsLive missesCache hitsTotal credits
1001991

That example assumes the resource stays in cache, every later request accepts its age, and no request changes the resource-defining parameters.

The savings are less dramatic when every request targets a different profile or when you always need a fresh result. They can be substantial for repeated enrichment jobs, retries, shared customer lookups, dashboards, and development environments that request the same resources again and again.

This also changes how you estimate cost. Do not multiply total request count by endpoint price and stop there. Split the estimate into expected live misses and expected cache hits:

estimated credits = live misses x normal endpoint credit cost

Valid cache hits add zero credits.

How this compares with normal API pricing

The useful comparison is the billing rule, not a vendor logo table. Pricing pages change, and cache support can vary by product or endpoint.

Pricing ruleRepeated request for the same resource
Every request is meteredYou pay again even when the provider can reuse recent data
Monthly bundleThe repeat call consumes part of the bundle, and unused capacity may expire
ScrapeCreators cache hitThe call costs 0 credits when a valid cached response exists
ScrapeCreators cache missWe fetch live and charge the endpoint’s normal credit cost

ScrapeCreators is also pay as you go. There is no subscription requirement, purchased credits never expire, and there are no rate limits. Those rules matter when traffic is uneven. You can buy credits when you need them, keep unused credits, and avoid spending them on cache hits.

For a current company-by-company comparison, see our guide to the best social media APIs for developers. The cache policy itself is documented on the permanent free cached results page and in the API caching docs.

Cache keys, freshness, and opt-out

The cache is keyed by the endpoint and the parameters that identify the public resource. Different cache_max_age values read the same cached copy. The age value decides whether that copy is acceptable. It does not create a separate cache.

Extra or reordered query parameters do not fragment the cache. A successful request to a cacheable endpoint can refresh the stored response even when the caller did not ask to read from cache. That is why popular public resources can already be warm when you request them.

There are two separate controls to understand:

  • Leave out cache_max_age when you do not want to accept a cached response for that request.
  • A team owner can opt out of response storage from the API Keys page. When a team opts out, cache_max_age is ignored, requests fetch live, and that team’s responses are not stored in the cache. The setting applies to all API keys on the team.

The cache contains API responses for publicly available data. It is not a way to access private profiles, private posts, or another customer’s account data.

When to use a live request instead

Caching is a tradeoff between freshness, speed, and cost. Use a live request when:

  • You are monitoring a count or field that may have changed recently.
  • A decision depends on the source’s current state.
  • You are verifying whether a post or profile is still public.
  • The endpoint does not support cache_max_age.
  • Your team’s policy requires responses not to be stored.

Use a cache window when a recent snapshot is good enough. Profiles used for enrichment, old posts, stable videos, and transcripts are common examples.

The best part is that you choose the freshness window. We do not quietly swap a live request for an old response. You tell us the maximum age you will accept, and the response tells you whether the cache was used.

Create an API key with 100 free credits, then check the endpoint docs for cache_max_age. If the first request misses, the next request to the same public resource may be free.

FAQ

Frequently asked
questions

Can't find what you're looking for? Email us.

Adrian Horning

Written by

Adrian Horning

Founder of ScrapeCreators. I write about social data APIs, scraper reliability, and turning public creator data into useful products.

Connect

ScrapeCreatorsScrapeCreators
Social Media Scraping API
for Developers

Real-time data from TikTok, Instagram, YouTube, X, Facebook, Reddit, and more.

Real-time Data

Fresh, accurate, always up-to-date.

No Proxies

We handle the infrastructure.

Developer First

Simple API. Powerful results.

TikTok logoInstagram logoYouTube logoX logoFacebook logoReddit logo
{200 OK
"platform": "youtube",
"type": "video",
"title": "Never Gonna Give You Up",
"views": 12504321,
"transcript": "We're no strangers to love...",
}
Success124ms
Purple gift box representing 100 free ScrapeCreators credits
Get 100 credits on us - instantly.

No credit card required. Start building for free.

Try the API, on us.

New developers get 100 free credits automatically when they sign up. No credit card required.

Get started free
Trusted by 10,000+ developers
99.9% uptime
Secure API access