Every Thursday I spotlight one tool from the stack that actually runs my businesses. Today’s is ScrapeCreators — a paid REST API that hands you clean, structured data from Reddit, TikTok, Instagram, Pinterest and a dozen other platforms without you maintaining a single scraper.
My social-mining agent has called it 114 times across its run history. This morning I ran four deliberate probes against it before writing a word of this post, and the fourth one taught me something about metered APIs I’d been getting wrong for weeks.
What it is, and the one number that matters
You send an HTTP GET with an x-api-key header, you get back JSON. No OAuth dance, no browser automation, no proxy rotation. Pricing is a credit pool that drains per call.
Here are my three live calls from this morning, in order, with the meter reading after each:
| Call | Items returned | Charged | Balance after |
|---|---|---|---|
/reddit/subreddit?subreddit=n8n&sort=hot |
25 posts | 1 | 13,904 |
/reddit/search?query=n8n vs zapier&sort=new |
7 items | 1 | 13,903 |
/reddit/subreddit?subreddit=AI_Agents&sort=hot |
24 posts | 1 | 13,902 |
The meter is honest. Every response carries credits_charged and credits_remaining inline, the charge was exactly 1 every time, and the balance ticked down by exactly 1 every time. I’ve now confirmed that 1-credit-per-call rate on enough consecutive runs to treat it as settled.
But look at the middle row again. Seven items cost the same as twenty-five. The price is per call, not per byte — which means payload size isn’t something you pay for, it’s something you harvest. That one fact reorganises how you should use this thing, and I’ll come back to it.
The catch: there is no balance endpoint
The obvious thing to do with a credit-metered API is check your balance before you start. So I did:
GET https://api.scrapecreators.com/v1/credits
→ HTTP 404
{"message":"Not Found"}
That endpoint does not exist. I then hit a deliberately fake path, /v1/reddit/notathing, and got back the same 404. So a missing endpoint and a typo’d endpoint are indistinguishable from the response alone — you cannot tell “this API has no balance route” from “I spelled the balance route wrong.”
The consequence is the interesting part: the only way to read your meter is to spend from it. There is no free observability read. Checking how much you have left costs you some of what you have left.
That is the exact inverse of the Tinify API, which I covered a few Thursdays back. Tinify returns your running compression count in a response header, and you can trigger it with a deliberately malformed request that gets rejected and costs you nothing. Two metered APIs, two opposite philosophies, and the difference only shows up when you go looking for it.
The mitigation nobody documents: errors are free
Here’s the part worth writing down. My 404s and a deliberate no-key call (HTTP 401, {"success":false,"message":"Invalid API key"}) all landed between billed calls — and the balance went 13,903 → 13,902 across exactly one successful call. Failed requests are not billed.
So the practical rule for this API is:

⚡ GET THE AI EDGE
Weekly AI tips that actually save you time and money. No fluff, no hype — just what works.
- Probe with a real call, never a credits endpoint — the credits endpoint isn’t there, and searching your logs for why it 404s will cost you more time than the credit costs you money.
- Make your probe call the first call you actually needed anyway. Don’t spend a credit on a throwaway ping. Read the balance off the first real request of the run and you’ve paid zero extra.
- Validate your key with a bad-auth call, not a good one. A 401 is free and tells you the transport is alive.
Cost per call is not cost. Cost per outcome is cost.
Now back to that middle row. Because the rate is flat, your real cost is set entirely by which endpoints you point it at — and this is where I’d been fooling myself.
Yesterday’s mining run spent 12 credits on 12 calls and queued 5 usable posts. Naively that’s 2.4 credits per outcome, which is nothing. But when I traced which call each pick came from, all five came from the three core subreddit hot calls. The two /search calls returned a house listing, a courier complaint and some crypto chatter. A fourth subreddit returned the highest-engagement pool of the entire run and produced zero picks, because the threads were all past the saturation point where a reply gets read.
Three calls did 100% of the work. Nine calls did none. The productive cost was 0.6 credits per outcome; the other 9 credits bought data I looked at and threw away. The meter cannot tell you this. The meter said twelve-for-twelve and it was right twelve times.
Which is yesterday’s rule about verification showing up in a new costume: the meter passes its own accuracy test perfectly, and passing it says nothing whatsoever about whether the spend was worth it. An instrument that is correct about the wrong quantity is still the wrong instrument.
What my actual burn looks like
I pulled the end-of-run balance out of every mining log for the last fortnight. 14,911 on 15 September → 13,941 on 30 September: 970 credits in 15 days, 64.7 a day. At this morning’s 13,902 that’s roughly 215 days of runway, or about seven months.
One wrinkle I’d missed until I graphed it: the mining agent only accounts for about 12 of those 64.7. The other ~53 are other skills in the fleet drawing on the same pool. There is one meter for everything, so a per-skill credit budget is unenforceable unless each skill logs its own opening and closing balance. Mine now does. That’s the whole fix — two more numbers on the result line, and a shared meter becomes attributable.
Should you pay for this at all?
Honest answer: often not. For Reddit specifically, appending .json to any URL is free and gets you most of the way. What you’re buying here is (a) the platforms that have no free equivalent — TikTok, Instagram, Pinterest — and (b) not being the person who maintains a scraper when a platform ships a layout change on a Sunday.
That’s the same trade I described in the Replicate write-up: you’re renting away an operational liability, and the per-call price is the small part of the bill.
Today’s takeaway: when a metered API charges a flat rate per call, the price list tells you almost nothing. Instrument the thing the meter can’t see — which endpoint produced the outcome — because a tool billing you honestly for calls you shouldn’t have made will never, ever complain.
If you want the bigger picture on how these pieces fit into one system that runs unattended, I laid it out in the full guide to building a fully autonomous AI agent. And if you’d rather have someone wire the meters up properly the first time, book a strategy session and we’ll map your stack.
See you next Thursday. — Jon
Footnote, because the receipts should be complete: the image at the top of this post was produced by my own pipeline eleven minutes ago, and step 7 of that script failed to log the image to Airtable with UNKNOWN_FIELD_NAME: "Name" — then exited 0. That’s day 24 in a row. It is, fittingly, the same disease as the one above: a component reporting a clean number about the one thing it measures, while the thing you actually care about quietly doesn’t happen.

📥 FREE: THE AI PLAYBOOK
The exact tools and workflows I use to run a one-person agency. 25 years of marketing experience distilled into an actionable guide. Yours free.
