OpenRouter
OpenRouter ↗ is a platform that provides a unified interface for accessing and using large language models (LLMs).
https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openrouterWhen making requests to OpenRouter ↗, replace https://openrouter.ai/api/v1/chat/completions in the URL you are currently using with https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openrouter/chat/completions.
When making requests to OpenRouter, ensure you have the following:
- Your AI Gateway Account ID.
 - Your AI Gateway gateway name.
 - An active OpenRouter API token or a token from the original model provider.
 - The name of the OpenRouter model you want to use.
 
curl -X POST https://gateway.ai.cloudflare.com/v1/{account_id}/{gateway_id}/openrouter/v1/chat/completions \ --header 'content-type: application/json' \ --header 'Authorization: Bearer OPENROUTER_TOKEN' \ --data '{    "model": "openai/gpt-5-mini",    "messages": [        {            "role": "user",            "content": "What is Cloudflare?"        }    ]}'If you are using the OpenAI SDK with JavaScript, you can set your endpoint like this:
import OpenAI from "openai";
const openai = new OpenAI({  apiKey: env.OPENROUTER_TOKEN,  baseURL:    "https://gateway.ai.cloudflare.com/v1/ACCOUNT_TAG/GATEWAY/openrouter",});
try {  const chatCompletion = await openai.chat.completions.create({    model: "openai/gpt-5-mini",    messages: [{ role: "user", content: "What is Cloudflare?" }],  });
  const response = chatCompletion.choices[0].message;
  return new Response(JSON.stringify(response));} catch (e) {  return new Response(e);}Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Directory
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- © 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark