[{"data":1,"prerenderedAt":259},["ShallowReactive",2],{"content-openrouter-api-key":3},{"id":4,"title":5,"articleTitleSource":6,"articleValid":7,"articleWarnings":8,"body":9,"comments":246,"date":247,"date_updated":8,"description":248,"extension":249,"icon":250,"image":8,"language":8,"meta":251,"navigation":7,"path":252,"publish-to":253,"seo":254,"stem":255,"titleLines":256,"topics":257,"translationKey":8,"__hash__":258},"content/openrouter-api-key.md","How to Get an OpenRouter API Key","frontmatter",true,null,{"type":10,"value":11,"toc":240},"minimark",[12,16,19,22,27,36,40,43,49,57,61,67,95,98,108,119,123,130,233,236],[13,14,15],"p",{},"OpenRouter is an API gateway that provides access to multiple AI models (OpenAI, Anthropic, Google, Meta, and others) through a single API.",[13,17,18],{},"Instead of managing separate API keys, you use one OpenRouter key for everything.",[13,20,21],{},"Getting an API key takes about 2 minutes.",[23,24,26],"h2",{"id":25},"step-1-create-an-account","Step 1. Create an Account",[13,28,29,30],{},"Go to ",[31,32,33],"a",{"href":33,"rel":34},"https://openrouter.ai",[35],"nofollow",[23,37,39],{"id":38},"step-2-top-up","Step 2. Top Up",[13,41,42],{},"OpenRouter uses a prepaid billing model.",[13,44,29,45],{},[31,46,47],{"href":47,"rel":48},"https://openrouter.ai/credits",[35],[13,50,51,52,56],{},"Add funds to your account (minimum is typically ",[53,54,55],"code",{},"$5","). You need a positive balance to use the API.",[23,58,60],{"id":59},"step-3-generate-an-api-key","Step 3. Generate an API Key",[13,62,29,63],{},[31,64,65],{"href":65,"rel":66},"https://openrouter.ai/keys",[35],[68,69,70,77,84,87],"ul",{},[71,72,73,74],"li",{},"Click ",[53,75,76],{},"Create",[71,78,79,80,83],{},"Enter a name (for example ",[53,81,82],{},"My App",")",[71,85,86],{},"Optionally set a usage limit and expiration",[71,88,89,90,94],{},"Submit form and ",[91,92,93],"strong",{},"copy the key immediately",". It will not be shown again",[13,96,97],{},"Your key will look like this:",[99,100,106],"pre",{"className":101,"code":103,"language":104,"meta":105},[102],"language-text","sk-or-v1-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n","text","",[53,107,103],{"__ignoreMap":105},[13,109,110,111,114,115,118],{},"Copy the ",[91,112,113],{},"entire"," key, from ",[53,116,117],{},"sk-or-v1-"," to the last character.",[23,120,122],{"id":121},"quick-test","Quick Test",[13,124,125,126,129],{},"You can test your key with a simple request (",[53,127,128],{},"$OPENROUTER_API_KEY"," is your key):",[99,131,135],{"className":132,"code":133,"language":134,"meta":105,"style":105},"language-bash shiki shiki-themes material-theme","curl https://openrouter.ai/api/v1/chat/completions \\\n  -H \"Authorization: Bearer $OPENROUTER_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"openrouter/free\",\n    \"messages\": [\n      {\"role\": \"user\", \"content\": \"Hello\"}\n    ]\n  }'\n","bash",[53,136,137,154,174,188,200,206,212,218,224],{"__ignoreMap":105},[138,139,142,146,150],"span",{"class":140,"line":141},"line",1,[138,143,145],{"class":144},"s5Dmg","curl",[138,147,149],{"class":148},"sfyAc"," https://openrouter.ai/api/v1/chat/completions",[138,151,153],{"class":152},"svy0-"," \\\n",[138,155,157,160,164,167,169,172],{"class":140,"line":156},2,[138,158,159],{"class":148},"  -H",[138,161,163],{"class":162},"sAklC"," \"",[138,165,166],{"class":148},"Authorization: Bearer ",[138,168,128],{"class":152},[138,170,171],{"class":162},"\"",[138,173,153],{"class":152},[138,175,177,179,181,184,186],{"class":140,"line":176},3,[138,178,159],{"class":148},[138,180,163],{"class":162},[138,182,183],{"class":148},"Content-Type: application/json",[138,185,171],{"class":162},[138,187,153],{"class":152},[138,189,191,194,197],{"class":140,"line":190},4,[138,192,193],{"class":148},"  -d",[138,195,196],{"class":162}," '",[138,198,199],{"class":148},"{\n",[138,201,203],{"class":140,"line":202},5,[138,204,205],{"class":148},"    \"model\": \"openrouter/free\",\n",[138,207,209],{"class":140,"line":208},6,[138,210,211],{"class":148},"    \"messages\": [\n",[138,213,215],{"class":140,"line":214},7,[138,216,217],{"class":148},"      {\"role\": \"user\", \"content\": \"Hello\"}\n",[138,219,221],{"class":140,"line":220},8,[138,222,223],{"class":148},"    ]\n",[138,225,227,230],{"class":140,"line":226},9,[138,228,229],{"class":148},"  }",[138,231,232],{"class":162},"'\n",[13,234,235],{},"If everything is set up correctly, you will receive a response from the model.",[237,238,239],"style",{},"html pre.shiki code .s5Dmg, html code.shiki .s5Dmg{--shiki-default:#FFCB6B}html pre.shiki code .sfyAc, html code.shiki .sfyAc{--shiki-default:#C3E88D}html pre.shiki code .svy0-, html code.shiki .svy0-{--shiki-default:#EEFFFF}html pre.shiki code .sAklC, html code.shiki .sAklC{--shiki-default:#89DDFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":105,"searchDepth":156,"depth":156,"links":241},[242,243,244,245],{"id":25,"depth":156,"text":26},{"id":38,"depth":156,"text":39},{"id":59,"depth":156,"text":60},{"id":121,"depth":156,"text":122},false,"2026-03-22","A short step-by-step guide for creating an OpenRouter API key and testing it with a simple request.","md","simple-icons:openrouter",{},"/openrouter-api-key","topics",{"title":5,"description":248},"openrouter-api-key","1","instructions","4xya5-Bb81O7OA-OZ7SjaaLnJaW5VA43UhQhMDisrSs",1777568642669]