{
  "name": "OpenRouter",
  "slug": "openrouter",
  "website_url": "https://openrouter.ai",
  "vendor_description": "\"The Unified Interface For LLMs\" - OpenRouter scouts for the best prices, the lowest latencies, and the highest throughput across dozens of providers, offering a single OpenAI-compatible API with automatic fallback, model routing, and unified billing.",
  "categories": [
    "ai-gateways"
  ],
  "summary": "OpenRouter is a unified LLM gateway that routes requests across 70-plus providers through a single OpenAI-compatible API, with automatic fallback, load balancing, and response caching to optimize cost and latency. Pricing is usage-based, passing through provider costs plus a platform fee; a free tier covering 25-plus models is available with no credit card required. The service holds SOC 2 Type 2 certification and GDPR compliance, and SDKs are available for TypeScript, Python, and Go, including drop-in OpenAI SDK replacements. Enterprise plans add EU in-region routing, SSO, and negotiated SLAs.",
  "capabilities": {
    "supported_actions": [
      "unified_chat_completions",
      "openai_compatible_api",
      "model_routing",
      "automatic_fallback",
      "load_balancing",
      "response_caching",
      "prompt_caching",
      "spend_limits",
      "budgets",
      "rate_limiting",
      "observability_logging",
      "tracing",
      "guardrails",
      "pii_redaction",
      "byo_provider_keys",
      "provider_selection",
      "zero_data_retention",
      "eu_region_routing",
      "structured_outputs",
      "tool_calling",
      "streaming_sse",
      "web_search_plugin",
      "embeddings",
      "reranking",
      "model_fallback_ordering",
      "throughput_routing",
      "latency_routing",
      "price_routing",
      "prompt_injection_protection",
      "sso_saml",
      "api_key_management",
      "virtual_keys"
    ],
    "supported_regions": [
      "US",
      "EU (eu.openrouter.ai - EU in-region routing, enterprise only)"
    ],
    "supported_languages": [],
    "input_types": [
      "chat completions",
      "text completions",
      "embeddings",
      "image input",
      "audio input",
      "video input",
      "tool/function calls"
    ],
    "output_types": [
      "streaming (SSE)",
      "JSON",
      "OpenAI-compatible response",
      "structured outputs (JSON mode)",
      "tool call responses",
      "audio output",
      "image output"
    ],
    "webhooks_supported": true,
    "sandbox_available": false,
    "sdk_languages": [
      "TypeScript",
      "Python",
      "Go",
      "TypeScript (Agent)",
      "TypeScript (Vercel AI SDK provider)",
      "Python (OpenAI SDK drop-in)",
      "TypeScript (OpenAI SDK drop-in)"
    ],
    "mcp_server_available": true
  },
  "integration": {
    "api_style": "rest",
    "base_url": "https://openrouter.ai/api/v1",
    "api_version": "v1",
    "versioning_scheme": "url",
    "stability": "ga",
    "deprecation_policy_url": null,
    "auth_methods": [
      "api_key",
      "oauth2"
    ],
    "auth_docs_url": "https://openrouter.ai/docs/api/reference/authentication",
    "idempotency_supported": false,
    "error_format": "openai-compatible",
    "webhook_signing": "hmac_sha256",
    "webhook_events_url": "https://openrouter.ai/docs/guides/features/broadcast/webhook",
    "rate_limit_requests": 20,
    "rate_limit_window": "minute",
    "sdk_packages": [
      {
        "package": "@openrouter/sdk",
        "language": "TypeScript",
        "official": true,
        "repo_url": "https://github.com/OpenRouterTeam/typescript-sdk"
      },
      {
        "package": "openrouter",
        "language": "Python",
        "official": true,
        "repo_url": "https://github.com/OpenRouterTeam/python-sdk"
      },
      {
        "package": "github.com/OpenRouterTeam/go-sdk",
        "language": "Go",
        "official": true,
        "repo_url": "https://github.com/OpenRouterTeam/go-sdk"
      },
      {
        "package": "@openrouter/agent",
        "language": "TypeScript (Agent)",
        "official": true,
        "repo_url": "https://github.com/OpenRouterTeam/typescript-agent"
      },
      {
        "package": "@openrouter/ai-sdk-provider",
        "language": "TypeScript (Vercel AI SDK provider)",
        "official": true,
        "repo_url": "https://github.com/OpenRouterTeam/ai-sdk-provider"
      },
      {
        "package": "openai",
        "language": "Python (OpenAI SDK drop-in)",
        "official": false,
        "repo_url": "https://github.com/openai/openai-python"
      },
      {
        "package": "openai",
        "language": "TypeScript (OpenAI SDK drop-in)",
        "official": false,
        "repo_url": "https://github.com/openai/openai-node"
      }
    ],
    "mcp_url": "https://openrouter.ai/docs/_mcp/server",
    "quickstart_url": "https://openrouter.ai/docs/quickstart"
  },
  "pricing": {
    "pricing_model": "usage_based",
    "has_published_pricing": true,
    "starting_price_usd": null,
    "price_basis": "% of spend",
    "free_tier_available": true,
    "free_tier_limit": "25+ free models; 20 req/min, 50 req/day (no prior purchase) or 1,000 req/day (after $10 credit purchase); no credit card required",
    "free_tier_details": "Free plan with 25+ free models ($0 token cost, no platform fee) available without payment. Without prior credit purchase: 50 free model requests/day, 20 req/min. With $10+ credits purchased: 1,000 free model requests/day. Pay-as-you-go accounts also receive 1M free gateway requests/month before the 5.5% fee applies.",
    "minimum_commitment": null,
    "self_serve_signup": true,
    "requires_sales_call": false,
    "requires_verification": false,
    "enterprise_plan_available": true,
    "price_points": [
      {
        "plan": "Free",
        "item": "Gateway platform fee",
        "amount_usd": "0.0000",
        "amount_percent": null,
        "per": "free tier (25+ models, 50 req/day, 20 req/min)",
        "currency": "USD",
        "source_url": "https://openrouter.ai/pricing"
      },
      {
        "plan": "Pay-as-you-go",
        "item": "Credit purchase fee — card",
        "amount_usd": null,
        "amount_percent": "5.5000",
        "per": "% of credit purchase amount (minimum $0.80)",
        "currency": "USD",
        "source_url": "https://openrouter.ai/blog/announcements/simplifying-our-platform-fee/"
      },
      {
        "plan": "Pay-as-you-go",
        "item": "Credit purchase fee — crypto",
        "amount_usd": null,
        "amount_percent": "5.0000",
        "per": "% of credit purchase amount (no minimum)",
        "currency": "USD",
        "source_url": "https://openrouter.ai/blog/announcements/simplifying-our-platform-fee/"
      },
      {
        "plan": "Pay-as-you-go",
        "item": "Free gateway request allowance (waived platform fee)",
        "amount_usd": "0.0000",
        "amount_percent": null,
        "per": "first 1,000,000 requests/month",
        "currency": "USD",
        "source_url": "https://openrouter.ai/pricing"
      },
      {
        "plan": "BYOK",
        "item": "Bring Your Own Key usage fee",
        "amount_usd": null,
        "amount_percent": "5.0000",
        "per": "% of equivalent OpenRouter model cost (after monthly free allowance)",
        "currency": "USD",
        "source_url": "https://openrouter.ai/blog/announcements/1-million-free-byok-requests-per-month/"
      },
      {
        "plan": "BYOK",
        "item": "Free BYOK request allowance",
        "amount_usd": "0.0000",
        "amount_percent": null,
        "per": "first 1,000,000 requests/month",
        "currency": "USD",
        "source_url": "https://openrouter.ai/blog/announcements/1-million-free-byok-requests-per-month/"
      },
      {
        "plan": "Enterprise",
        "item": "Free gateway request allowance",
        "amount_usd": "0.0000",
        "amount_percent": null,
        "per": "first 5,000,000 requests/month",
        "currency": "USD",
        "source_url": "https://openrouter.ai/pricing"
      },
      {
        "plan": "Enterprise",
        "item": "Gateway usage fee beyond free allowance",
        "amount_usd": null,
        "amount_percent": null,
        "per": "custom/discounted; contact sales",
        "currency": "USD",
        "source_url": "https://openrouter.ai/pricing"
      }
    ]
  },
  "compliance": {
    "soc2": "type_2",
    "hipaa": false,
    "gdpr": true,
    "iso_27001": null,
    "pci_dss": null,
    "sla_published": false,
    "sla_url": "https://openrouter.ai/enterprise",
    "data_retention_policy_url": "https://openrouter.ai/privacy",
    "documented_rate_limits": "Free tier (no prior credit purchase): 50 requests/day, 20 requests/minute for free model variants. Free tier (with $10+ credits purchased): 1,000 requests/day for free models, 20 req/min. Paid tier: no specific published numeric limits beyond per-model variation; negative balance triggers 402 errors.",
    "known_restrictions": [
      "5.5% platform fee ($0.80 minimum) on Pay-as-You-Go credit purchases via card; 5% flat (no minimum) via crypto",
      "Free tier limited to 50 req/day without prior credit purchase; 1,000 req/day with $10+ credits",
      "No published uptime SLA for standard tiers - service provided on as-available basis per ToS; enterprise contracts include negotiated SLAs",
      "BYOK usage incurs 5% fee of equivalent OpenRouter model cost after first 1M free requests/month",
      "Cache is scoped to individual API keys; different keys do not share cached responses",
      "Negative credit balance blocks all model access with HTTP 402",
      "EU region routing is enterprise-only feature"
    ]
  },
  "developer": {
    "docs_url": "https://openrouter.ai/docs/quickstart",
    "api_reference_url": "https://openrouter.ai/docs/api/reference",
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": "https://openrouter.ai/changelog",
    "status_page_url": "https://status.openrouter.ai",
    "llms_txt_url": "https://openrouter.ai/llms.txt",
    "markdown_docs_url": null,
    "rendering": "static"
  },
  "adoption": {
    "launched_at": "2023-01-01",
    "ga_date": null,
    "github_stars": null,
    "github_stars_at": null,
    "notable_customers": [
      "Framer",
      "NIST",
      "AMD",
      "Nvidia",
      "Mintlify",
      "Zoom",
      "Lovable",
      "Replit",
      "Webflow",
      "Amplitude"
    ]
  },
  "scores": {
    "agent_friendliness": 55,
    "pricing_transparency": 75,
    "setup_speed": 85,
    "docs_quality": 55,
    "procurement_friction": 90,
    "trust_readiness": 40,
    "best_for": [
      "Prototypes and side projects - free to start, no sales call",
      "Regulated or enterprise workloads - compliance attestations and an enterprise plan",
      "AI agents and automation - an agent-ready surface (MCP / llms.txt)"
    ],
    "avoid_if": []
  },
  "sources": [
    {
      "field": "vendor_description",
      "url": "https://openrouter.ai",
      "excerpt": "The Unified Interface For LLMs — Better prices, better uptime, no subscriptions",
      "confidence": "high"
    },
    {
      "field": "vendor_description",
      "url": "https://openrouter.ai/docs/guides/overview/principles",
      "excerpt": "OpenRouter scouts for the best prices, the lowest latencies, and the highest throughput across dozens of providers",
      "confidence": "high"
    },
    {
      "field": "categories",
      "url": "https://openrouter.ai/blog/insights/llm-gateway/",
      "excerpt": "OpenRouter is an LLM gateway — a unified API layer that sits between your application and the underlying AI model providers",
      "confidence": "high"
    },
    {
      "field": "categories",
      "url": "https://openrouter.ai/docs/guides/features/broadcast",
      "excerpt": "OpenRouter's Broadcast allows automatic transmission of API request traces to external observability platforms without additional application instrumentation",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://openrouter.ai/docs/guides/features/guardrails",
      "excerpt": "detect and redact or block sensitive information (PII) in API requests using built-in presets and NLP-based detection",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://openrouter.ai/docs/guides/routing/provider-selection",
      "excerpt": "By default, requests are load balanced across the top providers to maximize uptime. You can customize how your requests are routed using the provider object in the request body",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://openrouter.ai/docs/guides/features/response-caching",
      "excerpt": "Cache hits are free. No tokens are consumed and all billable usage counters are reported as 0",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://openrouter.ai/docs/guides/privacy/provider-logging",
      "excerpt": "Enterprise customers can use the base URL https://eu.openrouter.ai to keep prompts and completions are processed within the European Union and do not leave the EU",
      "confidence": "high"
    },
    {
      "field": "webhooks_supported",
      "url": "https://openrouter.ai/docs/guides/features/broadcast/webhook",
      "excerpt": "Webhooks allow you to send traces to any HTTP endpoint that can receive JSON payloads, useful for integrating with custom observability systems, internal tools, or any service that accepts HTTP requests.",
      "confidence": "high"
    },
    {
      "field": "webhooks_supported",
      "url": "https://openrouter.ai/docs/cookbook/video-generation/video-generation-webhooks",
      "excerpt": "OpenRouter uses HMAC-SHA256 to sign webhooks. The signature header format is: t=<timestamp>,v1=<hex>",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://openrouter.ai/docs/client-sdks/overview",
      "excerpt": "Client SDKs are available for TypeScript, Python, and Go. All three SDKs are auto-generated from the OpenRouter OpenAPI spec, so new models, parameters, and endpoints appear immediately after each API release.",
      "confidence": "high"
    },
    {
      "field": "mcp_server_available",
      "url": "https://openrouter.ai/docs/cookbook/coding-agents/mcp-servers",
      "excerpt": "For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://openrouter.ai/docs/_mcp/server",
      "confidence": "high"
    },
    {
      "field": "mcp_server_available",
      "url": "https://openrouter.ai/docs/_mcp/server",
      "excerpt": "To add this MCP server to your Claude Code configuration, run: claude mcp add --transport http fern-docs https://openrouter.ai/docs/_mcp/server",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "Pay-as-you-go: 5.5% platform fee on top of model costs. Access to 400+ models from 70+ providers. No minimum spend.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://openrouter.ai/blog/announcements/simplifying-our-platform-fee/",
      "excerpt": "Non-crypto payments: 5.5% of the order amount, with a minimum fee of $0.80; Crypto payments: 5.0% flat, no minimum fee",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "5.5% platform fee on top of model costs... No minimum spend. Prices based on models",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://openrouter.ai/blog/announcements/simplifying-our-platform-fee/",
      "excerpt": "Non-crypto payments: 5.5% of the order amount, with a minimum fee of $0.80",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://openrouter.ai/docs/api/reference/limits",
      "excerpt": "Free users have a limit of 50 requests per day and 20 requests per minute (rpm)",
      "confidence": "high"
    },
    {
      "field": "free_tier_details",
      "url": "https://openrouter.ai/docs/api/reference/limits",
      "excerpt": "If you have purchased at least 10 credits, your free model rate limit will be 1000 requests per day, otherwise you will be rate limited to 50 free model API requests per day",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://openrouter.ai/enterprise",
      "excerpt": "OpenRouter is committed to being accretive to your uptime. Priority support channels with direct team access. GDPR compliance and SOC-2 certification.",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://trust.openrouter.ai/",
      "excerpt": "OpenRouter maintains a trust center at trust.openrouter.ai where SOC 2 Type 2 compliance is listed",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://openrouter.ai/enterprise",
      "excerpt": "SOC-2 compliant; GDPR compatible — HIPAA not listed among compliance certifications on the enterprise page",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://openrouter.ai/privacy",
      "excerpt": "standard contractual clauses approved by the European Commission under Article 46 of the GDPR",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://openrouter.ai/terms",
      "excerpt": "OpenRouter does not guarantee availability of any Model and provides you with access to the Models only on an 'as-available' basis",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://openrouter.ai/docs/api/reference/limits",
      "excerpt": "Free users have a limit of 50 requests per day and 20 requests per minute (rpm). If you have purchased at least 10 credits, your free model rate limit will be 1000 requests per day",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://openrouter.ai/blog/announcements/simplifying-our-platform-fee/",
      "excerpt": "5.5% of the order amount, with a minimum fee of $0.80; Crypto payments: 5.0% flat, no minimum fee",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://openrouter.ai/docs/guides/features/response-caching",
      "excerpt": "Cache is tied to individual API keys; different keys don't share cached data",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://openrouter.ai/docs/guides/overview/auth/oauth",
      "excerpt": "Direct users to OpenRouter's /auth endpoint with callback URL and optional code challenge parameters. Exchange the returned code for an API key via POST to https://openrouter.ai/api/v1/auth/keys.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://openrouter.ai/docs/quickstart",
      "excerpt": "For the OpenAI Typescript SDK, set the api_base to https://openrouter.ai/api/v1 and the apiKey to your API key.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://openrouter.ai/docs/client-sdks/overview",
      "excerpt": "Client SDKs are available for TypeScript, Python, and Go. All three SDKs are auto-generated from the OpenRouter OpenAPI spec, so new models, parameters, and endpoints appear immediately after each API release.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/OpenRouterTeam/ai-sdk-provider",
      "excerpt": "The OpenRouter provider for the Vercel AI SDK contains support for hundreds of models through the OpenRouter chat and completion APIs.",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://openrouter.ai/docs/_mcp/server",
      "excerpt": "To add this MCP server to your Claude Code configuration, run: claude mcp add --transport http fern-docs https://openrouter.ai/docs/_mcp/server",
      "confidence": "high"
    },
    {
      "field": "webhook_signing",
      "url": "https://openrouter.ai/docs/cookbook/video-generation/video-generation-webhooks",
      "excerpt": "OpenRouter uses HMAC-SHA256 to sign webhooks. The signature header format is: t=<timestamp>,v1=<hex>",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "50 reqs/day and 20 requests per minute for the free tier",
      "confidence": "medium"
    },
    {
      "field": "free_tier_limit",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "25+ free models, 4 free providers, 50 reqs/day rate limit on the free plan. No credit card required to begin.",
      "confidence": "high"
    },
    {
      "field": "starting_price_usd",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "No markup: OpenRouter pricing always matches provider pricing. The 5.5% fee applies as a platform fee percentage, not a fixed dollar amount.",
      "confidence": "high"
    },
    {
      "field": "data_retention_policy_url",
      "url": "https://openrouter.ai/docs/guides/features/zdr",
      "excerpt": "OpenRouter itself has a ZDR policy; your prompts are not retained unless you specifically opt in to prompt logging.",
      "confidence": "high"
    },
    {
      "field": "notable_customers",
      "url": "https://openrouter.ai/enterprise",
      "excerpt": "Customer logos listed: Framer, NIST, AMD, Nvidia, Mintlify, Zoom, Lovable, Replit, Webflow, Amplitude, Archer, WTW",
      "confidence": "high"
    },
    {
      "field": "requires_verification",
      "url": "https://openrouter.ai/docs/api/reference/authentication",
      "excerpt": "You must protect your API keys and never commit them to public repositories. No specific verification requirements are mentioned prior to API access.",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://openrouter.ai/docs/quickstart",
      "excerpt": "OpenRouter implements OpenAI API specifications, making it compatible with existing OpenAI SDKs and frameworks. Use the OpenAI SDK pointed at OpenRouter as a drop-in replacement.",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "Free Plan: No platform fees. Includes 25+ free models across 4 providers. Limited to 50 requests/day with community support.",
      "confidence": "high"
    },
    {
      "field": "free_tier_details",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "Free Plan: No platform fees. Includes 25+ free models across 4 providers. Limited to 50 requests/day with community support.",
      "confidence": "high"
    },
    {
      "field": "free_tier_details",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "Pay-as-you-go: 1M free reqs/month, 5% fee after",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "Enterprise: 5M free reqs/month; custom pricing",
      "confidence": "high"
    },
    {
      "field": "soc2",
      "url": "https://openrouter.ai/enterprise",
      "excerpt": "SOC-2 compliant",
      "confidence": "high"
    },
    {
      "field": "hipaa",
      "url": "https://openrouter.ai/privacy",
      "excerpt": "The document does not mention HIPAA; references GDPR Articles 45 and 46 for data transfer mechanisms",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://openrouter.ai/enterprise",
      "excerpt": "GDPR compatible",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://openrouter.ai/enterprise",
      "excerpt": "OpenRouter is committed to being accretive to your uptime — enterprise contracts include negotiated SLAs but no publicly published numeric SLA exists for standard tiers",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "Free Plan: 50 reqs/day and 20 requests per minute",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://openrouter.ai/blog/announcements/1-million-free-byok-requests-per-month/",
      "excerpt": "every customer gets 1,000,000 'Bring Your Own Key' (BYOK) requests per month for free",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://openrouter.ai/docs/api/reference/authentication",
      "excerpt": "Our API authenticates requests using Bearer tokens. This allows you to use curl or the OpenAI SDK directly with OpenRouter.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://openrouter.ai/docs/api/reference/overview",
      "excerpt": "https://openrouter.ai/api/v1",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://openrouter.ai/docs/api/reference/overview",
      "excerpt": "The documentation references /api/v1/chat/completions and /api/v1/generation endpoints, indicating v1 is the current version.",
      "confidence": "high"
    },
    {
      "field": "sdk_packages",
      "url": "https://github.com/OpenRouterTeam/typescript-sdk",
      "excerpt": "The official repository is at https://github.com/OpenRouterTeam/typescript-sdk. The SDK can be installed with npm install @openrouter/sdk.",
      "confidence": "high"
    },
    {
      "field": "mcp_url",
      "url": "https://openrouter.ai/docs/api/reference/authentication",
      "excerpt": "For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://openrouter.ai/docs/_mcp/server",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://openrouter.ai/docs/api/reference/errors-and-debugging",
      "excerpt": "type ErrorResponse = { error: { code: number; message: string; metadata?: Record<string, unknown>; }; }; The HTTP status code matches the error.code value.",
      "confidence": "high"
    },
    {
      "field": "webhook_events_url",
      "url": "https://openrouter.ai/docs/guides/features/broadcast/webhook",
      "excerpt": "Webhooks allow you to send traces to any HTTP endpoint that can receive JSON payloads, useful for integrating with custom observability systems, internal tools, or any service that accepts HTTP requests.",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://openrouter.ai/docs/api/reference/limits",
      "excerpt": "up to {FREE_MODEL_RATE_LIMIT_RPM} requests per minute for free model variants",
      "confidence": "medium"
    },
    {
      "field": "price_basis",
      "url": "https://openrouter.ai/pricing",
      "excerpt": "5.5% platform fee on pay-as-you-go. No minimum spend or lock-in. Input and output tokens are billed per model at posted rates.",
      "confidence": "high"
    },
    {
      "field": "data_retention_policy_url",
      "url": "https://openrouter.ai/docs/guides/privacy/data-collection",
      "excerpt": "OpenRouter does not store your prompts or responses unless you opt into specific features. Privacy policy available at https://openrouter.ai/privacy",
      "confidence": "high"
    },
    {
      "field": "sla_url",
      "url": "https://openrouter.ai/enterprise",
      "excerpt": "OpenRouter offers SLAs and commits to being accretive to your uptime. Priority support channels with direct team access. GDPR compliance and SOC-2 certification.",
      "confidence": "medium"
    },
    {
      "field": "launched_at",
      "url": "https://openrouter.ai/about",
      "excerpt": "OpenRouter started in early 2023 as the first LLM marketplace and has grown to become the largest and most popular AI gateway.",
      "confidence": "high"
    },
    {
      "field": "requires_verification",
      "url": "https://openrouter.ai/docs/faq",
      "excerpt": "New users receive a very small free allowance to be able to test out OpenRouter. To begin: Create an account and add credits on the Credits page.",
      "confidence": "high"
    }
  ],
  "fields_not_found": [
    "iso_27001",
    "pci_dss",
    "hipaa (not found on enterprise page or trust center)",
    "sandbox_available (no dedicated sandbox/test environment found)",
    "documented_rate_limits for paid tier (no specific numeric limits published for paid accounts beyond model-level variation)",
    "deprecation_policy_url",
    "ga_date",
    "idempotency_supported",
    "rate_limit_requests_for_paid_tier"
  ],
  "source_confidence": "high",
  "last_verified_at": "2026-06-21T00:00:00.000Z",
  "contribute": {
    "note": "This data is crowd-editable. Suggest corrections or leave a review via these endpoints - no auth required, requests are rate-limited, and every submission is reviewed before it goes live. For a field edit, {field} is any key in this response and a citation is required.",
    "endpoints": [
      {
        "action": "review",
        "label": "Leave a review or comment",
        "method": "POST",
        "url": "https://apio.sh/api/feedback/openrouter",
        "example_body": {
          "kind": "review",
          "rating": 5,
          "body": "Your experience with this API…"
        }
      },
      {
        "action": "field_edit",
        "label": "Suggest a correction to a field (cite a source)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/openrouter/{field}",
        "example_body": {
          "value": "corrected value",
          "citations": [
            {
              "url": "https://source.example/page",
              "excerpt": "supporting quote"
            }
          ],
          "note": "what changed and why"
        }
      },
      {
        "action": "new_api",
        "label": "Suggest a new API to add (only name is required - send as much as you can cite)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/api",
        "example_body": {
          "value": {
            "name": "Acme Email API",
            "website_url": "https://acme.example",
            "vendor_name": "Acme",
            "categories": [
              "email"
            ],
            "pricing_model": "usage_based",
            "has_published_pricing": true,
            "free_tier_available": true,
            "price_points": [
              {
                "plan": "Pay as you go",
                "item": "1,000 emails",
                "amount_usd": 1,
                "per": "1,000 emails",
                "source_url": "https://acme.example/pricing"
              }
            ],
            "soc2": "type_2",
            "docs_url": "https://docs.acme.example"
          },
          "citations": [
            {
              "url": "https://acme.example/pricing",
              "excerpt": "$1 per 1,000 emails"
            }
          ]
        },
        "value_schema": [
          {
            "field": "name",
            "type": "string",
            "label": "Product name (the only required field)"
          },
          {
            "field": "website_url",
            "type": "string",
            "label": "Marketing website URL"
          },
          {
            "field": "vendor_name",
            "type": "string",
            "label": "Company/vendor name behind the product"
          },
          {
            "field": "vendor_description",
            "type": "string",
            "label": "One-line description, quoted from the vendor"
          },
          {
            "field": "categories",
            "type": "string[]",
            "label": "Category/leaf slugs it belongs to, e.g. [\"email\",\"sms\"]"
          },
          {
            "field": "primary_use_cases",
            "type": "string[]",
            "label": "What it's used for"
          },
          {
            "field": "supported_actions",
            "type": "string[]",
            "label": "Concrete API actions/capabilities"
          },
          {
            "field": "supported_regions",
            "type": "string[]",
            "label": "Countries/regions/data-residency"
          },
          {
            "field": "supported_languages",
            "type": "string[]",
            "label": "Human/spoken languages supported"
          },
          {
            "field": "input_types",
            "type": "string[]",
            "label": "Accepted input types/formats"
          },
          {
            "field": "output_types",
            "type": "string[]",
            "label": "Produced output types/formats"
          },
          {
            "field": "webhooks_supported",
            "type": "bool",
            "label": "Supports webhooks?"
          },
          {
            "field": "sandbox_available",
            "type": "bool",
            "label": "Dedicated sandbox/test mode?"
          },
          {
            "field": "sdk_languages",
            "type": "string[]",
            "label": "Languages with an official SDK"
          },
          {
            "field": "mcp_server_available",
            "type": "bool",
            "label": "Official MCP server?"
          },
          {
            "field": "pricing_model",
            "type": "enum",
            "label": "Pricing model",
            "values": [
              "usage_based",
              "subscription",
              "seat_based",
              "hybrid",
              "contact_sales"
            ]
          },
          {
            "field": "has_published_pricing",
            "type": "bool",
            "label": "Concrete prices published publicly?"
          },
          {
            "field": "free_tier_available",
            "type": "bool",
            "label": "Recurring/perpetual free tier (not a trial)?"
          },
          {
            "field": "free_tier_details",
            "type": "string",
            "label": "What the free tier includes"
          },
          {
            "field": "minimum_commitment",
            "type": "string",
            "label": "Any stated minimum spend/commitment"
          },
          {
            "field": "self_serve_signup",
            "type": "bool",
            "label": "Get an API key without talking to sales?"
          },
          {
            "field": "requires_sales_call",
            "type": "bool",
            "label": "Does going live require sales?"
          },
          {
            "field": "enterprise_plan_available",
            "type": "bool",
            "label": "Named enterprise tier?"
          },
          {
            "field": "starting_price_usd",
            "type": "number",
            "label": "Lowest published paid entry price (USD number)"
          },
          {
            "field": "price_basis",
            "type": "string",
            "label": "Unit the starting price is per, e.g. '1,000 emails'"
          },
          {
            "field": "free_tier_limit",
            "type": "string",
            "label": "Free-tier ceiling in literal terms"
          },
          {
            "field": "price_points",
            "type": "object[]",
            "label": "Structured prices: [{plan,item,amount_usd,amount_percent,per,source_url}]"
          },
          {
            "field": "soc2",
            "type": "enum",
            "label": "SOC 2 status",
            "values": [
              "type_2",
              "type_1",
              "in_progress",
              "none",
              "unknown"
            ]
          },
          {
            "field": "hipaa",
            "type": "bool",
            "label": "HIPAA (e.g. BAA available)?"
          },
          {
            "field": "gdpr",
            "type": "bool",
            "label": "GDPR compliance stated?"
          },
          {
            "field": "iso_27001",
            "type": "bool",
            "label": "ISO 27001 certified?"
          },
          {
            "field": "pci_dss",
            "type": "bool",
            "label": "PCI DSS compliant?"
          },
          {
            "field": "sla_published",
            "type": "bool",
            "label": "Published SLA / uptime commitment?"
          },
          {
            "field": "documented_rate_limits",
            "type": "string",
            "label": "Documented rate limits, quoted"
          },
          {
            "field": "known_restrictions",
            "type": "string[]",
            "label": "Notable documented restrictions/limits"
          },
          {
            "field": "auth_methods",
            "type": "string[]",
            "label": "Auth methods",
            "values": [
              "api_key",
              "oauth2",
              "jwt",
              "basic",
              "hmac_signature",
              "mtls",
              "session"
            ]
          },
          {
            "field": "api_style",
            "type": "enum",
            "label": "Primary API style",
            "values": [
              "rest",
              "graphql",
              "grpc",
              "soap",
              "websocket"
            ]
          },
          {
            "field": "base_url",
            "type": "string",
            "label": "API root/base URL"
          },
          {
            "field": "api_version",
            "type": "string",
            "label": "Current API version string"
          },
          {
            "field": "quickstart_url",
            "type": "string",
            "label": "Quickstart / hello-world URL"
          },
          {
            "field": "docs_url",
            "type": "string",
            "label": "Developer docs URL"
          },
          {
            "field": "api_reference_url",
            "type": "string",
            "label": "API reference URL"
          },
          {
            "field": "openapi_spec_url",
            "type": "string",
            "label": "OpenAPI spec URL"
          },
          {
            "field": "changelog_url",
            "type": "string",
            "label": "Changelog URL"
          },
          {
            "field": "status_page_url",
            "type": "string",
            "label": "Status page URL"
          },
          {
            "field": "notable_customers",
            "type": "string[]",
            "label": "Named public customers"
          },
          {
            "field": "launched_at",
            "type": "string",
            "label": "Launch date (ISO date or year)"
          }
        ]
      },
      {
        "action": "token",
        "label": "Optional - raise your rate limit",
        "method": "GET",
        "url": "https://apio.sh/api/feedback/token"
      }
    ]
  }
}