OpenRouter Alternatives in 2026: LiteLLM, Vercel AI Gateway, Requesty, Portkey and Direct APIs Compared, With What Developers on Twitter (X) Say

By TwitterAPI.io Team•17 min read
Dark diagram titled OpenRouter alternatives: where each gateway sits. Three columns. Hosted router, one bill: OpenRouter 5.5% fee when buying credits, Requesty 5% markup on spend, Vercel AI Gateway 0% markup with card fees yours. Gateway in front of your keys: Portkey free 10K logs or $49 a month for 100K, Cloudflare AI Gateway core features free with 5% on bought credits, LiteLLM MIT self-hosted. Go to the inference host: Together AI, Groq, provider APIs direct.
Three ways to replace OpenRouter, with each vendor's fee model as its own pricing or docs page states it (checked in 2026).

This page is about what to use instead of OpenRouter: which other model routers, gateways and inference hosts exist, what each one charges, and what changes in your code when you move. If you want OpenRouter's own API details (the base URL, getting a key, the free models and their limits, its fee on credits), our OpenRouter API guide covers those, and we only repeat the fee here where a comparison needs it.

Every option below was checked on the vendor's own pricing or docs page this year, and none of them is a Twitter (X) data vendor, so we name them in prose and show their documentation URLs as plain text. To see why people actually move, we also read what developers post on X when they mention OpenRouter next to a rival or a switching word: 779 public posts from 627 authors, collected in 2026. The last part shows how to give whichever gateway you pick live X data through tool calling, and what that data costs.

01 — Section

OpenRouter alternatives at a glance: fees, keys and compatibility

Gateways sort into three groups. Hosted routers sell you one balance and one key for hundreds of models (OpenRouter, Requesty, Vercel AI Gateway). Gateways in front of your own keys add logging, caching, budgets and fallbacks but leave billing with each provider (Portkey, Cloudflare AI Gateway, a self-hosted LiteLLM proxy). Inference hosts serve models themselves (Together AI, Groq, Fireworks) or are the model maker (OpenAI, Anthropic, Google, xAI). The table uses each vendor's own wording.

OptionTypeWhat you pay the gatewayOpenAI-compatible base URL
OpenRouterHosted router5.5% when buying credits (Standard), 8% (Business); tokens at provider priceopenrouter.ai/api/v1
RequestyHosted router5% markup on spend; free plan 200 requests a day on free modelsrouter.requesty.ai/v1
Vercel AI GatewayHosted routerNo markup or platform fee on tokens; payment fees and some add-ons extraai-gateway.vercel.sh/v1
Cloudflare AI GatewayGateway, your keys or its billingCore features free; 5% on credits bought through Unified Billinga compat endpoint on gateway.ai.cloudflare.com
PortkeyGateway, your keysDeveloper free (10K logs a month); Production $49 a month (100K logs)api.portkey.ai/v1
LiteLLMSelf-hosted proxyNothing for the MIT open-source proxy; Enterprise is custom pricingyour own host
Together AIInference hostIts own per-model pricesapi.together.ai/v1
GroqInference hostIts own per-model pricesapi.groq.com/openai/v1

How to read it. A percentage fee only matters relative to your model spend: on $100 of tokens, OpenRouter's 5.5% purchase fee is $5.50, Requesty's 5% markup is $5, and Vercel's is $0 plus whatever your card processor charges. For a gateway in front of your own keys, the cost is the plan (Portkey bills by recorded logs, not tokens) or the server you run (LiteLLM). For an inference host, there is no gateway fee, but you also lose the one-key, many-providers catalog.

Which fees we could not confirm. OpenRouter's FAQ page renders its credit fee as an unfilled template placeholder, so we took the 5.5% and 8% figures from openrouter.ai/pricing. Vercel's pricing page says every team gets a monthly free credit on a subset of models but does not show the amount, so we do not quote one. Portkey's pricing page does not say whether it marks up tokens; its docs have you add provider credentials to a Model Catalog, which means billing stays with your providers.

02 — Section

LiteLLM vs OpenRouter: self-hosting the gateway

LiteLLM's docs describe its proxy as a self-hosted server that gives applications one endpoint for 100+ LLM providers and returns responses in OpenAI format: if a client can call the OpenAI API, it can call the proxy. The project is MIT-licensed (docs.litellm.ai/docs/simple_proxy). An Enterprise tier adds SSO, audit logs and multi-team management at custom pricing, with a 30-day self-hosted trial key (litellm.ai/enterprise).

The trade against OpenRouter is ownership against convenience. With LiteLLM, there is no one balance: you open an account with every provider you route to, store those keys in the proxy's config, and pay each provider at its list price. There is no gateway fee, and prompts never pass through a third party other than the model provider. In exchange, you run, scale and secure a server, and you keep provider keys alive on it, which is exactly where one leaked config bites: an unused key left in a running proxy keeps billing until someone notices.

When it wins. Teams with compliance rules about where prompts go, teams already paying several providers directly, and anyone who wants routing, budgets and logging under their own control. When OpenRouter wins. Solo builders and prototypes that want one key, one bill and hundreds of models without creating ten provider accounts.

On X, LiteLLM appeared in 8.9% of the 683 posts we read, and 54.1% of those also talked about price, fees or credits, the highest price share among the seven most-named options.

03 — Section

Vercel AI Gateway and Requesty: hosted routers with a different fee model

Vercel AI Gateway. Vercel's pricing doc says the gateway charges no markup and no platform fee on tokens, you pay the provider's list price from prepaid AI Gateway Credits, and you are responsible for any payment processing fees (vercel.com/docs/ai-gateway/pricing). Bring-your-own-key carries no markup either, but it is a paid-tier feature, and when a BYOK request fails, the gateway retries it with Vercel's own credentials and charges that fallback to your credits. The free tier covers a subset of models with lower per-model rate limits (a 429 when exceeded), and buying credits ends the monthly free credit. Optional add-ons are billed separately: team-wide zero data retention at $0.10 per 1,000 requests, a team-wide provider allowlist at $0.10 per 1,000 successful requests, and custom reporting at $0.075 per 1,000 writes and $5 per 1,000 queries.

Its OpenAI-compatible endpoint is https://ai-gateway.vercel.sh/v1 with Authorization: Bearer and an AI Gateway API key (or a Vercel OIDC token on Vercel deployments); chat/completions supports streaming, tool calling and structured outputs. Your app does not have to run on Vercel. If you already build with the AI SDK, model strings like openai/... or anthropic/... route through the gateway directly; our Vercel AI SDK guide shows that path with X data.

Requesty. Requesty's pricing page lists three plans: Free ($0, all free models, 200 requests per day, no card), Pay as you go (a 5% markup, 600+ models, bring your own keys) and Enterprise (custom). Its own example: a model that costs $10 per 1M tokens from OpenAI costs $10.50 through Requesty (requesty.ai/pricing). The quickstart gives https://router.requesty.ai/v1 (and an EU endpoint at router.eu.requesty.ai/v1), Bearer auth and provider/model IDs; a bare model name lets Requesty pick the provider per request.

Versus OpenRouter. OpenRouter's pricing page puts its fee on the credit purchase (5.5% Standard, 8% Business, never on individual requests), lists 600+ models from 80+ providers, sets no plan-based rate limit on paid models, and gives BYOK users $25,000 of list-price inference a month with no fee, then 5%. So for a team spending heavily on its own provider keys, OpenRouter's BYOK allowance can cost less than Requesty's markup, while for a team buying credits, Vercel's zero markup is the lowest stated fee of the three.

04 — Section

Portkey and Cloudflare AI Gateway: control in front of your own keys

Portkey and Cloudflare AI Gateway are less about the model catalog and more about what happens around each call: logs, caching, retries, fallbacks, guardrails and budgets.

Portkey. The pricing page lists an Open Source self-hosted gateway, a Developer plan that is free with 10K recorded logs a month (3-day log retention, labeled not suitable for production), Production at $49 a month with 100K recorded logs and $9 per additional 100K, and custom Enterprise. Exceeding the log limit does not block requests; logs past the limit are simply not recorded (portkey.ai/pricing). The REST base URL is https://api.portkey.ai/v1, and the OpenAI SDKs work by changing the base URL and adding Portkey's headers.

Cloudflare AI Gateway. Cloudflare's pricing reference says the core features (analytics, caching, rate limiting) are free; Workers Free accounts keep 100,000 legacy logs in total, Workers Paid 10,000,000 per gateway; and if you buy credits through Unified Billing instead of using your own provider keys, a 5% fee applies, so a $100 credit purchase is a $105 charge (developers.cloudflare.com/ai-gateway/reference/pricing). Its OpenAI-compatible endpoint takes the form https://gateway.ai.cloudflare.com/v1/{account_id}/default/compat/chat/completions with {provider}/{model} IDs and an optional cf-aig-authorization header.

In our X sample, Cloudflare came up in 9.1% of posts, and many of those were about Workers AI free allowances rather than the gateway: 51.6% mentioned free models or a free tier. Portkey appeared in 3.1%.

05 — Section

Skipping the router: Together AI, Groq and the providers' own APIs

If your app has settled on two or three models, a router can be one hop you do not need. Inference hosts publish OpenAI-compatible endpoints of their own: Together AI at https://api.together.ai/v1 (its compatibility matrix lists tools as supported, and model IDs follow <provider>/<model_name>), and Groq at https://api.groq.com/openai/v1, where logprobs, logit_bias, top_logprobs and messages[].name return a 400 and n must be 1 (console.groq.com/docs/openai).

Going direct to the model maker (OpenAI, Anthropic, Google, xAI) gives list price, the newest features first and one data processor fewer. The costs are operational: a key and a bill per provider, your own retry and fallback code, and no single place to compare spend. A pattern that shows up in the posts we read is a hybrid one: a router while you explore models, then direct contracts once volume concentrates on one provider.

Groq was the single most-named option in our sample (21.7% of posts), and its context was mostly free access: 53.4% of Groq posts mentioned free models or a free tier and 27.0% rate limits or quotas, which is what free-tier lists look like. Local or self-hosted models (Ollama, LM Studio, llama.cpp, vLLM) were second at 15.4%, and 52.4% of those posts were about control or self-hosting. The provider's own API by name appeared in 3.5%.

06 — Section

Why developers leave OpenRouter: 683 X posts, read

We ran two searches on X: one for OpenRouter next to switching words (alternative, instead of, switched, moved to, migrate, leaving), the other for OpenRouter next to a named rival (LiteLLM, Portkey, Requesty, "ai gateway", Together, Helicone, Fireworks, Groq, "direct api"). After removing posts that were only a link or a mention, 683 posts remained: 244 from the switching search and 479 from the rival search (a post can be in both). Keyword rules then tagged the alternatives named and the reasons given.

Reason givenSwitching postsAll posts
Price, fees or credits49.2%41.3%
Reliability, errors or outages22.5%15.7%
Latency or speed20.9%18.6%
Self-hosting or control19.7%16.8%
Free models or free tier18.4%23.7%
Fallbacks, caching or observability16.0%16.0%
Rate limits or quotas7.8%8.6%
Privacy, data retention or compliance7.8%5.4%
Bring your own key (BYOK)3.3%3.2%

Money first, then reliability. Price, fees or credits appeared in 49.2% of switching posts against 41.3% of all posts, the largest single reason. Reliability, errors and outages rose the most between the two groups, from 15.7% overall to 22.5% when someone was talking about switching. Latency followed at 20.9%.

Privacy is quieter than the guides suggest. Comparison articles often lead with data retention and compliance, but only 7.8% of switching posts mentioned privacy, data retention or compliance, and BYOK just 3.3%. Free models pulled the other way: they came up more in the overall sample (23.7%) than in switching posts (18.4%), which fits OpenRouter's free models being something people stay for.

Who is talking. The median post had 4 likes and 555 views; 18.9% were replies. English was 72.3% of posts, Chinese 10.7% and Japanese 2.4%; 11.7% had no detectable language (link or media only).

Dumbbell chart of reasons given in public X posts about OpenRouter, collected in 2026. Orange is 244 posts with switching words, blue is all 683 posts with text. Price, fees or credits 49.2% vs 41.3%; reliability, errors or outages 22.5% vs 15.7%; latency or speed 20.9% vs 18.6%; self-hosting or control 19.7% vs 16.8%; free models or free tier 18.4% vs 23.7%; fallbacks, caching or observability 16.0% vs 16.0%; rate limits 7.8% vs 8.6%; privacy 7.8% vs 5.4%; BYOK 3.3% vs 3.2%.
Reasons in public X posts that mention OpenRouter, switching posts vs all posts (collected in 2026; keyword rules, a post can give several reasons).
07 — Section

Which alternatives people name, and how big their X accounts are

Across the 683 posts, 61.1% named at least one alternative, and 70.7% of those also gave a reason. Because the second search was built around rival names, these shares show what is discussed next to OpenRouter, not market share.

Option namedPostsShareTop reason in those posts
Groq14821.7%Free models or free tier (53.4%)
Local / self-hosted models10515.4%Self-hosting or control (52.4%)
Fireworks9714.2%Price, fees or credits (44.3%)
Cloudflare (AI Gateway or Workers AI)629.1%Price, fees or credits (53.2%)
LiteLLM618.9%Price, fees or credits (54.1%)
Together AI588.5%Price, fees or credits (44.8%)
Vercel AI Gateway578.3%Price, fees or credits (45.6%)

Official accounts at collection. These are organization accounts, so we name them. Follower counts say more about each company's wider audience than about its gateway: Vercel's account covers its whole platform, and Together AI's covers its inference cloud.

AccountFollowersPostsJoined
@vercel (Vercel)470,2611,9702016
@OpenRouter (OpenRouter)157,7335,8762023
@togethercompute (Together AI)65,0173,2532022
@LiteLLM (LiteLLM (YC W23))6,1601,2832022
@PortkeyAI (Portkey)2,0861,5082023
@RequestyAI (Requesty)9592602023

OpenRouter's account (157,733 followers) is more than 25 times the size of LiteLLM's (6,160) and over 150 times Requesty's (959), which matches what the posts show: most builders meet OpenRouter first and compare from there.

Horizontal bar chart of options named in 683 public X posts that mention OpenRouter, from 627 authors, collected in 2026. Groq 21.7% (148), local or self-hosted models 15.4% (105), Fireworks 14.2% (97), Cloudflare AI Gateway or Workers AI 9.1% (62), LiteLLM 8.9% (61), Together AI 8.5% (58), Vercel AI Gateway 8.3% (57), NVIDIA NIM 4.8% (33), direct provider API 3.5% (24), Portkey 3.1% (21), Requesty 1.6% (11).
Options named next to OpenRouter in public X posts collected in 2026 (keyword rules; a post can name several).
08 — Section

Give any of these gateways live X data, and what that data costs

Whichever gateway you choose, the way a model gets fresh X data is the same: you define a tool, the model asks for it, your code calls an API and passes the result back. OpenAI-style tools on chat/completions is part of the format these gateways accept (Vercel and Together document it explicitly; check your gateway's docs for the model you pick), so one search_x function works across them; only the base URL, key and model ID change. The full script is in the code block at the end of this page.

The tool. search_x(query, max_tweets) calls GET https://api.twitterapi.io/twitter/tweet/advanced_search with the X-API-Key header, query in X's search syntax and queryType=Latest, follows next_cursor while has_next_page is true, and returns compact rows (author.userName, text, likeCount, createdAt, url). Reads need no X account and no X developer app.

The loop. Send the conversation with tools; if the reply has tool_calls, run each one, append a role: tool message with the matching tool_call_id, and call the gateway again; stop when the model answers in plain text or after a few rounds. The pattern is the same one our OpenAI Agents and Claude tool-use guides use, just pointed at a gateway.

Or use MCP. If your client speaks MCP (Claude Code, Cursor, Codex and others), our hosted server at https://mcp.twitterapi.io/mcp exposes the same search as ready-made tools with your API key as a Bearer token, so you do not write the tool at all; the MCP server guide has the setup per client.

Writes, if the agent should post. Posting runs through an authenticated session: one /twitter/user_login_v2 login ($0.10, with a proxy you supply) returns login_cookies, then each /twitter/create_tweet_v2 call is 60 credits ($0.0006), billed per HTTP 200 call. The call acts as that account, so X can rate-limit, lock or suspend it; keep a human pace and expect the session to need a re-login now and then.

The X data bill next to the gateway fee. Gateway fees are a percentage of model spend; X data is a separate meter, and it is usually the one that scales with what the agent does. TwitterAPI.io charges 15 credits per tweet returned, $0.15 per 1,000 tweets, with a 15-credit minimum per request: a full 20-tweet page costs $0.003, and a search that finds nothing costs the $0.00015 minimum. The official X API's pay-per-usage rate card (docs.x.com/x-api/getting-started/pricing) lists $0.005 per post read, $5.00 per 1,000, about 33 times more, with pay-per-usage capped at 3 million post reads a month before Enterprise.

Monthly jobX data on TwitterAPI.ioSame reads on the X API rate card
Agent reads 1,000 tweets$0.15$5.00
Agent reads 10,000 tweets$1.50$50.00
Agent reads 100,000 tweets$15.00$500.00
Poll one query every 5 min, mostly emptyabout $1.30not comparable (billed per post read)

Put next to the gateway. On $100 of model spend, the gateway fee is $0 on Vercel (plus payment fees), $5 on Requesty and $5.50 in OpenRouter's credit fee; the same agent reading 10,000 tweets adds $1.50 of X data. Profiles are 18 credits per user ($0.18 per 1,000) against $0.010 per user read on the X rate card. New accounts that pass the automatic bot check get up to $1 of free credits (at most 100,000 credits, no card, one per person or network, expiring after 31 days); purchased credits never expire. Rate limits are 0.2 requests per second before the first payment and 20 once paid; plans are on the pricing page.

Cost lever. In a tool-calling agent the model decides how many tweets to fetch, so cap max_tweets in the tool schema and in your code. That one number bounds both the X bill and the tokens you pay the gateway to read the results.

python
# Same tool, any gateway: only these three values change
#   OpenRouter          GATEWAY_BASE_URL=https://openrouter.ai/api/v1
#   Vercel AI Gateway   GATEWAY_BASE_URL=https://ai-gateway.vercel.sh/v1
#   Requesty            GATEWAY_BASE_URL=https://router.requesty.ai/v1
#   Together AI         GATEWAY_BASE_URL=https://api.together.ai/v1
#   LiteLLM (self-host) GATEWAY_BASE_URL=http://localhost:4000
import os, requests

r = requests.post(
    f"{os.environ['GATEWAY_BASE_URL']}/chat/completions",
    headers={"Authorization": f"Bearer {os.environ['GATEWAY_API_KEY']}"},
    json={"model": os.environ["GATEWAY_MODEL"],
          "messages": [{"role": "user", "content": "What is X saying about LiteLLM?"}],
          "tools": TOOLS},   # the search_x definition from the full script below
    timeout=120,
)
print(r.json()["choices"][0]["message"].get("tool_calls"))
09 — Section

How we collected this

Question. When developers on X mention OpenRouter next to a switching word or a rival gateway, which alternatives do they name and which reasons do they give?

Queries. Two advanced_search queries with -filter:retweets: OpenRouter plus switching words (alternative, instead of, switched, switching, moved to, migrate, ditched, leaving) and OpenRouter plus rival names (LiteLLM, Portkey, Requesty, "ai gateway", Together, Helicone, Fireworks, Groq, "direct api"), each as Latest and Top. Plus /twitter/user/info for six organization accounts: OpenRouter, LiteLLM, PortkeyAI, RequestyAI, togethercompute and vercel.

Window and sample. The switching search's Latest results spanned about 9.6 days, the rival search's about 37.8 days, both collected in 2026. After de-duplication, 779 posts from 627 distinct authors; 683 had at least 15 characters of text once links and mentions were removed, and all shares use that base. 55 API requests in total.

Method. Keyword rules on post text tag each post with the options it names and the reasons it gives; a post can carry several labels. The script, protocol and de-identified rows are in data/studies/openrouter-alternatives/ in our repository.

What the sample cannot show. Keyword rules miss sarcasm and context (a post can mention fees to praise OpenRouter), the rival search pulls toward the names in it, and posts are not usage: none of this measures which gateway has more customers. Gateway fees on this page come from vendor pages, not from the sample.

Privacy. Aggregates only. Search results come from private individuals, so raw pages were not kept in our repository; the committed rows carry no post IDs, URLs, text, author IDs or handles. Only organization accounts are named.

python
import json
import os
import requests

# Any OpenAI-compatible gateway works: set its base URL, key and a model ID it serves.
#   OpenRouter          https://openrouter.ai/api/v1
#   Vercel AI Gateway   https://ai-gateway.vercel.sh/v1
#   Requesty            https://router.requesty.ai/v1
#   Together AI         https://api.together.ai/v1
#   LiteLLM (self-host) http://localhost:4000   (wherever your proxy listens)
GW_BASE = os.environ["GATEWAY_BASE_URL"]
GW_KEY = os.environ["GATEWAY_API_KEY"]
MODEL = os.environ["GATEWAY_MODEL"]          # e.g. "openai/gpt-oss-120b" on Together

TW_BASE = "https://api.twitterapi.io"
TW_KEY = os.environ["TWITTERAPI_IO_KEY"]     # reads need no X account

TOOLS = [{
    "type": "function",
    "function": {
        "name": "search_x",
        "description": "Search recent public X (Twitter) posts. Uses X search syntax, "
                       "e.g. 'openrouter lang:en -filter:retweets'. Returns up to max_tweets posts.",
        "parameters": {
            "type": "object",
            "properties": {
                "query": {"type": "string"},
                "max_tweets": {"type": "integer", "minimum": 1, "maximum": 100},
            },
            "required": ["query"],
        },
    },
}]


def chat(messages):
    r = requests.post(
        f"{GW_BASE}/chat/completions",
        headers={"Authorization": f"Bearer {GW_KEY}"},
        json={"model": MODEL, "messages": messages, "tools": TOOLS, "max_tokens": 800},
        timeout=120,
    )
    if r.status_code in (402, 429):
        raise SystemExit(f"gateway {r.status_code}: {r.text[:300]}")
    r.raise_for_status()
    return r.json()["choices"][0]["message"]


def search_x(query, max_tweets=40):
    """15 credits per tweet returned ($0.15 per 1,000); a full 20-tweet page costs $0.003."""
    out, cursor = [], ""
    while len(out) < max_tweets:
        r = requests.get(
            f"{TW_BASE}/twitter/tweet/advanced_search",
            headers={"X-API-Key": TW_KEY},
            params={"query": query, "queryType": "Latest", "cursor": cursor},
            timeout=30,
        )
        r.raise_for_status()
        body = r.json()
        for t in body.get("tweets", []):
            out.append({
                "author": t["author"]["userName"],
                "followers": t["author"].get("followers"),
                "text": t["text"][:400],
                "likes": t.get("likeCount", 0),
                "created": t.get("createdAt"),
                "url": t.get("url"),
            })
        if not body.get("has_next_page"):
            break
        cursor = body.get("next_cursor", "")
    return out[:max_tweets]


def run(question, max_rounds=4):
    messages = [
        {"role": "system", "content": "You answer with evidence from live X posts. "
                                      "Call search_x, then cite @handles and like counts."},
        {"role": "user", "content": question},
    ]
    for _ in range(max_rounds):
        msg = chat(messages)
        messages.append(msg)
        calls = msg.get("tool_calls") or []
        if not calls:
            return msg.get("content")
        for call in calls:
            args = json.loads(call["function"]["arguments"] or "{}")
            tweets = search_x(args["query"], int(args.get("max_tweets", 40)))
            messages.append({
                "role": "tool",
                "tool_call_id": call["id"],
                "content": json.dumps(tweets, ensure_ascii=False),
            })
    return "stopped after max_rounds"


if __name__ == "__main__":
    print(run("What are developers on X saying about LLM gateway fees this week?"))
10 — Questions

Questions readers ask

What is the best alternative to OpenRouter?

It depends on what you are replacing. For a hosted router with no token markup, Vercel AI Gateway (its docs state zero markup, including BYOK). For a self-hosted gateway you control, LiteLLM (MIT-licensed proxy, 100+ providers). For an OpenRouter-style catalog with a flat fee, Requesty (5% markup). For logging and budgets in front of keys you already have, Portkey or Cloudflare AI Gateway. For a few fixed models, the provider's own API or an inference host such as Together AI or Groq.

Is LiteLLM better than OpenRouter?

They solve different problems. LiteLLM is a proxy you run yourself: no gateway fee and prompts go only to the providers, but you need an account and key with every provider and you operate the server. OpenRouter is hosted: one key and one balance for 600+ models, with a 5.5% fee when you buy credits on Standard. Many teams use OpenRouter to explore and LiteLLM or direct APIs once their model choice settles.

Does Vercel AI Gateway charge a markup?

Vercel's pricing doc says AI Gateway charges no markup and no platform fee on tokens and that BYOK has no markup or fee either. You are responsible for payment processing fees, BYOK needs purchased credits, failed BYOK requests can be retried on Vercel's credentials and charged to your balance, and some add-ons (team-wide ZDR, provider allowlist, custom reporting, trace drains) cost extra.

How much does OpenRouter charge compared with Requesty?

OpenRouter's pricing page puts its fee on buying credits: 5.5% on Standard and 8% on Business, never on individual requests, with token prices passed through. Requesty charges a 5% markup on what your application spends; its own example is a $10 per 1M token model costing $10.50. OpenRouter's BYOK allowance ($25,000 of list-price inference a month with no fee, then 5%) can change the math if you bring your own provider keys.

Are OpenRouter alternatives OpenAI-compatible?

Yes for every option on this page. Vercel AI Gateway (ai-gateway.vercel.sh/v1), Requesty (router.requesty.ai/v1), Portkey (api.portkey.ai/v1), Together AI (api.together.ai/v1), Groq (api.groq.com/openai/v1), Cloudflare's compat endpoint and a LiteLLM proxy all accept OpenAI-style chat completions, so switching is mostly a base URL, key and model ID change. Check per-provider gaps: Groq, for example, rejects logprobs and logit_bias.

Why do developers switch away from OpenRouter?

In 244 public X posts we collected in 2026 that mention OpenRouter next to switching words, price, fees or credits came up in 49.2%, reliability, errors or outages in 22.5%, latency in 20.9% and self-hosting or control in 19.7%. Privacy and compliance came up in only 7.8%. These are keyword-rule shares, so read them as direction, not precise measurement.

Can I use Grok or other models with live X data through these gateways?

Gateways give a model access, not data: no model can see today's X posts unless your code fetches them. Define a search_x tool that calls TwitterAPI.io's /twitter/tweet/advanced_search and pass results back as tool messages; it works through any OpenAI-compatible gateway and any model with tool calling. X data costs $0.15 per 1,000 tweets returned, against $0.005 per post read ($5.00 per 1,000) on the official X API rate card.

Is there a free OpenRouter alternative?

Several have free entry points: LiteLLM's open-source proxy costs nothing to run beyond your server, Requesty's Free plan gives 200 requests a day on free models with no card, Portkey's Developer plan is free with 10K recorded logs a month, Cloudflare AI Gateway's core features are free, and Vercel AI Gateway gives a monthly free credit on a subset of models. Model usage itself is paid on all of them except free models.

11 — Further reading

Continue

Sources & further reading
More from this series
Build it

Stop reading. Start building.

Starter credits cover real testing on real data. Google sign-in, no card, no application queue.

Get an API key

Already building with TwitterAPI.io? Publish an honest tutorial or build log about it and earn up to $200 a month in API credits.