Google AI Studio Free Tier Limits: What the Gemini API Allows in 2026

By TwitterAPI.io Team•15 min read
Diagram of the Google AI Studio free tier limits: three panels for RPM (requests per minute), TPM (input tokens per minute) and RPD (requests per day, resets at midnight Pacific), counted per project; on the right a pipeline from X posts via advanced_search to compact records, batches of 100 and Gemini labels.
The three Gemini API free-tier counters and a batching pipeline for X posts; post sizes measured in 2026.

This page is about limits and money: what the Gemini API free tier lets one Google AI Studio project do per minute and per day, which models it covers, what you give up in data terms, and when the paid tier makes sense. If you want to wire Gemini to live X (Twitter) data through Gemini CLI, an MCP server or function calling, that integration how-to lives in our separate guide on using Gemini with the Twitter (X) API; here we only touch the integration where it changes how fast you burn a quota.

Every fact about Google's limits below comes from Google's own documentation (ai.google.dev/gemini-api/docs/rate-limits, /pricing, /billing, /tokens and the Gemini API terms) read for this page, and every number about X posts comes from our own measurement: a sample of public posts collected in 2026 through TwitterAPI.io, sized in characters and converted to estimated tokens with Google's published rule of about four characters per token. Where Google does not publish a figure, we say so instead of guessing.

01 — Section

How Google AI Studio free tier limits work

Google measures Gemini API usage on three dimensions. Requests per minute (RPM) counts calls, tokens per minute (TPM) counts input tokens, and requests per day (RPD) counts calls across a calendar day. Your usage is checked against each one separately, so a project with an RPM of 20 that sends 21 requests inside a minute gets an error even if it is far below its TPM and RPD. Google's own example uses exactly that RPM of 20 to explain the rule.

The unit is the project. The docs state that rate limits are applied per project, not per API key. Creating five keys in the same Google Cloud project does not give you five quotas; they all draw from one bucket. If you need isolation between apps, they need separate projects, and Google's terms still apply to each.

The day ends at midnight Pacific. RPD quotas reset at midnight Pacific time, not at midnight in your time zone and not on a rolling 24-hour window. A job in Europe that starts at 08:00 local time is starting late in the Pacific day, which matters if you plan to spend the whole daily allowance in one batch run.

Some limits only exist for some models. Image-generation models have an images-per-minute (IPM) limit, some models carry a tokens-per-day (TPD) limit, and built-in tools have their own caps. Grounding with Google Search on Gemini 3 and newer models defaults to 1,500 requests per day per project on the Gemini Developer API; on the free tier the pricing page lists Search grounding for Gemini 2.5 Flash and Flash-Lite at up to 500 RPD, shared between the two, and not available for Pro.

Preview models are tighter. The rate-limits page says limits are more restricted for experimental and preview models, and that specified rate limits are not guaranteed and actual capacity may vary. Build retries in from the start rather than treating a published figure as a contract.

02 — Section

Why there is no per-model free-tier table any more

Searchers looking for 'google ai studio free tier limits 2026' usually want a table of RPM, TPM and RPD per model. Google's rate-limits documentation no longer contains one. The current page explains the three dimensions, the usage tiers and the Batch API caps, then links to 'View your active rate limits in AI Studio' and says rate limits depend on factors such as your usage tier and automatically update as your tier and account status change.

In practice that means the only authoritative free-tier numbers for your project are the ones on the AI Studio rate-limit page (aistudio.google.com/rate-limit) while you are signed in to that project. Blog posts and cheat sheets that print a single RPD for a model are quoting a snapshot, and when we compared several of them while researching this page they disagreed with each other. We do not reproduce any of those figures here.

What you can rely on. The structure is stable and documented: per-project counters, a midnight Pacific reset for RPD, stricter treatment of preview models, a separate spend-based limit that does not apply to the free tier, and automatic upgrades once billing is linked. The capacity math later on this page is built so you can plug in whatever RPD and TPM your own AI Studio page shows.

03 — Section

Which Gemini models are free on the free tier

The second limit is model access. Google's pricing page lists a Free Tier column for every model, and it reads either 'Free of charge' or 'Not available'. The table below copies that column for the main text models, together with the standard paid-tier price per 1 million tokens so you can see what each model costs once you leave the free tier.

ModelFree tierPaid input / 1MPaid output / 1M
Gemini 4 ArgonNot available$2.00 (to Nov 30)$10.00 (to Nov 30)
Gemini 3.1 Pro PreviewNot available$2.00 (<=200k)$12.00 (<=200k)
Gemini 3.8 FlashFree of charge$0.75$3.75
Gemini 3.6 FlashFree of charge$0.75$3.75
Gemini 3.5 Flash-LiteFree of charge$0.30$2.50
Gemini 3.1 Flash-LiteFree of charge$0.25$1.50
Gemini 3 Flash PreviewFree of charge$0.50$3.00
Gemini 2.5 ProFree of charge$1.25 (<=200k)$10.00 (<=200k)
Gemini 2.5 FlashFree of charge$0.30$2.50
Gemini 2.5 Flash-LiteFree of charge$0.10$0.40
Gemma 4Free of chargeNot availableNot available

Scheduled price changes. The pricing page shows dated changes for several models: Gemini 4 Argon moves from $2.00 / $10.00 to $4.00 / $20.00 per 1M input / output tokens on December 1, 2026, and Gemini 3.8 Flash and 3.6 Flash move from $0.75 / $3.75 to $1.50 / $7.50 on January 1, 2027. Output prices include thinking tokens.

Paid-only families. The Nano Banana image models (Gemini 2.5 Flash Image, 3.1 Flash Image, 3.1 Flash Lite Image, 3 Pro Image and Nano Banana 2.1) and the Gemini Omni Flash video model show 'Not available' in the free column. Gemini 4 Argon is described as not available on the free tier at all. The embedding models (Gemini Embedding and Gemini Embedding 2) are free of charge on the free tier.

Feature access. The free plan card lists 'Limited access to certain models' and free input and output tokens; the paid card adds higher rate limits, context caching, the Batch API at a 50% cost reduction and access to the most advanced models. Code execution, URL context and file search are free of charge on the free tier according to the tools table.

04 — Section

The data-use catch on the free tier

The limit people miss is not a number. The Gemini API terms define anything offered free of charge, including Google AI Studio and the unpaid quota of the Gemini API, as Unpaid Services. When you use Unpaid Services, Google uses the content you submit and the generated responses to provide, improve and develop its products and machine learning technologies. The terms add that human reviewers may read, annotate and process API input and output, after Google disconnects it from your account, key and project, and they say plainly: do not submit sensitive, confidential or personal information to the Unpaid Services.

Paid Services work differently. With the paid quota, Google says it does not use your prompts (including system instructions, cached content and files) or responses to improve its products, and processes them under its data processing addendum. The pricing page shows the same split per model: 'Used to improve our products' reads Yes on the free tier and No on the paid tier.

EEA, Switzerland and the UK. If you are in the European Economic Area, Switzerland or the United Kingdom, the terms say the paid-service data terms apply to all Services, including AI Studio and the unpaid quota. Separately, you may use only Paid Services when making API clients available to users in those regions, so a free-tier key cannot back a public app for European users.

What this means for X data. Public X posts are public, but they still contain personal data such as names and handles. If you label posts on the free tier, send only what the task needs. The compact record we measured below keeps the post text, language and a few counts and drops the handle, display name and author id, which also happens to cut the token bill by about nine times.

05 — Section

Free tier vs paid tiers: limits, caps and how upgrades happen

Rate limits are tied to a project's usage tier, and Google upgrades projects automatically as spending grows. The rate-limits and billing pages list four tiers.

Usage tierQualificationBilling tier capSpend limit / 10 min
FreeActive project or free trialN/AN/A
Tier 1Linked active billing account$250$10
Tier 2Paid $100 + 3 days since first payment$2,000$200
Tier 3Paid $1,000 + 30 days since first payment$20,000 - $100,000+$200

Spend-based limits. On top of RPM and TPM, paid tiers carry a spend-based limit evaluated on a rolling 10-minute window. It is listed as N/A for the free tier. Hitting it returns the same 429 RESOURCE_EXHAUSTED error, so your retry code should not assume every 429 is a free-tier RPD problem.

Moving off the free tier. You link a billing account to the project in AI Studio. Free to Tier 1 typically takes effect instantly, and later upgrades within 10 minutes. Google introduced Prepay and Postpay billing plans that started taking effect on March 23, 2026; new users default to Prepay, the billing guide says some users are asked to prepay a minimum of $5 during setup, and when a Prepay balance reaches $0 every key on that billing account stops with HTTP 402 Payment Required until credits are added.

Other separate limits. Priority inference has its own default limits of 0.3x the standard rate limit per model and tier. The Batch API has its own caps (100 concurrent batch requests, a 2 GB input file, 20 GB of file storage, and per-model enqueued-token limits such as 3,000,000 for Gemini 3.8 Flash and 10,000,000 for Gemini 2.5 Flash-Lite).

06 — Section

How big is an X post in Gemini tokens? Our measurement

To turn 'RPD' into 'posts per day' you need the size of the thing you send. We collected 1,182 unique public X posts in 2026: the last 100 posts from each of six AI-lab organization accounts (@GoogleAI, @GoogleDeepMind, @googledevs, @GeminiApp, @OpenAI and @AnthropicAI) and the most recent results for two searches, "gemini api" and "google ai studio" (retweets excluded). For each post we measured the full API JSON, a compact classification record and the text alone, and estimated tokens as characters divided by four, the rule Google gives in its token guide.

Payload per postMedian tokens90th pct99th pctMean
Full API JSON1,0512,6514,8941,358
Compact record89254985144
Text only (characters)2358793,685450

Trim before you send. The full JSON carries author objects, entities, media variants and card data, so it averaged about 1,358 tokens per post; the compact record (text, language, likes, reposts, replies, views, author follower count and a verified flag) averaged 144. That is a 9.4x difference on every TPM check and on every paid-tier input bill.

Searches run larger than org timelines. Compact posts from the two keyword searches averaged 174 tokens against 116 for the organization timelines, mostly because long-form posts show up in topic searches. The tail is long: the largest single compact post was 5,303 tokens.

What else was in the sample. 35.1% of posts had attached media, 35.7% carried a link, 14.2% were replies and 6.1% quoted another post. English made up 71.1% of posts, Japanese 9.9% and Chinese 7.6%. Google states its four-characters rule as an approximation, so for multilingual feeds count a sample with the API's token-counting call before you size batches.

Bar chart of estimated Gemini input tokens per X post: full API JSON median 1,051, p90 2,651, p99 4,894; compact record median 89, p90 254, p99 985.
Estimated tokens per post, full API JSON vs compact record, 1,182 public X posts collected in 2026 (characters / 4).
07 — Section

How many X posts a day can the free tier classify?

RPD counts requests, not posts. Send one post per request and your daily quota equals your daily throughput. Put 100 compact posts into one prompt and ask for a JSON array of labels back, and the same RPD covers 100 times as many posts. The table uses illustrative RPD values because Google does not publish yours; read the real one from your AI Studio rate-limit page and scale.

If your RPD shows1 per request25 per request100 per request
20205002,000
1001002,50010,000
2502506,25025,000
1,0001,00025,000100,000

Check TPM before you batch. With our 71-token labeling prompt, a batch of 25 compact posts came to about 3,684 input tokens, a batch of 50 to 7,297 and a batch of 100 to 14,523 (about 25,471 if every post were at the 90th percentile). If you sent the full JSON instead, a batch of 100 would be about 135,900 tokens, which can exceed a modest per-minute token allowance on its own. Divide your TPM by the batch size in tokens to get the most batches you can send per minute.

Output is small but not free of limits. A label object like the one in the prompt is about 15 tokens, so 100 labels come back in roughly 1,502 output tokens. Thinking models may add thinking tokens on top; Google bills them as output on the paid tier.

Quality caps the batch size too. Long batches raise the odds that the model skips or merges items. Number every record (the i field), validate that every index comes back, and re-queue the missing ones. Start with 25 posts per request and raise the size only while every index keeps coming back.

Grouped bar chart, log scale: posts classified per day for illustrative RPD values of 20, 100, 250 and 1,000 at 1, 25, 50 and 100 posts per request; 20 RPD at 100 per request is 2,000 posts, 1,000 RPD at 100 per request is 100,000 posts.
Posts per day = RPD x posts per request. Illustrative RPD values; post sizes measured in 2026.
08 — Section

What it costs once you outgrow the free tier

Using the measured batch of 100 compact posts (14,523 input tokens and about 1,502 output tokens per request), labeling 1,000 posts is ten requests. At the standard paid-tier prices on Google's pricing page that works out as follows, before any thinking tokens, which makes it a floor rather than a quote.

Model (paid tier)Input / output per 1MEst. cost per 1,000 posts
Gemini 2.5 Flash-Lite$0.10 / $0.40$0.0205
Gemini 3.1 Flash-Lite$0.25 / $1.50$0.0588
Gemini 3.8 Flash$0.75 / $3.75$0.1652

The X data side. Gemini has no guaranteed live X feed of its own, so the posts have to come from somewhere. TwitterAPI.io charges 15 credits per tweet returned, which is $0.15 per 1,000 tweets, with a minimum of 15 credits ($0.00015) per request; a full 20-tweet search page costs $0.003. The official X API pay-per-usage rate card at docs.x.com/x-api/getting-started/pricing lists $0.005 per post read, or $5 per 1,000, about 33x more for the same 1,000 posts. Reads through TwitterAPI.io need no X account.

Putting both together. At 2,000 posts a day (20 RPD at 100 posts per request), the X data costs about $0.30 a day and the Gemini side costs nothing while you stay inside your free-tier limits. At 10,000 posts a day the X data is about $1.50 and, on a paid Flash-Lite model, the labeling is in the cents. Our whole study of 1,200 returned posts cost 18,000 credits, or $0.18.

Starting out. New TwitterAPI.io accounts that pass the automatic bot check get up to $1 of free credits (at most 100,000 credits, no card, one per person or network, expiring after 31 days), which is enough for several thousand posts. Purchased credits never expire. Rate limits are 0.2 requests per second before the first payment and 20 once paid. Monthly subscriptions are listed on the pricing page.

09 — Section

A free-tier pipeline for X posts, and how we collected this

The runnable example further down puts the pieces together: it searches X with /twitter/tweet/advanced_search, follows has_next_page and next_cursor, trims each post to the compact record, sends batches of 100 to gemini-3.8-flash through the google-genai SDK's client.interactions.create call shown in Google's quickstart, waits between calls, and backs off on 429 RESOURCE_EXHAUSTED. Swap the query for your product name or a competitor's, and keep the delay above what your RPM allows.

Retry rules that match Google's docs. Treat 429 as 'one of RPM, TPM, RPD or the spend limit ran out'. Wait and retry for RPM and TPM; if it persists for the rest of the Pacific day, you have hit RPD. On Prepay billing, a 402 means the balance is empty, not that you were throttled.

How we collected this. Question: how many input tokens does an X post cost when sent to Gemini for classification, and how many posts per day does that allow for a given RPD. Accounts and queries: the last 100 posts of @GoogleAI, @GoogleDeepMind, @googledevs, @GeminiApp, @OpenAI and @AnthropicAI, plus the newest results for "gemini api" and "google ai studio" with retweets excluded. Window: the most recent posts at collection time, collected in 2026. Sample: 1,200 posts returned, 1,182 unique, in 60 requests through TwitterAPI.io.

What the sample cannot show. Token counts are estimates at four characters per token, not countTokens results; real counts vary by language and model. AI-lab timelines and AI keyword searches are not a random sample of X, and your own feed may run shorter or longer. We did not call the Gemini API in this study, so nothing here measures Gemini's accuracy or latency.

Privacy. Aggregates only. Organization accounts are named; posts from search results come from private individuals, so their raw pages were not kept and the published sample holds only de-identified size rows with no ids, text or handles.

Next step for developers. Create a key on the TwitterAPI.io dashboard, read the endpoint reference at docs.twitterapi.io, and run the script below against a query you care about. If you would rather let an AI client call X tools directly, the hosted TwitterAPI.io MCP server accepts your API key as a Bearer token.

python
"""classify_x_posts_gemini_free.py - pull recent X posts with TwitterAPI.io, trim each to a
compact record, and label them with a Gemini free-tier model in batches of 100 so every request
counts 100 posts against your requests-per-day (RPD) quota instead of one.

pip install -U requests google-genai
export TWITTERAPI_IO_KEY=...   # from twitterapi.io/dashboard (reads need no X account)
export GEMINI_API_KEY=...      # from Google AI Studio; the free tier needs no billing account
"""
import json
import os
import time

import requests
from google import genai

BASE = "https://api.twitterapi.io"
HEADERS = {"X-API-Key": os.environ["TWITTERAPI_IO_KEY"]}
MODEL = "gemini-3.8-flash"   # free of charge on the free tier per ai.google.dev pricing
BATCH = 100                  # one request = 100 posts toward RPD
SECONDS_BETWEEN_CALLS = 15   # stay well under a low free-tier RPM; tune to your AI Studio numbers

PROMPT = (
    "You label tweets for a developer-tools team. For each tweet in the JSON array, return one JSON object "
    '{"i": <index>, "label": one of ["bug", "feature_request", "praise", "question", "pricing", "other"], '
    '"sentiment": one of ["pos", "neu", "neg"]}. Return only a JSON array, no prose.'
)


def fetch_posts(query, max_pages=5):
    """Newest-first search results. 15 credits per tweet returned ($0.15 per 1,000 tweets)."""
    posts, cursor = [], ""
    for _ in range(max_pages):
        r = requests.get(
            f"{BASE}/twitter/tweet/advanced_search",
            headers=HEADERS,
            params={"query": query, "queryType": "Latest", "cursor": cursor},
            timeout=30,
        )
        r.raise_for_status()
        body = r.json()
        posts.extend(body.get("tweets", []))
        if not body.get("has_next_page"):
            break
        cursor = body.get("next_cursor", "")
    return posts


def compact(t, i):
    """About 9x fewer tokens than the full JSON in our 2026 sample; no handle, no author id."""
    a = t.get("author") or {}
    return {"i": i, "text": t.get("text", ""), "lang": t.get("lang"),
            "likes": t.get("likeCount", 0), "reposts": t.get("retweetCount", 0),
            "replies": t.get("replyCount", 0), "views": t.get("viewCount"),
            "author_followers": a.get("followers"), "blue": a.get("isBlueVerified")}


def label_batch(client, records):
    payload = PROMPT + "\n\n" + json.dumps(records, ensure_ascii=False, separators=(",", ":"))
    for attempt in range(5):
        try:
            out = client.interactions.create(model=MODEL, input=payload)
            text = out.output_text.strip().removeprefix("```json").removesuffix("```").strip()
            return json.loads(text)
        except json.JSONDecodeError:
            return []                       # log and re-queue in real code
        except Exception as e:              # a 429 RESOURCE_EXHAUSTED means RPM, TPM or RPD ran out
            if "429" in str(e) or "RESOURCE_EXHAUSTED" in str(e):
                time.sleep(60 * (attempt + 1))
                continue
            raise
    return []


if __name__ == "__main__":
    client = genai.Client()             # reads GEMINI_API_KEY
    posts = fetch_posts('"gemini api" -filter:retweets lang:en', max_pages=5)   # up to 100 posts
    print(f"fetched {len(posts)} posts, X data cost about ${len(posts) * 15 / 100000:.4f}")
    records = [compact(t, i) for i, t in enumerate(posts)]
    labels = []
    for start in range(0, len(records), BATCH):
        labels += label_batch(client, records[start:start + BATCH])
        time.sleep(SECONDS_BETWEEN_CALLS)
    by_label = {}
    for row in labels:
        by_label[row.get("label")] = by_label.get(row.get("label"), 0) + 1
    print(json.dumps(by_label, indent=2))
10 — Questions

Questions readers ask

What are the Google AI Studio free tier limits?

Every project is limited on requests per minute (RPM), input tokens per minute (TPM) and requests per day (RPD), plus model access and data terms. The limits apply per Google Cloud project, RPD resets at midnight Pacific time, and Google shows your project's exact numbers on the AI Studio rate-limit page rather than in a public per-model table.

Does Gemini have a limit if I use it for free?

Yes. Exceeding any of RPM, TPM or RPD returns a 429 RESOURCE_EXHAUSTED error. Some models also have tokens-per-day or images-per-minute limits, and tools such as Grounding with Google Search carry their own daily caps (up to 500 RPD shared between Gemini 2.5 Flash and Flash-Lite on the free tier).

Are the limits per API key or per project?

Per project. Google's rate-limits page says limits are applied per project, not per API key, so extra keys in the same project share one quota.

Which Gemini models are free in 2026?

Google's pricing page lists Gemini 3.8 Flash, 3.6 Flash, 3.5 Flash-Lite, 3.1 Flash-Lite, 3 Flash Preview, 2.5 Pro, 2.5 Flash, 2.5 Flash-Lite, the embedding models and Gemma 4 as free of charge on the free tier. Gemini 4 Argon, Gemini 3.1 Pro Preview, the Nano Banana image models and Gemini Omni Flash are not available on the free tier.

Does Google use my free-tier prompts for training?

On the free tier (Unpaid Services) Google may use prompts and responses to improve its products and machine learning technologies, and human reviewers may read them; Google tells you not to submit sensitive, confidential or personal information. Paid-tier content is not used that way. In the EEA, Switzerland and the UK, the paid-service data terms apply to free usage as well.

When does the Gemini daily limit reset?

Requests-per-day quotas reset at midnight Pacific time, according to Google's rate-limits documentation.

How do I get higher Gemini API limits?

Link a billing account to the project in AI Studio. Free to Tier 1 typically takes effect instantly; Tier 2 requires $100 paid plus 3 days since the first payment, and Tier 3 requires $1,000 plus 30 days. Google also offers a request form for paid-tier rate limit increases without guarantees.

How many tweets can I classify per day on the Gemini free tier?

Multiply your RPD by the posts per request. In our 2026 sample a compact X post averaged about 144 tokens, so 100 posts per request is about 14,523 input tokens; at an RPD of 20 that is 2,000 posts a day, as long as your TPM allows the batch size.

11 — Further reading

Continue

Sources & further reading
More from this series
Build it

Stop reading. Start building.

Starter credits cover real testing on real data. Google sign-in, no card, no application queue.

Get an API key

Already building with TwitterAPI.io? Publish an honest tutorial or build log about it and earn up to $200 a month in API credits.