{"data":{"service":"inferencelist","version":"0.8.1","license":{"name":"CC0-1.0","url":"https://creativecommons.org/publicdomain/zero/1.0/"},"stale":false,"stale_after_hours":12,"last_success_at":"2026-10-30T06:18:10.635Z","last_run":{"id":192,"started_at":"2026-10-30T06:15:48.060Z","finished_at":"2026-10-30T06:18:10.635Z","status":"partial","snapshot_count":2347,"as_of_date":"2026-10-30","adapters":[{"provider_id":"openrouter","ok":true,"fetched":true,"updated":692,"http_status":200,"notes":"Fetched 692 OpenRouter model(s) across 1 page(s). Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0,"state":"ok"},{"provider_id":"fal","ok":true,"fetched":true,"updated":80,"http_status":200,"notes":"Listed 80 fal model(s) from the public catalog API. Unit prices are applied in a second call when FAL_KEY is set. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0,"state":"ok"},{"provider_id":"deepinfra","ok":true,"fetched":true,"updated":173,"state":"ok","http_status":200,"notes":"Fetched 173 DeepInfra model(s) with published pricing fields. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"chutes","ok":true,"fetched":true,"updated":17,"state":"ok","http_status":200,"notes":"Fetched 17 Chutes model(s). price.usd fields are USD per 1M tokens. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"novita","ok":true,"fetched":true,"updated":98,"state":"ok","http_status":200,"notes":"Fetched 98 Novita model(s). Prices are price_per_m_decimal USD per 1M tokens. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"sambanova","ok":true,"fetched":true,"updated":6,"state":"ok","http_status":200,"notes":"Fetched 6 SambaNova model(s). Token strings are USD per token, stored per 1M. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"featherless","ok":true,"fetched":false,"updated":0,"state":"skipped","deprecated":0,"notes":"skipped: ENABLE_FEATHERLESS is not 1. Featherless publishes about 22,000 models and stays off unless that var is set."},{"provider_id":"tinfoil","ok":true,"fetched":true,"updated":17,"state":"ok","http_status":200,"notes":"Fetched 17 Tinfoil model(s). Token fields are already USD per 1M. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"cerebras","ok":true,"fetched":true,"updated":2,"state":"ok","http_status":200,"notes":"Cerebras pricing.prompt is USD per token, stored per 1M. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"friendli","ok":true,"fetched":true,"updated":5,"state":"ok","http_status":200,"notes":"Friendli pricing.prompt is USD per token, stored per 1M. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"atlascloud","ok":true,"fetched":true,"updated":126,"state":"ok","http_status":200,"notes":"AtlasCloud pricing.prompt is USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"venice","ok":true,"fetched":true,"updated":140,"state":"ok","http_status":200,"notes":"Venice pricing.usd fields are USD per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"phala","ok":true,"fetched":true,"updated":66,"state":"ok","http_status":200,"notes":"Phala pricing.prompt is USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"ionet","ok":true,"fetched":true,"updated":42,"state":"ok","http_status":200,"notes":"io.net token prices are USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"inception","ok":true,"fetched":true,"updated":2,"state":"ok","http_status":200,"notes":"Inception pricing.prompt is USD per token, stored per 1M. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"ovh","ok":true,"fetched":true,"updated":22,"state":"ok","http_status":200,"notes":"OVHcloud pricing.prompt is USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"inferencenet","ok":true,"fetched":true,"updated":68,"state":"ok","http_status":200,"notes":"Inference.net pricing.prompt is USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"nearai","ok":true,"fetched":true,"updated":64,"state":"ok","http_status":200,"notes":"NEAR AI pricing.prompt is USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"replicate","ok":true,"fetched":true,"updated":200,"state":"ok","http_status":200,"notes":"Listed 200 Replicate model(s) across 8 page(s). The list publishes no per-model price, so amounts are null. Stopped after 8 pages. This is not the full catalog, so other Replicate rows were not deprecated. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s). List was incomplete, so existing rows were not deprecated.","deprecated":0},{"provider_id":"groq","ok":true,"fetched":true,"updated":11,"state":"ok","http_status":200,"notes":"Listed 11 groq model(s). Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"together","ok":true,"fetched":true,"updated":269,"state":"ok","http_status":200,"notes":"Listed 269 Together model(s) and 269 price row(s). Token fields are USD per 1M. image, image_pixel, video, and transcribe are stored only when positive, as flat USD per image, megapixel, video, and audio minute. A numeric 0 is stored as null unless the id or name marks the model free. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","deprecated":0},{"provider_id":"fireworks","ok":true,"fetched":false,"updated":0,"state":"skipped","notes":"skipped: no key. FIREWORKS_API_KEY is not set, so this source does not run and does not block the OpenRouter sync."},{"provider_id":"fal-pricing","ok":true,"fetched":true,"updated":80,"state":"ok","http_status":200,"notes":"Priced 80 fal endpoint(s) from the pricing API. unit_price is USD per the returned unit and is not rescaled."},{"provider_id":"openrouter-endpoints","ok":true,"fetched":true,"updated":5667,"state":"ok","notes":"Fetched 565 OpenRouter endpoint list(s) of 565. Aliases skipped 125. Offer rows 5667. Failures 0. Cycle complete. Removed 6 stale offer(s). Concurrency 4."},{"provider_id":"direct-offers","ok":true,"fetched":false,"updated":10,"state":"ok","notes":"Direct catalog rows became 3150 offer row(s). Wrote 10. History 8. Removed 0."},{"provider_id":"cloudflare-pricing","ok":true,"fetched":true,"updated":58,"state":"ok","notes":"Workers AI markdown produced 109 offer row(s) for 58 model(s). Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s). Wrote 1 offer row(s).","deprecated":0},{"provider_id":"amazon-bedrock","ok":true,"fetched":true,"updated":130,"state":"ok","notes":"Bedrock us-east-1 price list produced 791 offer row(s). Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s). Wrote 23 offer row(s).","deprecated":0},{"provider_id":"azure-retail","ok":true,"fetched":true,"updated":12,"state":"ok","notes":"Azure Retail Prices read 4 page(s), 4000 meter(s), 186 matched offer row(s). Cursor saved for the next cron. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s). List was incomplete, so existing rows were not deprecated. Wrote 34 offer row(s).","deprecated":0},{"provider_id":"sarvam-docs","ok":false,"fetched":true,"updated":0,"state":"error","error":"empty sarvam pricing","notes":"Sarvam markdown had no priced rows. Existing offers were left in place."},{"provider_id":"oci-pricelist","ok":true,"fetched":true,"updated":8,"state":"ok","notes":"OCI price list produced 47 matched token offer row(s). Transaction and hourly rows are skipped. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s). Wrote 1 offer row(s).","deprecated":0}],"notes":"Upserted 692 OpenRouter model(s) across 84 provider(s). Newly deprecated 0 row(s). Catalog snapshot ready."},"sources":[{"id":"openrouter","ok":true,"fetched":true,"updated":692,"http_status":200,"error":null,"notes":"Fetched 692 OpenRouter model(s) across 1 page(s). Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"fal","ok":true,"fetched":true,"updated":80,"http_status":200,"error":null,"notes":"Listed 80 fal model(s) from the public catalog API. Unit prices are applied in a second call when FAL_KEY is set. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"deepinfra","ok":true,"fetched":true,"updated":173,"http_status":200,"error":null,"notes":"Fetched 173 DeepInfra model(s) with published pricing fields. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"chutes","ok":true,"fetched":true,"updated":17,"http_status":200,"error":null,"notes":"Fetched 17 Chutes model(s). price.usd fields are USD per 1M tokens. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"novita","ok":true,"fetched":true,"updated":98,"http_status":200,"error":null,"notes":"Fetched 98 Novita model(s). Prices are price_per_m_decimal USD per 1M tokens. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"sambanova","ok":true,"fetched":true,"updated":6,"http_status":200,"error":null,"notes":"Fetched 6 SambaNova model(s). Token strings are USD per token, stored per 1M. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"featherless","ok":true,"fetched":false,"updated":0,"http_status":null,"error":null,"notes":"skipped: ENABLE_FEATHERLESS is not 1. Featherless publishes about 22,000 models and stays off unless that var is set.","state":"skipped","deprecated":0,"warnings":[]},{"id":"tinfoil","ok":true,"fetched":true,"updated":17,"http_status":200,"error":null,"notes":"Fetched 17 Tinfoil model(s). Token fields are already USD per 1M. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"cerebras","ok":true,"fetched":true,"updated":2,"http_status":200,"error":null,"notes":"Cerebras pricing.prompt is USD per token, stored per 1M. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"friendli","ok":true,"fetched":true,"updated":5,"http_status":200,"error":null,"notes":"Friendli pricing.prompt is USD per token, stored per 1M. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"atlascloud","ok":true,"fetched":true,"updated":126,"http_status":200,"error":null,"notes":"AtlasCloud pricing.prompt is USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"venice","ok":true,"fetched":true,"updated":140,"http_status":200,"error":null,"notes":"Venice pricing.usd fields are USD per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"phala","ok":true,"fetched":true,"updated":66,"http_status":200,"error":null,"notes":"Phala pricing.prompt is USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"ionet","ok":true,"fetched":true,"updated":42,"http_status":200,"error":null,"notes":"io.net token prices are USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"inception","ok":true,"fetched":true,"updated":2,"http_status":200,"error":null,"notes":"Inception pricing.prompt is USD per token, stored per 1M. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"ovh","ok":true,"fetched":true,"updated":22,"http_status":200,"error":null,"notes":"OVHcloud pricing.prompt is USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"inferencenet","ok":true,"fetched":true,"updated":68,"http_status":200,"error":null,"notes":"Inference.net pricing.prompt is USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"nearai","ok":true,"fetched":true,"updated":64,"http_status":200,"error":null,"notes":"NEAR AI pricing.prompt is USD per token, stored per 1M. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"replicate","ok":true,"fetched":true,"updated":200,"http_status":200,"error":null,"notes":"Listed 200 Replicate model(s) across 8 page(s). The list publishes no per-model price, so amounts are null. Stopped after 8 pages. This is not the full catalog, so other Replicate rows were not deprecated. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s). List was incomplete, so existing rows were not deprecated.","state":"ok","deprecated":0,"warnings":[]},{"id":"groq","ok":true,"fetched":true,"updated":11,"http_status":200,"error":null,"notes":"Listed 11 groq model(s). Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"together","ok":true,"fetched":true,"updated":269,"http_status":200,"error":null,"notes":"Listed 269 Together model(s) and 269 price row(s). Token fields are USD per 1M. image, image_pixel, video, and transcribe are stored only when positive, as flat USD per image, megapixel, video, and audio minute. A numeric 0 is stored as null unless the id or name marks the model free. Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"fireworks","ok":true,"fetched":false,"updated":0,"http_status":null,"error":null,"notes":"skipped: no key. FIREWORKS_API_KEY is not set, so this source does not run and does not block the OpenRouter sync.","state":"skipped","deprecated":null,"warnings":[]},{"id":"fal-pricing","ok":true,"fetched":true,"updated":80,"http_status":200,"error":null,"notes":"Priced 80 fal endpoint(s) from the pricing API. unit_price is USD per the returned unit and is not rescaled.","state":"ok","deprecated":null,"warnings":[]},{"id":"openrouter-endpoints","ok":true,"fetched":true,"updated":5667,"http_status":null,"error":null,"notes":"Fetched 565 OpenRouter endpoint list(s) of 565. Aliases skipped 125. Offer rows 5667. Failures 0. Cycle complete. Removed 6 stale offer(s). Concurrency 4.","state":"ok","deprecated":null,"warnings":[]},{"id":"direct-offers","ok":true,"fetched":false,"updated":10,"http_status":null,"error":null,"notes":"Direct catalog rows became 3150 offer row(s). Wrote 10. History 8. Removed 0.","state":"ok","deprecated":null,"warnings":[]},{"id":"cloudflare-pricing","ok":true,"fetched":true,"updated":58,"http_status":null,"error":null,"notes":"Workers AI markdown produced 109 offer row(s) for 58 model(s). Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s). Wrote 1 offer row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"amazon-bedrock","ok":true,"fetched":true,"updated":130,"http_status":null,"error":null,"notes":"Bedrock us-east-1 price list produced 791 offer row(s). Incoming catalog is within the sanity threshold. Newly deprecated 0 row(s). Wrote 23 offer row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"azure-retail","ok":true,"fetched":true,"updated":12,"http_status":null,"error":null,"notes":"Azure Retail Prices read 4 page(s), 4000 meter(s), 186 matched offer row(s). Cursor saved for the next cron. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s). List was incomplete, so existing rows were not deprecated. Wrote 34 offer row(s).","state":"ok","deprecated":0,"warnings":[]},{"id":"sarvam-docs","ok":false,"fetched":true,"updated":0,"http_status":null,"error":"empty sarvam pricing","notes":"Sarvam markdown had no priced rows. Existing offers were left in place.","state":"error","deprecated":null,"warnings":[]},{"id":"oci-pricelist","ok":true,"fetched":true,"updated":8,"http_status":null,"error":null,"notes":"OCI price list produced 47 matched token offer row(s). Transaction and hourly rows are skipped. Catalog for this source is still small, so the feed is applied. Newly deprecated 0 row(s). Wrote 1 offer row(s).","state":"ok","deprecated":0,"warnings":[]}],"warnings":[],"snapshot":{"state":"ready","hash":"0de513fc55b395b1d33741202902655c6fe6eb3163d71e411bc43b832b660356","built_at":"2026-10-30T06:18:07.703Z","checked_at":"2026-10-30T06:18:07.703Z","age_seconds":8796,"bytes":7341193,"gzip_bytes":437560,"r2_key":"catalog/0de513fc55b395b1d33741202902655c6fe6eb3163d71e411bc43b832b660356.json.gz","error":null}}}