24 matching providers · Sources reviewed 2026-07-25

OpenAI-compatible free LLM APIs

24 providers that document an OpenAI-style endpoint, so an existing SDK can move by changing the Base URL, model id, and your own key.

What compatibility covers—and what it does not

This page includes 24 of the 25 providers with detailed pages because each documents an endpoint compatible with part of the OpenAI API. In practical terms, the standard client can usually send chat completions after you replace the Base URL, model id, and API key. Compatibility is a protocol statement, not a claim that every OpenAI feature exists. Responses, tool calls, streaming events, embeddings, image routes, and error fields can differ by provider.

Compatible endpoints and free-access terms

These 24 providers are listed in catalog order rather than by an invented quality score. The Base URL is copied from provider data, while the limit column keeps the wording that can be supported by official documentation. Follow the provider link for exact model ids and sources. A client configured with the correct protocol still fails when it sends a model alias the provider does not recognize.

ProviderFree accessPublished limitsCardBase URL
Google Gemini API Provider free tier Set by project tier Not required https://generativelanguage.googleapis.com/v1beta/openai/
GroqCloud Provider free tier 30 requests per minute, 1000 requests per day Not required https://api.groq.com/openai/v1
SambaNova Cloud Provider free tier 20 requests per minute, 20 requests per day Not required https://api.sambanova.ai/v1
Cohere Provider free tier 20 requests per minute Not required https://api.cohere.ai/compatibility/v1
Cloudflare Workers AI Provider free tier Published in compute units Not required https://api.cloudflare.com/client/v4/accounts/ACCOUNT_ID/ai/v1
Hugging Face Inference Providers Provider free tier Published as a credit balance Not required https://router.huggingface.co/v1
SiliconFlow Provider free tier 1000 requests per minute Not required https://api.siliconflow.com/v1
Fireworks AI Provider free tier 10 requests per minute Not required https://api.fireworks.ai/inference/v1
Z.AI Open Platform Provider free tier Selected models priced at zero Not required https://api.z.ai/api/paas/v4
Novita AI Provider free tier Selected models priced at zero Not required https://api.novita.ai/openai
Mistral La Plateforme Provider free tier Enforced but not published Not required https://api.mistral.ai/v1
Alibaba Cloud Model Studio Provider free tier Published per model Not required https://dashscope-intl.aliyuncs.com/compatible-mode/v1
Moonshot AI (Kimi) Provider free tier Published per tier Not required https://api.moonshot.ai/v1
Pollinations.AI Provider free tier Enforced but not published Not required https://text.pollinations.ai/openai
Ollama Cloud Provider free tier Enforced but not published Not required https://ollama.com/v1
Cerebras Inference Free trial credit 5 requests per minute Required https://api.cerebras.ai/v1
Vercel AI Gateway Free trial credit Published as a credit balance Not required https://ai-gateway.vercel.sh/v1
OpenRouter Free model aggregator 20 requests per minute, 50 requests per day Not required https://openrouter.ai/api/v1
Together AI Metered access Dynamic, no fixed numbers Not required https://api.together.xyz/v1
Nebius Token Factory Metered access 60 requests per minute Not required https://api.tokenfactory.nebius.com/v1
Perplexity API Metered access 50 requests per minute Not required https://api.perplexity.ai
DeepInfra Metered access Enforced but not published Not required https://api.deepinfra.com/v1/openai
Chutes Metered access Published per paid plan Not required https://llm.chutes.ai/v1
Scaleway Generative APIs Metered access Enforced but not published Required https://api.scaleway.ai/v1

Start with the feature your client actually uses

A simple chat client needs much less compatibility than an agent that streams tool calls and expects a particular error schema. List the routes and fields your application depends on, then test those against a short list. For coding tools, confirm custom Base URL support and the environment variable used for the key. For batch jobs, published daily limits and concurrency matter more than a successful one-off request from an interactive console.

Why drop-in replacement is rarely literal

Providers expose different model catalogs, context windows, moderation behavior, token accounting, and retry headers behind a familiar endpoint shape. Some ignore unsupported parameters; others reject the request. Free tiers add another variable because model availability and queue priority may change independently of the protocol. Keep provider-specific model ids in configuration, preserve the raw error status for diagnosis, and avoid code that assumes every 429 response carries the same reset information.

A portable integration pattern

Keep Base URL, model id, and key environment variable outside application code. Run a minimal non-streaming completion first, then enable streaming, structured output, and tools one capability at a time. Record which feature fails rather than labeling the entire endpoint incompatible. This pattern makes switching providers a configuration change and leaves a clear fallback when a free model is removed or its capacity becomes temporarily constrained.

Evidence behind the compatibility label

The label is used only when a provider documents the endpoint itself; a community wrapper does not count. Records were reviewed on 2026-07-25. Read the data methodology for the evidence rules, then use the browser key checker or its generated curl command to separate a bad key, a rate limit, and an endpoint error before changing your SDK.