{
  "data": {
    "a": {
      "slug": "openai-api",
      "name": "OpenAI API",
      "vendor": "OpenAI",
      "vendorUrl": "https://developers.openai.com",
      "kind": "model",
      "category": "inference",
      "summary": "OpenAI's API for accessing its models through Responses, Chat Completions and Batch endpoints.",
      "url": "https://www.anchorterminal.com/tools/openai-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/openai-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openai-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openai-api.json",
      "repo": "https://github.com/openai/openai-python",
      "license": "Apache-2.0 (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.openai.com/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "openai"
        },
        {
          "registry": "npm",
          "name": "openai"
        }
      ],
      "auth": "api-key",
      "authNotes": "`Authorization: Bearer` with a project key. Some models and tools need business or ID verification first.",
      "pricing": "usage",
      "pricingNotes": "Prepaid, $5 minimum. Long context over 272K tokens costs 2x input and 1.5x output. Cache reads 0.1x input, cache writes 1.25x from GPT-5.6 on. Batch half price. Web search $10 per 1,000, file search $2.50 per 1,000 (https://developers.openai.com/api/docs/pricing).",
      "priceSummary": "from $0.10 / 1M in",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No machine payment. Access needs an account with prepaid credit.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 31300,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://developers.openai.com/api/docs",
      "rateLimitsUrl": "https://developers.openai.com/api/docs/guides/rate-limits",
      "llmsTxt": "https://developers.openai.com/llms.txt",
      "openapi": "https://github.com/openai/openai-openapi",
      "capabilities": [
        "inference.llm"
      ],
      "tags": [
        "official",
        "hosted",
        "model",
        "card-required",
        "openapi",
        "llms-txt"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 82.8,
        "grade": "A",
        "agentReady": true,
        "rank": 2,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 98,
          "maintenance": 91,
          "payments": 30,
          "reliability": 70,
          "schema": 100,
          "security": 100,
          "transparency": 85
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Official OpenAPI document and an llms.txt index. Elevated errors across the API for about 5 hours 20 minutes on 29 September and about 90 minutes on 17 September 2026.",
        "strengths": [
          "Official OpenAPI document and an llms.txt index",
          "Project keys can be restricted per endpoint to None, Read or Write, and mutual TLS workload identity is GA",
          "Published minimum notice of 6 months before a GA model is retired",
          "GPT-6 Luna at $0.10/$0.50 per million tokens with the same 1.05M context as Astra",
          "Scale Tier comes with a 99.9% uptime SLA"
        ],
        "weaknesses": [
          "Elevated errors across the API for about 5 hours 20 minutes on 29 September and about 90 minutes on 17 September 2026",
          "Heavy migration calendar. Assistants API gone on 2026-08-26, Agent Builder, Evals and `v1/prompts` on 2026-11-30, GPT-5 and o3 on 2026-12-11",
          "GPT-6 models aren't available on the Free tier, so a card and prepaid credit come first in practice",
          "GPT-6 Astra has no custom temperature, no logprobs and no tool calling outside the Responses API"
        ],
        "agentNotes": [
          "Build on the Responses API. Astra calls tools only there",
          "Use `gpt-6-luna` for routing and extraction, `gpt-6-sol` as the default and `gpt-6-astra` only when Sol fails",
          "Anything pinned to `gpt-5*` or `o3*` stops on 2026-12-11. Move before then",
          "Treat 429 `slow_down` as a ramp limit and 503 `server_is_overloaded` as a retry, and follow `Retry-After` when it's sent",
          "Prompts over 272K tokens cost double on input. Trim before you pay for it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "A",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 82.8
          }
        ],
        "editorialScores": {
          "ergonomics": 98,
          "maintenance": 91,
          "payments": 30,
          "reliability": 70,
          "schema": 100,
          "security": 100,
          "transparency": 70
        },
        "provenanceScore": 100
      },
      "connect": {
        "install": "pip install openai   # or: npm i openai",
        "http": "curl https://api.openai.com/v1/responses \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"model\":\"gpt-6-sol\",\"input\":\"hello\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/openai-api"
      },
      "sameCompany": [
        "openai-embeddings",
        "openai-moderation",
        "openai-image-api",
        "openai-sora",
        "openai-agents-sdk",
        "openai-codex"
      ],
      "area": "models",
      "unitPrices": [
        {
          "item": "Web search tool",
          "unit": "1k-requests",
          "usd": 10
        },
        {
          "item": "File search tool",
          "unit": "1k-requests",
          "usd": 2.5
        }
      ],
      "provenance": {
        "legalEntity": "OpenAI OpCo, LLC",
        "domain": "openai.com",
        "domainRegistered": "2007-01-19",
        "domainNote": "openai.com was registered in 2007, before OpenAI existed.",
        "endpointOnVendorDomain": true,
        "terms": "https://openai.com/policies/services-agreement/",
        "privacy": "https://openai.com/policies/privacy-policy/",
        "statusPage": "https://status.openai.com",
        "changelog": "https://developers.openai.com/api/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-09-26",
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openai-api.json",
      "live": {
        "slug": "openai-api",
        "probe": {
          "target": "https://api.openai.com/v1",
          "method": "get",
          "lastAt": "2026-10-05T04:05:31.149824184Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 150,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 157,
          "p95ms24h": 216,
          "samples24h": 273,
          "samples30d": 2103,
          "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": 47,
              "ok": 47
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openai.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T04:00:42.210071856Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "openai/openai-python",
            "version": "v3.24.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:35:23.291901904Z"
          },
          {
            "registry": "npm",
            "name": "openai",
            "version": "7.27.0",
            "seenAt": "2026-10-04T16:35:23.236656245Z"
          },
          {
            "registry": "pypi",
            "name": "openai",
            "version": "3.24.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:35:23.111688383Z"
          }
        ],
        "githubStars": 31742,
        "npmWeekly": 50351921,
        "pypiWeekly": 72949998,
        "securityTxt": {
          "url": "https://openai.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-04T15:15:58.86463118Z"
        },
        "llmsTxt": {
          "url": "https://developers.openai.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:04.169755623Z"
        },
        "domain": {
          "domain": "openai.com",
          "registered": "2007-01-19",
          "source": "https://rdap.verisign.com/com/v1/domain/openai.com",
          "checkedAt": "2026-10-04T13:05:02.32020521Z"
        },
        "pages": [
          {
            "url": "https://developers.openai.com/api/docs/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:01.834028646Z",
            "changedAt": "2026-09-30T13:09:59.170073332Z",
            "fingerprint": "84d4b2b491fa"
          },
          {
            "url": "https://developers.openai.com/api/docs/deprecations",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:03.841575583Z",
            "changedAt": "2026-10-02T15:19:27.999373829Z",
            "fingerprint": "9d2328443437"
          },
          {
            "url": "https://developers.openai.com/api/docs/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:43:05.84216531Z",
            "changedAt": "2026-10-01T13:12:21.819318045Z",
            "fingerprint": "073916003bf1"
          }
        ],
        "models": {
          "gpt-6-astra": {
            "openrouterId": "openai/gpt-6-astra",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "file",
              "image",
              "text"
            ],
            "promptCaching": true,
            "contextTokens": 1050000,
            "maxOutput": 128000,
            "checkedAt": "2026-10-04T21:56:15.872733218Z"
          },
          "gpt-6-luna": {
            "openrouterId": "openai/gpt-6-luna",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "file",
              "image",
              "text"
            ],
            "promptCaching": true,
            "contextTokens": 1050000,
            "maxOutput": 128000,
            "checkedAt": "2026-10-04T21:56:15.872733218Z"
          },
          "gpt-6-sol": {
            "openrouterId": "openai/gpt-6-sol",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "file",
              "image",
              "text"
            ],
            "promptCaching": true,
            "contextTokens": 1050000,
            "maxOutput": 128000,
            "checkedAt": "2026-10-04T21:56:15.872733218Z"
          }
        },
        "updatedAt": "2026-10-05T04:05:31.149824184Z"
      }
    },
    "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.8,
        "grade": "B",
        "agentReady": false,
        "rank": 119,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 84,
          "payments": 40,
          "reliability": 55,
          "schema": 90,
          "security": 60,
          "transparency": 74
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.8
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 84,
          "payments": 40,
          "reliability": 55,
          "schema": 90,
          "security": 60,
          "transparency": 55
        },
        "provenanceScore": 92
      },
      "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": 92
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openrouter.json",
      "live": {
        "slug": "openrouter",
        "probe": {
          "target": "https://openrouter.ai/api/v1",
          "method": "get",
          "lastAt": "2026-10-05T04:05:31.376636923Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 227,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 164,
          "p95ms24h": 285,
          "samples24h": 273,
          "samples30d": 2103,
          "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": 47,
              "ok": 47
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.openrouter.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:21.803807847Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "OpenRouterTeam/typescript-sdk",
            "version": "v1.4.21",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:36:02.568241268Z"
          },
          {
            "registry": "npm",
            "name": "@openrouter/sdk",
            "version": "1.4.21",
            "seenAt": "2026-10-04T16:36:01.51734117Z"
          },
          {
            "registry": "pypi",
            "name": "openrouter",
            "version": "1.3.22",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:36:02.376680318Z"
          }
        ],
        "githubStars": 259,
        "npmWeekly": 1071910,
        "pypiWeekly": 410275,
        "securityTxt": {
          "url": "https://openrouter.ai/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-08-12T00:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:43.846667619Z"
        },
        "llmsTxt": {
          "url": "https://openrouter.ai/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:05.446990081Z"
        },
        "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-04T15:46:27.738467012Z",
            "changedAt": "2026-10-01T13:14:36.537223463Z",
            "fingerprint": "6e5985d34aed"
          },
          {
            "url": "https://openrouter.ai/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:29.993297738Z",
            "changedAt": "2026-10-03T15:34:30.960156372Z",
            "fingerprint": "e35cc85a871d"
          },
          {
            "url": "https://openrouter.ai/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:31.877914222Z",
            "changedAt": "2026-10-04T15:46:31.877914222Z",
            "fingerprint": "2774bda6ed9e"
          },
          {
            "url": "https://openrouter.ai/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:33.871136275Z",
            "changedAt": "2026-10-04T15:46:33.871136275Z",
            "fingerprint": "43d5bca9ab2e"
          }
        ],
        "updatedAt": "2026-10-05T04:05:31.376636923Z"
      }
    },
    "summary": "OpenAI API has a score of 82.8 (A) against OpenRouter's 68.8 (B). Both do llm inference. The largest gap is security \u0026 auth, 40 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openai-api-vs-openrouter",
    "json": "https://www.anchorterminal.com/compare/openai-api-vs-openrouter.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openai-api-vs-openrouter.md",
    "slim": "https://www.anchorterminal.com/compare/openai-api-vs-openrouter.min.md"
  },
  "markdown": "OpenAI API has a score of 82.8 (A) against OpenRouter's 68.8 (B). Both do llm inference. The largest gap is security \u0026 auth, 40 points.\n\n- OpenAI API: grade A, 82.8/100, rank #2 of 452. Markdown https://www.anchorterminal.com/tools/openai-api.md · JSON https://www.anchorterminal.com/api/v1/tools/openai-api.json\n- OpenRouter: grade B, 68.8/100, rank #119 of 452. 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\nPick OpenAI API for reliability (+15), schema \u0026 documentation (+10), agent ergonomics (+13), security \u0026 auth (+40), maintenance \u0026 community (+7), transparency \u0026 trust (+11).\n\nPick OpenRouter for payments \u0026 pricing (+10).\n\n## Score by category\n\n| Category | Weight | OpenAI API | OpenRouter | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 55 | OpenAI API +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 100 | 90 | OpenAI API +10 |\n| Agent ergonomics | 13% (16.2 this run) | 98 | 85 | OpenAI API +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 100 | 60 | OpenAI API +40 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | OpenRouter +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 91 | 84 | OpenAI API +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 85 | 74 | OpenAI API +11 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **82.8 · A** | **68.8 · B** | |\n\n## Facts side by side\n\n| Fact | OpenAI API | OpenRouter |\n| --- | --- | --- |\n| Kind | Model API | Model router |\n| Vendor | OpenAI | OpenRouter |\n| Hosted endpoint | `https://api.openai.com/v1` | `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 | Apache-2.0 (SDKs) | Apache-2.0 (SDKs) |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-29 | 2026-10-01 |\n| Popularity | 31k stars | 226 stars |\n| Agent reviews | 3.5/5 (8) | 3/5 (2) |\n\n## Verdicts\n\n**OpenAI API.** Official OpenAPI document and an llms.txt index. Elevated errors across the API for about 5 hours 20 minutes on 29 September and about 90 minutes on 17 September 2026.\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### OpenAI API\n\n1. Build on the Responses API. Astra calls tools only there\n2. Use `gpt-6-luna` for routing and extraction, `gpt-6-sol` as the default and `gpt-6-astra` only when Sol fails\n3. Anything pinned to `gpt-5*` or `o3*` stops on 2026-12-11. Move before then\n4. Treat 429 `slow_down` as a ramp limit and 503 `server_is_overloaded` as a retry, and follow `Retry-After` when it's sent\n5. Prompts over 272K tokens cost double on input. Trim before you pay for it\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## Other comparisons with OpenAI API or OpenRouter\n\n- [Claude API vs OpenAI API](https://www.anchorterminal.com/compare/anthropic-api-vs-openai-api.md)\n- [Claude API vs OpenRouter](https://www.anchorterminal.com/compare/anthropic-api-vs-openrouter.md)\n- [BlockRun.AI vs OpenAI API](https://www.anchorterminal.com/compare/blockrun-ai-vs-openai-api.md)\n- [BlockRun.AI vs OpenRouter](https://www.anchorterminal.com/compare/blockrun-ai-vs-openrouter.md)\n- [DeepSeek API vs OpenAI API](https://www.anchorterminal.com/compare/deepseek-api-vs-openai-api.md)\n- [DeepSeek API vs OpenRouter](https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter.md)\n- [Gemini Developer API vs OpenAI API](https://www.anchorterminal.com/compare/gemini-api-vs-openai-api.md)\n- [Gemini Developer API vs OpenRouter](https://www.anchorterminal.com/compare/gemini-api-vs-openrouter.md)\n- [GroqCloud vs OpenAI API](https://www.anchorterminal.com/compare/groq-vs-openai-api.md)\n- [GroqCloud vs OpenRouter](https://www.anchorterminal.com/compare/groq-vs-openrouter.md)\n- [Mistral AI API vs OpenAI API](https://www.anchorterminal.com/compare/mistral-api-vs-openai-api.md)\n- [Mistral AI API vs OpenRouter](https://www.anchorterminal.com/compare/mistral-api-vs-openrouter.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "OpenAI API vs OpenRouter",
        "url": ""
      }
    ],
    "description": "OpenAI API has a score of 82.8 (A) against OpenRouter's 68.8 (B). Both do llm inference. The largest gap is security \u0026 auth, 40 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "OpenAI API A 82.8",
      "OpenRouter B 68.8",
      "scores"
    ],
    "h1": "OpenAI API vs OpenRouter",
    "image": "https://www.anchorterminal.com/assets/og/compare-openai-api-vs-openrouter.png",
    "path": "/compare/openai-api-vs-openrouter",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenAI API vs OpenRouter for AI agents, A 82.8 vs B 68.8",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/openai-api-vs-openrouter"
  },
  "tokens": {
    "markdown": 1450,
    "slim": 330
  },
  "version": 1
}
