Inference APIs

Groq: "Developer tier upgrades are temporarily unavailable"

You outgrew Groq's free tier, went to pay for the Developer plan, and the console said: "Developer tier upgrades are temporarily unavailable due to high demand." You are not doing anything wrong. The self-serve upgrade is closed, no reopening date has been published, and the message sits inside the logged-in console, so it does not show on the public pricing page. We last saw it on 16 September 2026; check your own console for the current state.

Last verified September 17, 2026 against Groq rate limits, Groq deprecations · 5 min read

ProviderGroq
Where you see itConsole → Billing → Plans, when you try to upgrade from Free to Developer
MessageDeveloper tier upgrades are temporarily unavailable due to high demand.
When it happensYou try to move from the Free plan to the Developer plan to raise rate limits
What it blocksHigher rate limits, and the Batch and Flex processing that come with the Developer plan
Can you wait it out?Only if you can accept free-tier limits until Groq reopens upgrades (no date given)
Short answer
  • Nothing you can fix from your account. The upgrade is paused for self-serve accounts generally, not just yours.
  • The free tier is small in dollar terms. The whole daily allowance on gpt-oss-120b (200,000 tokens) is worth less than 10 cents at pay-as-you-go prices.
  • Cheapest fix: keep Groq for what fits and send only the overflow to a second OpenAI-compatible endpoint. The request does not change.

Why this happens

Groq gates higher rate limits, Batch and Flex processing behind its paid Developer plan. The reason Groq gives is high demand: it has stopped taking new paid self-serve accounts for now. Free accounts keep working at free-tier limits; Enterprise contracts, which commit to spend up front, are unaffected. There is no waiting list and no published date.

What you are left with

On the chat models most people use, the free plan allows 30 requests per minute, 1,000 requests per day, 8,000 tokens per minute and 200,000 tokens per day, counted per model. The full table is in the rate limits tracker. Two of those bite in practice:

  • 200,000 tokens per day is about 500 short chat turns, or far fewer if you resend history. When it is gone, every request returns 429 until the window rolls over.
  • 8,000 tokens per minute means a single request above that size can never succeed, however long you wait. That is the 413 "Request too large" error.
To put a number on it: 200,000 tokens split 70/30 between input and output costs about $0.08 on a pay-per-token endpoint at $0.20 / $0.80 per million. The cap is a capacity decision by Groq, not a reflection of what the usage is worth.

Four ways forward

  1. Fit inside the free tier. Send only recent turns, cap max_tokens, cache repeated prompts, and move cheap steps such as routing or classification to a different model, since each model has its own counters. This buys headroom; it does not remove the ceiling.
  2. Talk to Groq sales about Enterprise. Real, but it is a committed-spend contract sized for companies, not side projects.
  3. Keep Groq and send the overflow elsewhere. Groq speaks the OpenAI wire format, so any OpenAI-compatible endpoint can take the same request when Groq answers 429 or 413. You keep Groq's speed for most traffic and pay only for what spills over.
  4. Move the workload. If the daily cap makes Groq unreliable for your app, run the same open model on a pay-as-you-go endpoint outright. For gpt-oss-120b the difference is price and speed, not answers: side by side.
Python · keep Groq as primary, send overflow elsewhere
import os
from openai import OpenAI, RateLimitError, APIStatusError

groq     = OpenAI(base_url="https://api.groq.com/openai/v1", api_key=os.environ["GROQ_API_KEY"])
overflow = OpenAI(base_url="https://api.inferenceapis.com/v1", api_key=os.environ["INFERENCE_API_KEY"])

def chat(messages, model="openai/gpt-oss-120b"):
    try:
        return groq.chat.completions.create(model=model, messages=messages, max_tokens=800)
    except (RateLimitError, APIStatusError) as e:
        if getattr(e, "status_code", 429) not in (413, 429):
            raise
        return overflow.chat.completions.create(model=model, messages=messages, max_tokens=800)   # same model id

The same pattern as a LiteLLM proxy config, and in Node, is in the 429 entry.

What not to build on

Opening several free accounts to stack their limits is the kind of thing provider terms prohibit and accounts get closed for, usually at the worst moment. Rotating keys from one account does nothing, because limits are counted per organisation, not per key.

Frequently asked questions

When will Groq reopen Developer tier upgrades?

No date has been announced. The message says "temporarily" and gives no timeline, and there is no waiting list to join. Check Console → Billing → Plans periodically.

Would the Developer tier remove rate limits entirely?

No. It raises them substantially and adds Batch and Flex processing, but every plan has per-model limits. Only an Enterprise contract negotiates them individually.

Are Groq's limits per API key, per model or per account?

Per organisation and per model. Creating more keys does not help; using a different model does, because each model has its own counters.

Is the model on another provider really the same?

For open-weight models such as openai/gpt-oss-120b, yes: the same published weights. Speed, price and limits differ by host; answers differ only by sampling.

Where Inference APIs fits

Option 3 below sends only the overflow to a second OpenAI-compatible endpoint. Inference APIs is one: it serves openai/gpt-oss-120b under the same id, accepts Groq-style base paths, and bills per request with no daily cap, so the Groq free tier keeps doing what it can and the rest costs cents.

Something changed or wrong? Tell us and we will re-verify the entry.