Free LLM API Endpoints: Live-Tested Models, Ranked avatar

Free LLM API Endpoints: Live-Tested Models, Ranked

Pricing

from $0.70 / 1,000 endpoint listeds

Go to Apify Store
Free LLM API Endpoints: Live-Tested Models, Ranked

Free LLM API Endpoints: Live-Tested Models, Ranked

Free LLM API endpoints that work right now, live-probed hourly and ranked: base URL, model ID, key requirement, latency and proven tool, JSON and vision support.

Pricing

from $0.70 / 1,000 endpoint listeds

Rating

0.0

(0)

Developer

Superslow Sloth

Superslow Sloth

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Free LLM API Endpoints: live-tested, ranked, with a fallback chain

Get the free LLM API endpoints that work right now, as structured rows: base URL, model ID, whether a key is needed, latency, recent success rate, and which capabilities (tool calling, JSON schema, JSON mode, vision, image generation) a real call proved. The list comes from stillworks, a registry that re-probes every endpoint hourly with a real request, and it is returned ranked: row 1 is the pick, the rest is your fallback chain.

No login, no proxy and no API key are needed to run this actor.

Why the ranking matters

Free LLM endpoints are other people's services. Keyless quotas are usually per IP address, so the endpoint that answered stillworks can still refuse you with a 402 or 429. Instead of one answer you get an ordered list: try row 1, and on a refusal walk down to row 2. Ranking is "no key needed first, then recent success rate, then latency" (the exact wording is in the run log).

What you can do with it

  • Pick a working free, OpenAI-compatible base_url and model for an agent, a CI job, a prototype or a demo, without reading ten provider pages.
  • Build a fallback chain across providers and re-pull it on a schedule, so a dead free endpoint drops out of your config instead of breaking production.
  • Find the free models that actually do tool calling, JSON schema output or vision, as proven by a call and not as claimed in a docs page.
  • Monitor which free LLM providers are up, how fast they answer and how often they succeed.

Input

FieldTypeNotes
authstringnone (default): endpoints that answered a real call with no Authorization header. key: endpoints that need your own API key (stillworks verified them with its own free-tier key). any: both shelves together, keyless first.
featuresarrayAny of tools, json_schema, json_object, vision, image_out. Combined with AND, so you get models that do all of them. Models never probed for a capability are left out. image_out cannot be combined with another feature.
maxItemsintegerKeep the first N rows of the ranked list (1 to 50, default 50). The API returns at most 50 models per call.

An unknown value for auth or features fails the run up front with a clear message, before anything is charged. It never silently returns a wider list.

Example input:

{ "auth": "none", "features": ["tools"], "maxItems": 10 }

Output

One dataset row per endpoint/model pair, best first. The fields are the API's own, plus rank and stillworks_url.

{
"rank": 1,
"endpoint": "pollinations",
"model": "openai-fast",
"tier": "anonymous",
"base_url": "https://text.pollinations.ai",
"chat_path": "/openai",
"openai_base_url": "https://text.pollinations.ai/openai",
"auth_mode": "none",
"auth": "none",
"chat_capable": true,
"openai_compatible": true,
"last_ok": "2026-10-12T06:23:57.592923Z",
"latency_ms": 355,
"recent_attempts": 168,
"recent_successes": 168,
"answered": "168/168",
"proved": ["json_schema", "json_object"],
"claimed_unproved": [],
"failed": ["tools"],
"capabilities": {
"json_schema": { "claimed": null, "supported": true, "checked_at": "2026-10-11T17:08:30.817873Z", "last_ok": "2026-10-11T17:08:30.817873Z" },
"tools": { "claimed": true, "supported": false, "checked_at": "2026-10-11T17:08:00.338317Z", "last_ok": null, "last_error": "answered without calling the tool" }
},
"key_note": null,
"generated_at": "2026-10-12T06:26:23.813289476Z",
"stillworks_url": "https://stillworks.supercapybara.com/llm/pollinations"
}
  • openai_base_url is the value to give an OpenAI SDK as base_url; model is the model ID.
  • auth is none (send no Authorization header) or bearer (send your own key).
  • proved, claimed_unproved and failed separate what a real call showed from what the provider says it supports. capabilities holds the detail, including the last error.
  • tier and last_ok are null when stillworks has no value, never a placeholder.
  • key_note is filled only for endpoints that need your own key: those were verified with stillworks' own free-tier key, which proves the endpoint answers today, not what a new signup's free tier includes.

Notes on the data

  • Verified from stillworks' address, not yours. Quotas are commonly per IP and per account, so a listed endpoint can still answer 402 or 429 from your network. That is exactly why the result is a ranked chain.
  • The list moves. Providers add key requirements, change models and disappear. Rows reflect the hourly probe whose time is in last_ok and generated_at.
  • An empty result is a real answer. If nothing is currently proven for your filter (for example image generation with auth: key), the run finishes with an empty dataset and is not charged per row.
  • Calls to the stillworks API identify themselves with the User-Agent stillworks-apify-actor/1.0.

Billing

Pay per event: a small actor-start event per run, plus one endpoint-listed event per row delivered. The event is charged after the row is written to the dataset, so you are never billed for a row you did not receive. Platform usage is included in the event prices.

Live registry and docs: https://stillworks.supercapybara.com. The same data is a plain public JSON API at https://stillworks.supercapybara.com/api/llm/up if you would rather call it directly from your own code.