How to buy a Gemini API key
You buy a Gemini API key on apiToken.sale the way you buy prepaid credit: create an account, top up any whole-dollar amount by card or crypto, and generate a key in the dashboard. That key authenticates against the native Google Gemini protocol — x-goog-api-key, generateContent, the official SDK — at a flat 50% off official token spend. No Google Cloud project, billing account, or waitlist is involved.
·
From checkout to a working key in five minutes
Buying a Gemini API key here is a prepaid purchase, not a subscription: sign up, add balance, generate one sk-pool key. The key is active on the very next request — there is no approval step, waitlist, or manual review anywhere in the flow.
- 01Create an account with Google, GitHub, or email and password. Google and GitHub signups start with $5 of platform bonus credit, valid on supported Gemini, GPT, Claude and Kimi models; email/password accounts do not receive the bonus.
- 02Top up any whole-dollar amount. Checkout accepts bank cards and cryptocurrency through a secure payment provider, and the balance never expires.
- 03Open the dashboard and generate an API key. It looks like sk-pool-… and immediately covers every supported provider, not just Gemini.
- 04Verify the key with the curl in the last section of this guide. A 200 with real output confirms the key, balance and route end to end.
See also: Gemini API quickstart: first call with curl and the Google GenAI SDK
No Google Cloud project or billing account required
Buying Gemini access direct from Google means an AI Studio or Google Cloud account with a linked billing profile, and for many buyers that layer is the blocker. apiToken.sale owns the gateway account and the upstream billing, so the only things you bring are a login (Google, GitHub, or email) and a way to pay.
What you receive is not a reshaped proxy API. The gateway serves the native Gemini protocol — the same URL grammar, request bodies and response shapes as Google's own endpoint — so existing Gemini code keeps working after exactly two configuration changes: the base URL and the key.
The Gemini catalog on one key
A single key covers the supported Gemini line; the model ID in the request path is the only switch between tiers. Representative text rates per 1M tokens:
| Model ID | Tier | Official input / output | After 50% discount |
|---|---|---|---|
| gemini-3.8-flash | Flash — everyday default | $0.75 / $3.75 promo | $0.375 / $1.875 |
| gemini-3.1-pro-preview | Pro — hardest reasoning | $2 / $12 | $1 / $6 |
| gemini-3.1-flash-lite | Flash-Lite — bulk steps | $0.25 / $1.50 | $0.125 / $0.75 |
| gemini-2.5-flash-lite | Cheapest text floor | $0.10 / $0.40 | $0.05 / $0.20 |
- Gemini 3.1 Pro Preview requests above 200K input tokens bill the whole request at the long-context rates: $4 input and $18 output per 1M.
- Gemini 3.8 Flash's $0.75/$3.75 Google promotion runs through 2026-12-31; standard $1.50/$7.50 rates resume on 2027-01-01.
- Cached input on the text models bills at 10% of the fresh-input rate, so prompt-cache-heavy workloads settle even lower.
Gemini 3.8 Flash rates, context and output limits →
Full Gemini pricing breakdown, including cache and image legs →
Native protocol: official SDK, streaming, free token counting
Because the wire format is stock Gemini, the official Google GenAI SDK works with only the base URL and key changed:
import os
from google import genai
from google.genai import types
client = genai.Client(
api_key=os.environ["APITOKEN_API_KEY"],
http_options=types.HttpOptions(base_url="https://router.apitoken.sale"),
)
response = client.models.generate_content(
model="gemini-3.8-flash",
contents="Reply with exactly: connected",
)
print(response.text)- Streaming uses streamGenerateContent?alt=sse on the same model path and delivers incremental chunks.
- countTokens runs on the same path and is free — use it to estimate large prompts before spending on generation.
- Keep the key in an environment variable such as APITOKEN_API_KEY, never in source code.
Configure the SDK with the bare host only. The Google SDK appends /v1beta itself; if your base URL already ends in /v1beta, the doubled segment produces a 404 on every call.
How the prepaid balance and 50% discount settle
There is no monthly fee and no seat license; the balance is spent only when requests run. Every call settles in three steps:
- The request is metered at official Google token rates first, including cached-input and long-context legs.
- Your active discount is subtracted — B2C accounts get a flat 50% off official spend on every request.
- The net amount leaves your prepaid balance, so $50 of balance covers $100 of official-rate usage.
When the balance reaches zero, requests fail with an insufficient-balance error until you top up again — there is no overdraft and no surprise charge to your card.
The same balance also runs GPT, Claude and Kimi
The key is not Gemini-only. One prepaid balance backs all four supported providers; what changes per provider is the endpoint, the auth header and the model ID:
| Provider | Base URL | Auth header |
|---|---|---|
| Gemini | https://router.apitoken.sale | x-goog-api-key |
| Claude and Kimi | https://router.apitoken.sale/v1/messages | x-api-key |
| GPT | https://router.apitoken.sale/v1 | Authorization: Bearer |
In practice this means a Gemini prototype can add a Claude or GPT fallback without a second account, a second bill, or a second credential to manage.
Verify the key with one request
Before wiring the key into a project, send one minimal generateContent call. It costs a fraction of a cent and proves the whole chain — key, balance, endpoint:
curl https://router.apitoken.sale/v1beta/models/gemini-3.8-flash:generateContent \
-H "x-goog-api-key: $APITOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"Reply with exactly: connected"}]}]}'- 400 — the key is missing or mistyped, or the header is not x-goog-api-key (INVALID_ARGUMENT, reason API_KEY_INVALID — the official Google API also answers 400 here; other lanes answer 401). x-api-key and Authorization: Bearer belong to the other lanes.
- 404 — the model ID is not in the catalog, or /v1beta appears twice in the URL from an SDK base-URL mistake.
- 402 FAILED_PRECONDITION — the balance is empty; top up any whole-dollar amount. Native Gemini money is HTTP 402, not RESOURCE_EXHAUSTED and not 429.
- 429 — rate limited; respect the Retry-After header and lower concurrency.
Frequently asked questions
Do I need a Google Cloud project to buy a Gemini API key?
No. apiToken.sale owns the gateway account and the upstream billing; your client only needs the custom base URL and the sk-pool key sent as x-goog-api-key.
Which header authenticates Gemini requests?
x-goog-api-key. Do not send Anthropic's x-api-key or the OpenAI-style Authorization: Bearer on the native Gemini routes — each provider lane has its own header.
Can I pay for a Gemini API key with cryptocurrency?
Yes. Checkout accepts bank cards and crypto through a secure payment provider, top-ups are any whole-dollar amount, and the balance never expires.
What is the cheapest way to try the key?
Accounts created with Google or GitHub start with $5 of platform bonus credit, and Gemini 2.5 Flash-Lite bills at $0.05 input and $0.20 output per 1M tokens after the discount — enough for extensive testing.
Can the same key call GPT, Claude and Kimi?
Yes. The key and balance are shared across all supported providers; you switch the endpoint, auth header and model ID, never the account.
Does the Gemini protocol here match Google's own API?
Yes — generateContent, streamGenerateContent?alt=sse, countTokens and the official Google GenAI SDK all work unchanged. Only the base URL and the key differ.
Start with Google or GitHub and get $5 of platform bonus credit — no card required.