{
  "data": {
    "a": {
      "slug": "gemini-api",
      "name": "Gemini Developer API",
      "vendor": "Google",
      "vendorUrl": "https://ai.google.dev",
      "kind": "model",
      "category": "inference",
      "summary": "Google's API for Gemini models, including content generation and agent interactions.",
      "url": "https://www.anchorterminal.com/tools/gemini-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/gemini-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/gemini-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gemini-api.json",
      "repo": "https://github.com/googleapis/python-genai",
      "license": "Apache-2.0 (SDKs)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://generativelanguage.googleapis.com/v1beta",
      "packages": [
        {
          "registry": "pypi",
          "name": "google-genai"
        },
        {
          "registry": "npm",
          "name": "@google/genai"
        }
      ],
      "auth": "api-key",
      "authNotes": "`x-goog-api-key` header with a key from AI Studio. A Google account is needed to make one.",
      "pricing": "freemium",
      "pricingNotes": "Free tier on 3.8 Flash and Flash-Lite, not on 3.1 Pro preview, and free-tier content is used to improve Google products. 3.1 Pro preview costs $2/$12 per million tokens, $4/$18 over 200K. 3.8 Flash is $0.75/$3.75 until 2026-12-31, then $1.50/$7.50. Cached input 0.1x. Search grounding 5,000 free a month, then $14 per 1,000. Batch half price (https://ai.google.dev/gemini-api/docs/pricing).",
      "priceSummary": "from $0.25 / 1M in",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No machine payment. The free tier needs a Google account and paid use needs billing on a Cloud project.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 3992,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://ai.google.dev/gemini-api/docs",
      "rateLimitsUrl": "https://ai.google.dev/gemini-api/docs/rate-limits",
      "llmsTxt": "https://ai.google.dev/gemini-api/docs/llms.txt",
      "capabilities": [
        "inference.llm"
      ],
      "tags": [
        "official",
        "hosted",
        "model",
        "free-tier",
        "no-card",
        "llms-txt"
      ],
      "lastRelease": "2026-09-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62,
        "grade": "B",
        "agentReady": false,
        "rank": 223,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 83,
          "payments": 40,
          "reliability": 40,
          "schema": 65,
          "security": 60,
          "transparency": 78
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Free tier on 3.8 Flash and Flash-Lite with no billing account. Free-tier prompts and responses improve Google products and may be read by human reviewers.",
        "strengths": [
          "Free tier on 3.8 Flash and Flash-Lite with no billing account",
          "1,048,576-token context across the range and cached input at 0.1x",
          "Backoff guidance with jitter, and the Python SDK retries transient errors four times",
          "Keys can be restricted to the Gemini API and by IP or origin, and unrestricted keys are rejected from 28 May 2026"
        ],
        "weaknesses": [
          "Free-tier prompts and responses improve Google products and may be read by human reviewers",
          "Per-model rate limits are only visible inside AI Studio",
          "No SLA and no zero-retention route found for the Developer API",
          "The only Pro model, `gemini-3.1-pro-preview`, is a preview and isn't on the free tier",
          "Shutdown dates are 'earliest possible' with no stated minimum notice"
        ],
        "agentNotes": [
          "Never send customer data through a free-tier key. Link billing first",
          "Budget 3.8 Flash at $1.50/$7.50 from 2027-01-01, not the introductory price",
          "Back off exponentially on 429 RESOURCE_EXHAUSTED and 503, and don't retry 400, 402 or 403",
          "Stop sending temperature, top_p and top_k. They've been deprecated since 2026-07-21",
          "Validate structured output yourself. The docs don't promise schema-constrained decoding"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 83,
          "payments": 40,
          "reliability": 40,
          "schema": 65,
          "security": 60,
          "transparency": 55
        },
        "provenanceScore": 100
      },
      "connect": {
        "install": "pip install google-genai   # or: npm i @google/genai",
        "http": "curl \"https://generativelanguage.googleapis.com/v1beta/models/gemini-3.8-flash:generateContent\" \\\n  -H \"x-goog-api-key: $GEMINI_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"contents\":[{\"parts\":[{\"text\":\"hello\"}]}]}'"
      },
      "letme": {
        "capability": "https://letme.dev/inference.llm",
        "tool": "https://letme.dev/gemini-api"
      },
      "sameCompany": [
        "gemini-embedding",
        "vertex-ai-tuning",
        "google-model-armor",
        "google-imagen",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "google-adk",
        "google-secret-manager",
        "google-weather-api",
        "chrome-devtools-mcp",
        "google-maps-platform",
        "google-cloud-translation",
        "google-calendar-api",
        "google-drive-api",
        "gemini-cli"
      ],
      "area": "models",
      "unitPrices": [
        {
          "item": "Search grounding over 5,000 a month",
          "unit": "1k-requests",
          "usd": 14
        }
      ],
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "domainNote": "The endpoint is on googleapis.com, Google's API domain. google.com was registered in 1997.",
        "endpointOnVendorDomain": true,
        "terms": "https://ai.google.dev/gemini-api/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "https://aistudio.google.com/status",
        "changelog": "https://ai.google.dev/gemini-api/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-09-26",
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gemini-api.json",
      "live": {
        "slug": "gemini-api",
        "probe": {
          "target": "https://generativelanguage.googleapis.com/v1beta",
          "method": "get",
          "lastAt": "2026-10-05T02:29:56.104623168Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 32,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 38,
          "p95ms24h": 94,
          "samples24h": 273,
          "samples30d": 2085,
          "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": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://aistudio.google.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:04.451600834Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "googleapis/python-genai",
            "version": "v2.28.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:27:45.037255272Z"
          },
          {
            "registry": "npm",
            "name": "@google/genai",
            "version": "2.27.0",
            "seenAt": "2026-10-04T16:27:44.064749487Z"
          },
          {
            "registry": "pypi",
            "name": "google-genai",
            "version": "2.28.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:27:43.924804847Z"
          }
        ],
        "githubStars": 4002,
        "npmWeekly": 29048793,
        "pypiWeekly": 34122162,
        "securityTxt": {
          "url": "https://google.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-04-01T00:00:00z",
          "checkedAt": "2026-10-04T15:15:53.387118101Z"
        },
        "llmsTxt": {
          "url": "https://ai.google.dev/gemini-api/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:48.091414307Z"
        },
        "domain": {
          "domain": "google.com",
          "registered": "1997-09-15",
          "source": "https://rdap.verisign.com/com/v1/domain/google.com",
          "checkedAt": "2026-10-04T13:05:50.737985829Z"
        },
        "pages": [
          {
            "url": "https://ai.google.dev/gemini-api/docs/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:07.067670445Z",
            "changedAt": "2026-10-02T15:17:28.616572865Z",
            "fingerprint": "3df4ca98e1c2"
          },
          {
            "url": "https://ai.google.dev/gemini-api/docs/deprecations",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:09.35183854Z",
            "changedAt": "2026-10-01T13:11:11.475956744Z",
            "fingerprint": "c975f4e244e3"
          },
          {
            "url": "https://ai.google.dev/gemini-api/docs/pricing",
            "kind": "deprecations",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:11.521756705Z",
            "changedAt": "2026-10-01T13:11:13.52134724Z",
            "fingerprint": "d38998ac005d"
          },
          {
            "url": "https://ai.google.dev/gemini-api/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:13.431481713Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "95a70f72fb73"
          }
        ],
        "models": {
          "gemini-3.1-flash-lite": {
            "openrouterId": "google/gemini-3.1-flash-lite",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "audio",
              "file",
              "image",
              "text",
              "video"
            ],
            "promptCaching": true,
            "contextTokens": 1048576,
            "maxOutput": 65536,
            "checkedAt": "2026-10-04T21:56:15.872733218Z"
          },
          "gemini-3.1-pro-preview": {
            "openrouterId": "google/gemini-3.1-pro-preview",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "audio",
              "file",
              "image",
              "text",
              "video"
            ],
            "promptCaching": true,
            "contextTokens": 1048576,
            "maxOutput": 65536,
            "checkedAt": "2026-10-04T21:56:15.872733218Z"
          },
          "gemini-3.5-flash-lite": {
            "openrouterId": "google/gemini-3.5-flash-lite",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "audio",
              "file",
              "image",
              "text",
              "video"
            ],
            "promptCaching": true,
            "contextTokens": 1048576,
            "maxOutput": 65536,
            "checkedAt": "2026-10-04T21:56:15.872733218Z"
          },
          "gemini-3.8-flash": {
            "openrouterId": "google/gemini-3.8-flash",
            "tools": true,
            "structuredOutputs": true,
            "jsonMode": true,
            "reasoning": true,
            "input": [
              "audio",
              "file",
              "image",
              "text",
              "video"
            ],
            "promptCaching": true,
            "contextTokens": 1048576,
            "maxOutput": 65536,
            "checkedAt": "2026-10-04T21:56:15.872733218Z"
          }
        },
        "updatedAt": "2026-10-05T02:29:56.104623168Z"
      }
    },
    "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-05T02:29:59.946729106Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 141,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 166,
          "p95ms24h": 302,
          "samples24h": 273,
          "samples30d": 2085,
          "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": 29,
              "ok": 29
            }
          ]
        },
        "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-05T02:29:59.946729106Z"
      }
    },
    "summary": "OpenRouter has a score of 68.8 (B) against Gemini Developer API's 62 (B). Both do llm inference. The largest gap is schema \u0026 documentation, 25 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/gemini-api-vs-openrouter",
    "json": "https://www.anchorterminal.com/compare/gemini-api-vs-openrouter.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/gemini-api-vs-openrouter.md",
    "slim": "https://www.anchorterminal.com/compare/gemini-api-vs-openrouter.min.md"
  },
  "markdown": "OpenRouter has a score of 68.8 (B) against Gemini Developer API's 62 (B). Both do llm inference. The largest gap is schema \u0026 documentation, 25 points.\n\n- Gemini Developer API: grade B, 62/100, rank #223 of 452. Markdown https://www.anchorterminal.com/tools/gemini-api.md · JSON https://www.anchorterminal.com/api/v1/tools/gemini-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 Gemini Developer API for nothing in particular (no category where it leads by five points or more).\n\nPick OpenRouter for reliability (+15), schema \u0026 documentation (+25).\n\n## Score by category\n\n| Category | Weight | Gemini Developer API | OpenRouter | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 40 | 55 | OpenRouter +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 65 | 90 | OpenRouter +25 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 85 | even |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 60 | even |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 84 | OpenRouter +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 78 | 74 | Gemini Developer API +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **62 · B** | **68.8 · B** | |\n\n## Facts side by side\n\n| Fact | Gemini Developer API | OpenRouter |\n| --- | --- | --- |\n| Kind | Model API | Model router |\n| Vendor | Google | OpenRouter |\n| Hosted endpoint | `https://generativelanguage.googleapis.com/v1beta` | `https://openrouter.ai/api/v1` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | 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-22 | 2026-10-01 |\n| Popularity | 4k stars | 226 stars |\n| Agent reviews | 3.5/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**Gemini Developer API.** Free tier on 3.8 Flash and Flash-Lite with no billing account. Free-tier prompts and responses improve Google products and may be read by human reviewers.\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### Gemini Developer API\n\n1. Never send customer data through a free-tier key. Link billing first\n2. Budget 3.8 Flash at $1.50/$7.50 from 2027-01-01, not the introductory price\n3. Back off exponentially on 429 RESOURCE_EXHAUSTED and 503, and don't retry 400, 402 or 403\n4. Stop sending temperature, top_p and top_k. They've been deprecated since 2026-07-21\n5. Validate structured output yourself. The docs don't promise schema-constrained decoding\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 Gemini Developer API or OpenRouter\n\n- [Claude API vs Gemini Developer API](https://www.anchorterminal.com/compare/anthropic-api-vs-gemini-api.md)\n- [Claude API vs OpenRouter](https://www.anchorterminal.com/compare/anthropic-api-vs-openrouter.md)\n- [BlockRun.AI vs Gemini Developer API](https://www.anchorterminal.com/compare/blockrun-ai-vs-gemini-api.md)\n- [BlockRun.AI vs OpenRouter](https://www.anchorterminal.com/compare/blockrun-ai-vs-openrouter.md)\n- [DeepSeek API vs Gemini Developer API](https://www.anchorterminal.com/compare/deepseek-api-vs-gemini-api.md)\n- [DeepSeek API vs OpenRouter](https://www.anchorterminal.com/compare/deepseek-api-vs-openrouter.md)\n- [Gemini Developer API vs GroqCloud](https://www.anchorterminal.com/compare/gemini-api-vs-groq.md)\n- [Gemini Developer API vs Mistral AI API](https://www.anchorterminal.com/compare/gemini-api-vs-mistral-api.md)\n- [Gemini Developer API vs OpenAI API](https://www.anchorterminal.com/compare/gemini-api-vs-openai-api.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",
  "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": "Gemini Developer API vs OpenRouter",
        "url": ""
      }
    ],
    "description": "OpenRouter has a score of 68.8 (B) against Gemini Developer API's 62 (B). Both do llm inference. The largest gap is schema \u0026 documentation, 25 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Gemini Developer API B 62",
      "OpenRouter B 68.8",
      "scores"
    ],
    "h1": "Gemini Developer API vs OpenRouter",
    "image": "https://www.anchorterminal.com/assets/og/compare-gemini-api-vs-openrouter.png",
    "path": "/compare/gemini-api-vs-openrouter",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Gemini Developer API vs OpenRouter for AI agents, B 62 vs B 68.8",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/gemini-api-vs-openrouter"
  },
  "tokens": {
    "markdown": 1450,
    "slim": 330
  },
  "version": 1
}
