Model names, pricing, and free-tier metadata for OpenAI, Anthropic, and Google Gemini.
Project description
llm-catalogue
Model names, pricing, and free-tier metadata for OpenAI, Anthropic, and Google Gemini, in one small zero-dependency package.
pip install llm-catalogue
Usage
from llm_catalogue import Catalog
catalog = Catalog()
# All free-tier-eligible models for a provider ([] if none)
free_gemini = catalog.get_free_models("google")
free_openai = catalog.get_free_models("openai") # -> []
# All models for a provider
claude_models = catalog.get_models("anthropic")
# UI toggle helper
if catalog.has_free_tier("google"):
...
# Free models across every provider
for model in catalog.find_free_models():
print(model.id, model.vendor.value)
# Look up one model and estimate a request's cost
model = catalog.get_model("gemini-2.5-flash")
cost_usd = model.calculate_cost(input_tokens=50_000, output_tokens=2_000)
get_models/get_free_models/has_free_tier accept "openai", "anthropic"
(or "claude"), and "google" (or "gemini").
Data freshness
Catalog() never makes a network call — it reads the registry.json bundled
with the package (or a previously cached one under ~/.cache/llm_catalogue/),
so imports stay fast and offline-safe. To pull the latest data from GitHub:
catalog = Catalog(auto_update=True) # fetch on construction
catalog.refresh() # or fetch explicitly, any time
catalog.refresh(force=True) # bypass the 24h cache TTL
refresh() never raises — on failure (offline, timeout, bad response) it
leaves the currently loaded data untouched and returns False.
Keeping the bundled registry up to date
The registry is rebuilt from each provider's public pricing docs:
pip install -e ".[scraper]"
python -m llm_catalogue.scraper
This overwrites src/llm_catalogue/data/registry.json. Commit the result and
cut a new release so it ships in the next pip install.
Scope and known limitations (v1)
- Only "Standard" tier, text-in/text-out pricing is captured. Batch pricing is included where the source table has it; Flex/Priority tiers are not.
- Multimodal, audio, image, video, and embedding-specialist models are out of scope — this tracks general-purpose chat/text LLMs.
cached_inputis the cache-read price. Separate cache-write premiums (e.g. Anthropic's 5m/1h cache writes, OpenAI's gpt-5.6-family write cost) aren't modelled yet.free_tier.rate_limit_rpmisn't populated — Gemini's free-tier RPM limits live on a separate rate-limits doc this scraper doesn't fetch yet.- Gemini's tiered (>200k token) pricing is captured via
tiered_pricing; OpenAI's<272K context lengthmodels are recorded withcontext_windowbut don't have a documented over-the-limit rate, so they aren't tiered.
Data last refreshed: 2026-07-26.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file llm_catalogue-0.1.0.tar.gz.
File metadata
- Download URL: llm_catalogue-0.1.0.tar.gz
- Upload date:
- Size: 14.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
688567941a06b25a87b848ddaff2409338d7547691bb052f74f8a3a3ec678d3e
|
|
| MD5 |
c795e75e970f898f6df0fc09672f44cb
|
|
| BLAKE2b-256 |
64e38d0b413ac31263b406a1c0a1832a8c123d512952d88ed0c51f3c9a1657cf
|
File details
Details for the file llm_catalogue-0.1.0-py3-none-any.whl.
File metadata
- Download URL: llm_catalogue-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
146c876fd0225f8bd79a1d1080f1bbe82b209da49c555e55144480babb2e902d
|
|
| MD5 |
2d6d80e467d4f1c286257ac066137f81
|
|
| BLAKE2b-256 |
fe1efc5dc4606b02b23c6ba272742083ccae57a3047e91a618d661e4d609d90e
|