{
  "data": {
    "a": {
      "slug": "deepinfra",
      "name": "DeepInfra",
      "vendor": "Deep Infra Inc.",
      "vendorUrl": "https://deepinfra.com",
      "kind": "model",
      "category": "inference",
      "summary": "DeepInfra is a hosted inference API for open-weight and some third-party models, covering chat, embeddings, reranking, image, video and speech. It answers OpenAI-style and Anthropic-style calls at api.deepinfra.com with a Bearer key.",
      "url": "https://www.anchorterminal.com/tools/deepinfra",
      "markdownUrl": "https://www.anchorterminal.com/tools/deepinfra.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/deepinfra.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/deepinfra.json",
      "repo": "https://github.com/deepinfra/deepinfra-python",
      "license": "Proprietary service under the DeepInfra Terms of Service. The Python and Node SDKs and the docs repository are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.deepinfra.com/v1/openai",
      "packages": [
        {
          "registry": "pypi",
          "name": "deepinfra"
        },
        {
          "registry": "npm",
          "name": "deepinfra"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve Bearer key from the dashboard at https://deepinfra.com/dash/api_keys after a browser sign-up with Google, GitHub, email or Okta SSO. The Anthropic-style routes also take the key in `x-api-key`. Keys can carry an IP allowlist and a monthly spending limit, and a key can mint scoped JWTs limited by model, expiry and spend.",
      "pricing": "usage",
      "pricingNotes": "Pay per token, image, audio minute or GPU-hour, with no free tier. An account must add a card or prepay. DeepSeek-V4-Flash-0731 costs $0.06 in and $0.18 out per 1M tokens, the priority tier is 1.5x, flex 0.8x and batch 20 per cent off (https://deepinfra.com/pricing, checked 2026-10-08).",
      "priceSummary": "from $0.06 / 1M in",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the docs repository, the OpenAPI document or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 21,
        "npmWeekly": 1250,
        "pypiWeekly": 50,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.deepinfra.com/",
      "rateLimitsUrl": "https://docs.deepinfra.com/account/rate-limits",
      "llmsTxt": "https://docs.deepinfra.com/llms.txt",
      "openapi": "https://api.deepinfra.com/openapi.json",
      "capabilities": [
        "inference.llm",
        "inference.open-weights",
        "embed.text",
        "rerank",
        "image.generate",
        "speech.stt",
        "speech.tts",
        "compute.batch"
      ],
      "tags": [
        "hosted",
        "model",
        "open-weights",
        "usage-based",
        "card-required",
        "openapi",
        "llms-txt",
        "openai-compatible",
        "anthropic-compatible",
        "batch",
        "prompt-caching",
        "python",
        "typescript",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-10-07",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63,
        "grade": "B",
        "agentReady": false,
        "rank": 371,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 9,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 65,
          "payments": 20,
          "reliability": 70,
          "schema": 69,
          "security": 64,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "The model list, context sizes and per-token prices are readable without a key, and keys can carry an IP allowlist, a monthly spending cap and model-limited JWTs. Deprecated models get one week's notice and are then redirected to another model, there is no changelog or SLA, and an account needs a card or prepayment before any call.",
        "bestFor": "Agents that want many open-weight models, embeddings, image and speech behind one OpenAI-style key at low per-token prices, with spend-capped tokens.",
        "strengths": [
          "`GET /v1/openai/models` answered without a key on 8 October 2026 with 181 models, each with context length, output cap and per-token prices",
          "Scoped JWTs limit a token to named models, an expiry and a USD spending limit, and each API key can carry an IP allowlist and a monthly cap",
          "The terms commit to zero data retention and no training on Customer Data, and say that clause controls over the privacy policy and docs",
          "Batch API at 20 per cent off, a flex tier at 0.8x, prompt caching with cached-input prices and server-side fallback across up to four models",
          "Status page with 90-day history for the API, the website and 154 models, plus a dated list of scheduled deprecations"
        ],
        "weaknesses": [
          "A deprecated model gets at least one week's notice, and requests are then forwarded to a replacement model under the old id",
          "The status feed lists 50 automated major-outage observations on single models since 3 August 2026, several longer than 24 hours, with no written incident notes",
          "No free tier. The pricing page says an account must add a card or prepay before using the service",
          "No changelog, SLA, error reference or `Retry-After` header was found in the reviewed documentation",
          "The sub-processor list names three companies and is dated 6 September 2024, while the docs say Google and Anthropic receive data for their models"
        ],
        "agentNotes": [
          "Call `GET https://api.deepinfra.com/v1/openai/models` at start-up for ids, context sizes and prices. No key is needed",
          "Check the `model` field of each response. After a deprecation date, requests to the old id are served by a replacement model",
          "Ask the account owner for a scoped JWT limited to the models and spend the task needs, not the full API key",
          "Stay under 200 concurrent requests per model. On 429 `engine_overloaded`, retry after a delay, or send `models` with up to four fallbacks",
          "Never inspect a JWT with `GET /v1/scoped-jwt?jwtoken=`, which puts the token in the URL. Keep credentials in the `Authorization` header"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 65,
          "payments": 20,
          "reliability": 70,
          "schema": 69,
          "security": 64,
          "transparency": 60
        },
        "provenanceScore": 74
      },
      "connect": {
        "install": "pip install openai   # or: npm install openai",
        "http": "curl \"https://api.deepinfra.com/v1/openai/chat/completions\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $DEEPINFRA_API_KEY\" \\\n  -d '{\"model\":\"deepseek-ai/DeepSeek-V4-Flash-0731\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/deepinfra"
      },
      "area": "models",
      "provenance": {
        "legalEntity": "Deep Infra Inc.",
        "domain": "deepinfra.com",
        "domainRegistered": "2017-12-08",
        "endpointOnVendorDomain": true,
        "terms": "https://deepinfra.com/terms",
        "privacy": "https://deepinfra.com/privacy",
        "statusPage": "https://status.deepinfra.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service, last modified 17 August 2026, name Deep Infra Inc., a Delaware corporation, with California law and JAMS arbitration in San Francisco. They are written around Service Orders and govern the services, the API included.",
          "The Privacy Policy, last modified 15 August 2026, names DeepInfra, Inc., a Delaware corporation, covers the website and the APIs, and has a section on data sent to and returned by the inference service.",
          "No changelog or release notes page was found in the docs index or the site map.",
          "https://deepinfra.com/.well-known/security.txt returns 404.",
          "RDAP for deepinfra.com gives a registration date of 2017-12-08.",
          "The API answers at api.deepinfra.com, the docs at docs.deepinfra.com and the status page at status.deepinfra.com.",
          "No SLA or published DPA was found. The terms mention a DPA only where the parties execute one."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/deepinfra.json",
      "live": {
        "slug": "deepinfra",
        "probe": {
          "target": "https://api.deepinfra.com/v1/openai",
          "method": "get",
          "lastAt": "2026-10-09T09:44:53.463632896Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 370,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 377,
          "p95ms24h": 506,
          "samples24h": 23,
          "samples30d": 23,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 23,
              "ok": 23
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.deepinfra.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:47.5406023Z"
        },
        "updatedAt": "2026-10-09T09:44:53.463632896Z"
      }
    },
    "answer": "OpenRouter scores 68.5 (B) on agent readiness against DeepInfra's 63 (B), and leads in 5 of 7 scored categories. DeepInfra leads on reliability.",
    "b": {
      "slug": "openrouter",
      "name": "OpenRouter",
      "vendor": "OpenRouter",
      "vendorUrl": "https://openrouter.ai",
      "kind": "router",
      "category": "inference",
      "summary": "One OpenAI-compatible API in front of 80+ model providers, at the providers' own token prices, with fallbacks and routing controls.",
      "url": "https://www.anchorterminal.com/tools/openrouter",
      "markdownUrl": "https://www.anchorterminal.com/tools/openrouter.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openrouter.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openrouter.json",
      "repo": "https://github.com/OpenRouterTeam/typescript-sdk",
      "license": "Apache-2.0 (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://openrouter.ai/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@openrouter/sdk"
        },
        {
          "registry": "pypi",
          "name": "openrouter"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer key. OAuth PKCE lets an app get a key on a user's behalf.",
      "pricing": "usage",
      "pricingNotes": "No markup on tokens. The fee is on credit top-ups, 5.5% by card ($0.80 minimum) and 5% in crypto, 8% on Business. Bring your own key free up to $25,000 a month, then 5%. 25+ free models at 20 requests a minute and 50 a day, 1,000 a day after a $10 purchase (https://openrouter.ai/pricing).",
      "priceSummary": "5.5% fee",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Credits can be bought in USDC through Coinbase, but requests are paid from a prepaid balance, not per call.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 226,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://openrouter.ai/docs",
      "rateLimitsUrl": "https://openrouter.ai/docs/api_reference/limits",
      "llmsTxt": "https://openrouter.ai/docs/llms.txt",
      "openapi": "https://openrouter.ai/docs/openapi/openapi.yaml",
      "capabilities": [
        "inference.llm",
        "inference.router"
      ],
      "tags": [
        "hosted",
        "router",
        "free-tier",
        "no-card",
        "openapi",
        "llms-txt",
        "crypto-topup"
      ],
      "lastRelease": "2026-10-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.5,
        "grade": "B",
        "agentReady": false,
        "rank": 199,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 84,
          "payments": 40,
          "reliability": 55,
          "schema": 90,
          "security": 60,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Public OpenAPI document, llms.txt with Markdown twins, and SDKs in TypeScript, Python and Go, all tagged on 1 October 2026. No machine payment. USDC top-ups go to a prepaid balance.",
        "bestFor": "Agents that need many models behind one key, provider failover and a hard price ceiling per request.",
        "strengths": [
          "Public OpenAPI document, llms.txt with Markdown twins, and SDKs in TypeScript, Python and Go, all tagged on 1 October 2026",
          "Per-request routing controls, fallback `models` lists, provider ordering, `zdr` and `max_price`",
          "429, 503 and some 402 responses carry `Retry-After`, and the SDKs honour it",
          "OpenRouter stores no prompts or responses unless you opt in",
          "Free models with no card, and Management API keys for minting and rotating keys in code"
        ],
        "weaknesses": [
          "No machine payment. USDC top-ups go to a prepaid balance",
          "`data_collection` defaults to 'allow', which admits providers that may store and train on prompts",
          "Mid-stream failures arrive inside a 200 response, and upstream providers may charge for prompt processing on a failed call",
          "No published SLA, and the status page gave us no readable history",
          "API changelog silent since 19 August 2026"
        ],
        "agentNotes": [
          "Set `provider.data_collection: \"deny\"` or `provider.zdr: true` when the prompt holds anything private",
          "Pass a `models` list so a failed provider falls through to the next one",
          "Honour `Retry-After` on 429 and 503, and check the stream body for errors even on a 200",
          "Set `max_price` so a routed request can't land on an expensive provider",
          "Free models allow 50 requests a day until $10 of credit has been bought. Check `GET /api/v1/key` for what's left"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.5
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 84,
          "payments": 40,
          "reliability": 55,
          "schema": 90,
          "security": 60,
          "transparency": 55
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "npm i @openrouter/sdk   # or any OpenAI client with base URL https://openrouter.ai/api/v1",
        "http": "curl https://openrouter.ai/api/v1/chat/completions \\\n  -H \"Authorization: Bearer $OPENROUTER_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"models\":[\"anthropic/claude-opus-5-5\",\"openai/gpt-6-sol\"],\"provider\":{\"zdr\":true},\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/openrouter"
      },
      "area": "models",
      "unitPrices": [
        {
          "item": "Card top-up fee",
          "unit": "pct",
          "usd": 5.5,
          "note": "$0.80 minimum"
        },
        {
          "item": "Crypto top-up fee",
          "unit": "pct",
          "usd": 5
        },
        {
          "item": "Bring your own key over $25,000 a month",
          "unit": "pct",
          "usd": 5
        }
      ],
      "provenance": {
        "legalEntity": "OpenRouter, Inc.",
        "domain": "openrouter.ai",
        "domainRegistered": "2023-04-17",
        "endpointOnVendorDomain": true,
        "terms": "https://openrouter.ai/terms",
        "privacy": "https://openrouter.ai/privacy",
        "statusPage": "https://status.openrouter.ai",
        "changelog": "https://openrouter.ai/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-09-26",
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openrouter.json",
      "live": {
        "slug": "openrouter",
        "probe": {
          "target": "https://openrouter.ai/api/v1",
          "method": "get",
          "lastAt": "2026-10-09T09:45:03.78232743Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 162,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 172,
          "p95ms24h": 313,
          "samples24h": 261,
          "samples30d": 3244,
          "days": [
            {
              "date": "2026-09-27",
              "probes": 132,
              "ok": 132
            },
            {
              "date": "2026-09-28",
              "probes": 285,
              "ok": 285
            },
            {
              "date": "2026-09-29",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-09-30",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 104,
              "ok": 104
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openrouter.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:58:22.972041579Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "OpenRouterTeam/typescript-sdk",
            "version": "v1.4.25",
            "released": "2026-10-06",
            "seenAt": "2026-10-08T16:24:19.091341096Z"
          },
          {
            "registry": "npm",
            "name": "@openrouter/sdk",
            "version": "1.4.25",
            "seenAt": "2026-10-08T16:24:17.740196851Z"
          },
          {
            "registry": "pypi",
            "name": "openrouter",
            "version": "1.3.34",
            "released": "2026-10-08",
            "seenAt": "2026-10-08T16:24:18.948380847Z"
          }
        ],
        "githubStars": 261,
        "npmWeekly": 1077495,
        "pypiWeekly": 414360,
        "securityTxt": {
          "url": "https://openrouter.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-12T00:00:00.000Z",
          "checkedAt": "2026-10-08T15:38:31.045091822Z"
        },
        "llmsTxt": {
          "url": "https://openrouter.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:43.739153436Z"
        },
        "domain": {
          "domain": "openrouter.ai",
          "registered": "2023-04-17",
          "source": "https://rdap.identitydigital.services/rdap/domain/openrouter.ai",
          "checkedAt": "2026-10-04T13:04:11.462141386Z"
        },
        "pages": [
          {
            "url": "https://openrouter.ai/docs/changelog",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:38.580873154Z",
            "changedAt": "2026-10-01T13:14:36.537223463Z",
            "fingerprint": "6e5985d34aed"
          },
          {
            "url": "https://openrouter.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:40.975799668Z",
            "changedAt": "2026-10-03T15:34:30.960156372Z",
            "fingerprint": "e35cc85a871d"
          },
          {
            "url": "https://openrouter.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:42.931179084Z",
            "changedAt": "2026-10-08T18:22:42.931179084Z",
            "fingerprint": "e84f546dfea7"
          },
          {
            "url": "https://openrouter.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:22:44.922918032Z",
            "changedAt": "2026-10-08T18:22:44.922918032Z",
            "fingerprint": "ee35027a9d4f"
          }
        ],
        "updatedAt": "2026-10-09T09:45:03.78232743Z"
      }
    },
    "facts": [
      {
        "a": "Model API",
        "b": "Model router",
        "name": "Kind"
      },
      {
        "a": "Deep Infra Inc.",
        "b": "OpenRouter",
        "name": "Vendor"
      },
      {
        "a": "https://api.deepinfra.com/v1/openai",
        "b": "https://openrouter.ai/api/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the DeepInfra Terms of Service. The Python and Node SDKs and the docs repository are MIT",
        "b": "Apache-2.0 (SDKs)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-07",
        "b": "2026-10-01",
        "name": "Last release"
      },
      {
        "a": "2026-08-17",
        "b": "2026-08-31",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-15",
        "b": "2026-08-31",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "21 stars, 1.2k npm/wk, 50 PyPI/wk",
        "b": "226 stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "OpenRouter scores 68.5 (B) on agent readiness against DeepInfra's 63 (B), and leads in 5 of 7 scored categories. DeepInfra leads on reliability.",
        "question": "Which is better for AI agents, DeepInfra or OpenRouter?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do DeepInfra and OpenRouter need an API key?"
      },
      {
        "answer": "Yes. DeepInfra has a hosted endpoint at https://api.deepinfra.com/v1/openai and OpenRouter at https://openrouter.ai/api/v1.",
        "question": "Can an agent call DeepInfra and OpenRouter without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 55"
        ],
        "also": null,
        "goodFor": "Agents that want many open-weight models, embeddings, image and speech behind one OpenAI-style key at low per-token prices, with spend-capped tokens.",
        "slug": "deepinfra",
        "watchFor": "A deprecated model gets at least one week's notice, and requests are then forwarded to a replacement model under the old id"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 90 against 69",
          "Agent ergonomics, 85 against 77",
          "Payments \u0026 pricing, 40 against 20",
          "Maintenance \u0026 community, 84 against 65"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Agents that need many models behind one key, provider failover and a hard price ceiling per request.",
        "slug": "openrouter",
        "watchFor": "No machine payment. USDC top-ups go to a prepaid balance"
      }
    ],
    "job": {
      "capability": "inference.llm",
      "name": "LLM inference"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/anthropic-api-vs-deepinfra.json",
        "title": "Claude API vs DeepInfra",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-deepinfra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/anthropic-api-vs-openrouter.json",
        "title": "Claude API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/anthropic-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-deepinfra.json",
        "title": "Antseed vs DeepInfra",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-deepinfra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blockrun-ai-vs-deepinfra.json",
        "title": "BlockRun.AI vs DeepInfra",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-deepinfra"
      },
      {
        "json": "https://www.anchorterminal.com/compare/blockrun-ai-vs-openrouter.json",
        "title": "BlockRun.AI vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/blockrun-ai-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-deepseek-api.json",
        "title": "DeepInfra vs DeepSeek API",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-deepseek-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-gemini-api.json",
        "title": "DeepInfra vs Gemini Developer API",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-gemini-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-groq.json",
        "title": "DeepInfra vs GroqCloud",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-groq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-mistral-api.json",
        "title": "DeepInfra vs Mistral AI API",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-mistral-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-openai-api.json",
        "title": "DeepInfra vs OpenAI API",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-openai-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-prism-inference.json",
        "title": "DeepInfra vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepinfra-vs-sambanova.json",
        "title": "DeepInfra vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/deepinfra-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter.json",
        "title": "DeepSeek API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gemini-api-vs-openrouter.json",
        "title": "Gemini Developer API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/gemini-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/groq-vs-openrouter.json",
        "title": "GroqCloud vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/groq-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mistral-api-vs-openrouter.json",
        "title": "Mistral AI API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/mistral-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openai-api-vs-openrouter.json",
        "title": "OpenAI API vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/openai-api-vs-openrouter"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-prism-inference.json",
        "title": "OpenRouter vs Prism Inference",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-prism-inference"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openrouter-vs-sambanova.json",
        "title": "OpenRouter vs SambaCloud",
        "url": "https://www.anchorterminal.com/compare/openrouter-vs-sambanova"
      },
      {
        "json": "https://www.anchorterminal.com/compare/antseed-vs-openrouter.json",
        "title": "Antseed vs OpenRouter",
        "url": "https://www.anchorterminal.com/compare/antseed-vs-openrouter"
      }
    ],
    "scores": [
      {
        "by": 15,
        "deepinfra": 70,
        "edge": "deepinfra",
        "key": "reliability",
        "name": "Reliability",
        "openrouter": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "deepinfra": 69,
        "edge": "openrouter",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openrouter": 90,
        "weight": 13
      },
      {
        "by": 8,
        "deepinfra": 77,
        "edge": "openrouter",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openrouter": 85,
        "weight": 13
      },
      {
        "by": 4,
        "deepinfra": 64,
        "edge": "deepinfra",
        "key": "security",
        "name": "Security \u0026 auth",
        "openrouter": 60,
        "weight": 14
      },
      {
        "by": 20,
        "deepinfra": 20,
        "edge": "openrouter",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openrouter": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "deepinfra": 65,
        "edge": "openrouter",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openrouter": 84,
        "weight": 7
      },
      {
        "by": 4,
        "deepinfra": 67,
        "edge": "openrouter",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openrouter": 71,
        "weight": 7
      }
    ],
    "summary": "OpenRouter scores 68.5 (B) on agent readiness against DeepInfra's 63 (B), and leads in 5 of 7 scored categories. DeepInfra leads on reliability. Both do llm inference.",
    "verdicts": {
      "deepinfra": "The model list, context sizes and per-token prices are readable without a key, and keys can carry an IP allowlist, a monthly spending cap and model-limited JWTs. Deprecated models get one week's notice and are then redirected to another model, there is no changelog or SLA, and an account needs a card or prepayment before any call.",
      "openrouter": "Public OpenAPI document, llms.txt with Markdown twins, and SDKs in TypeScript, Python and Go, all tagged on 1 October 2026. No machine payment. USDC top-ups go to a prepaid balance."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/deepinfra-vs-openrouter",
    "json": "https://www.anchorterminal.com/compare/deepinfra-vs-openrouter.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/deepinfra-vs-openrouter.md",
    "slim": "https://www.anchorterminal.com/compare/deepinfra-vs-openrouter.min.md"
  },
  "markdown": "OpenRouter scores 68.5 (B) on agent readiness against DeepInfra's 63 (B), and leads in 5 of 7 scored categories. DeepInfra leads on reliability. Both do llm inference.\n\n- DeepInfra: grade B, 63/100, rank #371 of 842. Markdown https://www.anchorterminal.com/tools/deepinfra.md · JSON https://www.anchorterminal.com/api/v1/tools/deepinfra.json\n- OpenRouter: grade B, 68.5/100, rank #199 of 842. Markdown https://www.anchorterminal.com/tools/openrouter.md · JSON https://www.anchorterminal.com/api/v1/tools/openrouter.json\n\n## Which one, for what\n\n### DeepInfra (B)\n\nGood for: Agents that want many open-weight models, embeddings, image and speech behind one OpenAI-style key at low per-token prices, with spend-capped tokens.\n\nAhead on:\n- Reliability, 70 against 55\n\nWatch for: A deprecated model gets at least one week's notice, and requests are then forwarded to a replacement model under the old id\n\n### OpenRouter (B)\n\nGood for: Agents that need many models behind one key, provider failover and a hard price ceiling per request.\n\nAhead on:\n- Schema \u0026 documentation, 90 against 69\n- Agent ergonomics, 85 against 77\n- Payments \u0026 pricing, 40 against 20\n- Maintenance \u0026 community, 84 against 65\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No machine payment. USDC top-ups go to a prepaid balance\n\n\n## Score by category\n\n| Category | Weight | DeepInfra | OpenRouter | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 55 | DeepInfra +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 69 | 90 | OpenRouter +21 |\n| Agent ergonomics | 13% (16.2 this run) | 77 | 85 | OpenRouter +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 64 | 60 | DeepInfra +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | OpenRouter +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 65 | 84 | OpenRouter +19 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 71 | OpenRouter +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63 · B** | **68.5 · B** | |\n\n## Facts side by side\n\n| Fact | DeepInfra | OpenRouter |\n| --- | --- | --- |\n| Kind | Model API | Model router |\n| Vendor | Deep Infra Inc. | OpenRouter |\n| Hosted endpoint | `https://api.deepinfra.com/v1/openai` | `https://openrouter.ai/api/v1` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | Proprietary service under the DeepInfra Terms of Service. The Python and Node SDKs and the docs repository are MIT | Apache-2.0 (SDKs) |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-07 | 2026-10-01 |\n| Terms last updated | 2026-08-17 | 2026-08-31 |\n| Privacy policy last updated | 2026-08-15 | 2026-08-31 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 21 stars, 1.2k npm/wk, 50 PyPI/wk | 226 stars |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**DeepInfra.** The model list, context sizes and per-token prices are readable without a key, and keys can carry an IP allowlist, a monthly spending cap and model-limited JWTs. Deprecated models get one week's notice and are then redirected to another model, there is no changelog or SLA, and an account needs a card or prepayment before any call.\n\n**OpenRouter.** Public OpenAPI document, llms.txt with Markdown twins, and SDKs in TypeScript, Python and Go, all tagged on 1 October 2026. No machine payment. USDC top-ups go to a prepaid balance.\n\n## Before you call either\n\n### DeepInfra\n\n1. Call `GET https://api.deepinfra.com/v1/openai/models` at start-up for ids, context sizes and prices. No key is needed\n2. Check the `model` field of each response. After a deprecation date, requests to the old id are served by a replacement model\n3. Ask the account owner for a scoped JWT limited to the models and spend the task needs, not the full API key\n4. Stay under 200 concurrent requests per model. On 429 `engine_overloaded`, retry after a delay, or send `models` with up to four fallbacks\n5. Never inspect a JWT with `GET /v1/scoped-jwt?jwtoken=`, which puts the token in the URL. Keep credentials in the `Authorization` header\n\n### OpenRouter\n\n1. Set `provider.data_collection: \"deny\"` or `provider.zdr: true` when the prompt holds anything private\n2. Pass a `models` list so a failed provider falls through to the next one\n3. Honour `Retry-After` on 429 and 503, and check the stream body for errors even on a 200\n4. Set `max_price` so a routed request can't land on an expensive provider\n5. Free models allow 50 requests a day until $10 of credit has been bought. Check `GET /api/v1/key` for what's left\n\n## Questions\n\n### Which is better for AI agents, DeepInfra or OpenRouter?\n\nOpenRouter scores 68.5 (B) on agent readiness against DeepInfra's 63 (B), and leads in 5 of 7 scored categories. DeepInfra leads on reliability.\n\n### Do DeepInfra and OpenRouter need an API key?\n\nBoth need an API key.\n\n### Can an agent call DeepInfra and OpenRouter without installing anything?\n\nYes. DeepInfra has a hosted endpoint at https://api.deepinfra.com/v1/openai and OpenRouter at https://openrouter.ai/api/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/deepinfra-vs-openrouter.json, and with the fewest tokens: https://www.anchorterminal.com/compare/deepinfra-vs-openrouter.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"deepinfra\", \"b\": \"openrouter\"}`. From a terminal: `anchor compare deepinfra openrouter`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/deepinfra.json and https://www.anchorterminal.com/api/v1/tools/openrouter.json\n\n## Other comparisons with DeepInfra or OpenRouter\n\n- [Claude API vs DeepInfra](https://www.anchorterminal.com/compare/anthropic-api-vs-deepinfra.md)\n- [Claude API vs OpenRouter](https://www.anchorterminal.com/compare/anthropic-api-vs-openrouter.md)\n- [Antseed vs DeepInfra](https://www.anchorterminal.com/compare/antseed-vs-deepinfra.md)\n- [BlockRun.AI vs DeepInfra](https://www.anchorterminal.com/compare/blockrun-ai-vs-deepinfra.md)\n- [BlockRun.AI vs OpenRouter](https://www.anchorterminal.com/compare/blockrun-ai-vs-openrouter.md)\n- [DeepInfra vs DeepSeek API](https://www.anchorterminal.com/compare/deepinfra-vs-deepseek-api.md)\n- [DeepInfra vs Gemini Developer API](https://www.anchorterminal.com/compare/deepinfra-vs-gemini-api.md)\n- [DeepInfra vs GroqCloud](https://www.anchorterminal.com/compare/deepinfra-vs-groq.md)\n- [DeepInfra vs Mistral AI API](https://www.anchorterminal.com/compare/deepinfra-vs-mistral-api.md)\n- [DeepInfra vs OpenAI API](https://www.anchorterminal.com/compare/deepinfra-vs-openai-api.md)\n- [DeepInfra vs Prism Inference](https://www.anchorterminal.com/compare/deepinfra-vs-prism-inference.md)\n- [DeepInfra vs SambaCloud](https://www.anchorterminal.com/compare/deepinfra-vs-sambanova.md)\n- [DeepSeek API vs OpenRouter](https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter.md)\n- [Gemini Developer API vs OpenRouter](https://www.anchorterminal.com/compare/gemini-api-vs-openrouter.md)\n- [GroqCloud vs OpenRouter](https://www.anchorterminal.com/compare/groq-vs-openrouter.md)\n- [Mistral AI API vs OpenRouter](https://www.anchorterminal.com/compare/mistral-api-vs-openrouter.md)\n- [OpenAI API vs OpenRouter](https://www.anchorterminal.com/compare/openai-api-vs-openrouter.md)\n- [OpenRouter vs Prism Inference](https://www.anchorterminal.com/compare/openrouter-vs-prism-inference.md)\n- [OpenRouter vs SambaCloud](https://www.anchorterminal.com/compare/openrouter-vs-sambanova.md)\n- [Antseed vs OpenRouter](https://www.anchorterminal.com/compare/antseed-vs-openrouter.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "DeepInfra vs OpenRouter",
        "url": ""
      }
    ],
    "description": "OpenRouter scores 68.5 (B) on agent readiness against DeepInfra's 63 (B), and leads in 5 of 7 scored categories. DeepInfra leads on reliability. Both do llm inference. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "DeepInfra B 63",
      "OpenRouter B 68.5",
      "scores"
    ],
    "h1": "DeepInfra vs OpenRouter",
    "image": "https://www.anchorterminal.com/assets/og/compare-deepinfra-vs-openrouter.png",
    "path": "/compare/deepinfra-vs-openrouter",
    "published": "2026-10-01",
    "section": "tools",
    "title": "DeepInfra vs OpenRouter for AI agents, B 63 vs B 68.5",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/deepinfra-vs-openrouter"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 630
  },
  "version": 1
}
