Skip to main content

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_input is 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_rpm isn'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 length models are recorded with context_window but don't have a documented over-the-limit rate, so they aren't tiered.

Data last refreshed: 2026-07-26.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm_catalogue-0.1.0.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llm_catalogue-0.1.0-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

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

Hashes for llm_catalogue-0.1.0.tar.gz
Algorithm Hash digest
SHA256 688567941a06b25a87b848ddaff2409338d7547691bb052f74f8a3a3ec678d3e
MD5 c795e75e970f898f6df0fc09672f44cb
BLAKE2b-256 64e38d0b413ac31263b406a1c0a1832a8c123d512952d88ed0c51f3c9a1657cf

See more details on using hashes here.

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

Hashes for llm_catalogue-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 146c876fd0225f8bd79a1d1080f1bbe82b209da49c555e55144480babb2e902d
MD5 2d6d80e467d4f1c286257ac066137f81
BLAKE2b-256 fe1efc5dc4606b02b23c6ba272742083ccae57a3047e91a618d661e4d609d90e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page