What cheap AI APIs are really selling. 142 listings we blocked.

Before any seller's capacity serves a Zurelay customer, we test it. Between September 30 and October 13, 2026, those tests turned up older models under newer names, coding-agent accounts, inflated token counts and undersized images. On October 5 we blocked 142 listings outright. Here's what they were, and five checks you can run on any AI API.

Published · Zurelay research

listings blocked in one day after failing our tests
142
listings blocked in one day after failing our tests
prompt tokens counted by inflating sellers
9–11.7×
prompt tokens counted by inflating sellers
hidden tokens added to each request on Codex-backed GPT
~4,400
hidden tokens added to each request on Codex-backed GPT
for clean listings to switch to a different backend
1 night
for clean listings to switch to a different backend

What we found

Six ways a listing isn't what it says. All from real tests.

We tested the cheapest listings first, model by model, on a large marketplace of resold capacity and at a few resellers. These are the patterns, with what we saw.

  1. 01

    An older or cheaper model under a newer name

    The most common fake is the hardest to spot in a demo: a real model, just not the one on the label. It answers fluently and names itself whatever the listing says. What gives it away is what it knows and how it's built.

    • A “Claude Opus 5.5” route at a reseller answered our dated-knowledge questions exactly like Claude Opus 4.7. Its knowledge stopped in mid-2025.
    • “Grok 4.7” listings knew 6 of 18 recent facts the real model knows: an older Grok.
    • 3 of 21 open-market listings selling GPT-6 Astra answered as GPT-6 Luna, OpenAI's far cheaper model. It said so in the response's own model field.
    • Three “Gemini 3.1 Pro” listings introduced themselves as Gemini 3.8 Flash, and ran at Flash speed.
    • Every HY4 listing cheaper than the genuine ones failed. Most were a relabeled variant, with different token counts and a different answer to “who are you?”.
  2. 02

    Coding-agent accounts sold as an API

    Some sellers pass requests through a coding-agent subscription such as Claude Code, Kiro or Codex. The model is real, but the product's own instructions come with it.

    • On Codex-backed GPT listings, about 4,400 tokens of hidden instructions sit on top of every request, and they're billed as your input.
    • Under a customer's own persona (“You are Ava, the assistant for…”), these routes drop the persona and answer “I'm Claude Code” or “I'm Codex” to the end user.
    • Many GPT listings look clean until the request is streamed, and then they switch to a Codex account. Any test that doesn't stream misses it.
    • Kiro-backed listings reported prompt counts that can't be right, some as low as 1 token, and got exact-answer arithmetic wrong.
  3. 03

    Token counts that don't add up

    You pay for the tokens the API reports. A few sellers report more than they used, and only on long answers, so short tests come back perfect.

    • Several Claude listings counted the prompt 9 to 11.7 times over once an answer ran long.
    • The same listings claimed output speeds of 1,000 to 6,000 tokens a second. No genuine frontier model streams that fast.
  4. 04

    Images that aren't the size you paid for

    Image models are priced by resolution, and the dimensions are easy to fake because almost nobody measures them.

    • Several “Nano Banana” listings returned 1408 × 768 for every size asked: the output of a cheaper model. One carried a $1,000 authenticity guarantee.
    • Most “GPT Image” listings top out near 1.5 megapixels. Ask for 4K and you get 1672 × 941.
    • Some listings “support 4K” by upscaling only 4K requests. A 2048 × 1152 request still comes back undersized.
  5. 05

    Errors billed as answers

    Some sellers return their own error page with a success status, so it arrives as the model's answer and is billed like one: “AI provider temporarily unavailable” at full price.

  6. 06

    Clean today, different tomorrow

    A listing that passes every test can change what runs behind it at any time. Routes that were clean on September 30 were serving through a coding-agent account by the next morning, every Claude Opus 4.8 listing we had approved among them. One round of testing at launch isn't enough.

Check yours

Five checks for any AI API. Ten minutes, a few cents.

None of these needs special tools: an API key, a few requests, and the usage numbers every response already carries.

  1. 1

    Count the tokens of “hi”

    Send “hi” with no system prompt and read usage.prompt_tokens. Genuine models report about 10. Hundreds or thousands mean hidden instructions you pay for on every call, and a count that doesn't grow when your prompt does is made up.

  2. 2

    Ask what it should know

    Ask about a few events from the months before the model's release, with answers you can check. Don't ask for its knowledge cutoff: models misreport it. An older model knows less, and it shows.

  3. 3

    Read the model field

    The response names the model that answered. A cheaper sibling's name there is the plainest substitution there is, and some sellers don't bother hiding it.

  4. 4

    Time a long answer

    Ask for a long answer, stream it, and divide the output tokens by the seconds it took. Thousands of tokens a second, or a prompt count far above what you sent, means the usage is inflated.

  5. 5

    Measure your images

    Open a generated image and check its pixel size against what you asked for, at more than one size. A fixed size whatever you ask is a cheaper model.

How we test

Every route, every day. Before and after.

Before a route serves requests, it has to pass identity checks under different system prompts and personas, dated-knowledge questions with known answers, problems with one exact answer, tool calls, the images, PDFs, audio and video the model reads, and token-count and speed checks on short and long answers, streamed and not. Image routes are measured at several sizes.

The checks run again every day, because sellers change what runs behind a listing. A route that fails is taken out of rotation, its requests move to another route, and customers aren't billed for failed attempts. The exact tests aren't published, so they can't be gamed. How models are verified.

About these findings. They come from our own vetting between September 30 and October 13, 2026, mostly on one large marketplace of resold capacity. It isn't a random sample: we tested the cheapest listings first, and that's where fakes gather. We don't name sellers; the patterns repeat across them.

Zurelay sells the models below list price, and every route behind them passes these checks first. See every model and price.

Get your API key

FAQ

Questions about fakes.

Anything else? Ask our team and we’ll answer by email.

Are cheap AI APIs scams?

Not all of them. Model capacity is often bought ahead, through prepaid credits, committed-spend contracts and volume tiers, and sellers offer what they don't use below list price. The problem is that the same marketplaces also carry older models under newer names, coding-agent accounts and inflated token counts. The only way to tell them apart is to test each listing, and keep testing.

How does Zurelay keep fakes out?

Every route is tested before it serves requests and every day after, with identity, dated-knowledge, reasoning, token-count and image-size checks, streamed as well as not. A route that fails is taken out of rotation, failed attempts move to another route, and customers aren't billed for them. On October 5 we also blocked 142 failing listings so they can't be picked up again.

Why don't you publish the exact tests?

Sellers would tune their fakes to pass them. We describe what each kind of check catches, and the five checks on this page are ones anyone can run.

Why don't you name the sellers?

Sellers change what runs behind a listing, so a name that was bad on one day can be clean the next, and the reverse. The patterns are what's useful, and they repeat across sellers.

What should I do if my provider fails these checks?

Send the provider the request ID and the numbers: prompt tokens for “hi”, the model field, the speed. A provider that vets its routes can tell you which route served the request and take it out. If it can't explain the numbers, use another provider.

Stop paying list price.
Start saving today.

Create a key in seconds, point the SDK you already use at Zurelay, and every request costs up to 90% less from the first token.