Skip to content

$ cat /about.md

What Uprouter is, how the data is built, and the policies that keep it independent.

last updated: September 16, 2026

// what_is_uprouter

UPROUTER.ONLINE is an independent, developer-facing directory of AI API providers: model aggregators, official first-party APIs, free relays, subscription routers and cloud platforms. For every entry we track normalized pricing (USD per 1M tokens), free-tier value, risk notes, data confidence, live status from our own probes, and a full change history. The complete dataset is published as open data: JSON/CSV exports under CC BY 4.0 and keyless public APIs, so the directory works for humans and machines alike.

The directory exists because AI API pricing is scattered, unit-inconsistent (per token, per 1K, per 1M, per minute of audio), and routinely buried behind marketing. We do the normalization once, cite our sources, timestamp every verification, and show you when data goes stale — so you can compare providers on facts instead of vibes.

// methodology

Pricing normalization

All token prices are normalized to USD per 1M tokens (1,000,000 input or output tokens). When a provider quotes per 1K tokens we multiply by 1,000; when they quote per token we multiply by 1,000,000; non-USD list prices are converted at the time of verification and noted in the plan row. Batch, off-peak and commitment discounts are recorded in plan notes rather than in the headline figure. Canonical model prices come from the model operator’s own published rates; each provider entry stores what that provider actually charges, which may include routing fees.

Free-credit value

When a provider grants free credits with a stated dollar value, we list the provider’s own figure. When the allowance is metered in something else (requests/day, tokens/month, audio minutes), we convert it to a dollar value using the provider’s pay-as-you-go rate for the cheapest capable model a typical developer would use. Any figure that required assumptions carries the est. flag on the entry — treat estimated values as an order of magnitude, not a quote. When a free tier exists but cannot be quantified honestly (capacity-dependent pools, request-count-only limits), we say “free tier present — value not quantified” and we never print a misleading zero. When research could not find any public free-tier information for a provider, it gets an honest “Unknown” state — unverified is not the same as absent. Providers verified to offer no free tier get an explicit “No free tier” state.

Deduplication

One entry per provider product, keyed by normalized domain (lowercased, www. stripped). A company that runs two distinct products (e.g. an upstream API and a separate aggregator) gets two entries only if the products have distinct domains and pricing. Community duplicates submitted through /submit are merged into the existing entry rather than published twice.

Uptime probes

Uprouter runs its own lightweight probes against provider endpoints and status pages. Latency is a best-effort round-trip measured from our infrastructure; probes fail for reasons that may not indicate a provider outage (network blips, geo-restrictions, our own cadence gaps). Status history on entry pages shows the raw probe log. Probes are best-effort, not a guarantee — for production decisions, always cross-check the provider’s own status page.

Staleness & data confidence

Every entry carries verification timestamps and a confidence level: verified (re-checked against official sources by our editors recently), community-reported (sourced or confirmed via community evidence, awaiting editorial re-check) and stale (not re-verified within our staleness window — currently 45 days — and shown with an amber outline). Staleness is computed from the verification dates printed on every entry, never hidden.

Model manifest & capabilities

Models are cataloged against an OpenRouter-parity manifest: creator, modalities, context window, max output tokens, tokenizer, knowledge cutoff, license, and capability flags (streaming, tool calling, structured outputs, image/audio input, reasoning, image output). Capability flags are documented-only: a flag is shown exclusively when the vendor documents it; undocumented capabilities render as absent, never assumed. Per-endpoint rows add each provider’s own price, supported context, and disclosed quantization. Throughput figures appear only where measured from real gateway traffic — never estimated.

Coding benchmarks

Benchmark results (SWE-bench Verified, LiveCodeBench, HumanEval, MBPP+, Aider Polyglot, BigCodeBench, …) are stored per model with the score, unit, provenance (independent / vendor / community), evaluation-conditions note, source URL, and dates. Scores are never fabricated or interpolated — an absent benchmark means we have no sourced result, never a zero. Because scaffolds and agent setups differ, scores are comparable only within matching evaluation conditions; wherever conditions differ we label the comparison as not directly comparable.

// who_maintains_this
MF
Mike Fleming — Founder & Editor
Runs the verification process, writes the guides on the home page, and reviews the data behind every entry.

Uprouter is maintained by a small independent editorial team led by Mike Fleming — the same people who wrote the blog guides and operate the probe infrastructure. There is no advertising sales team, no sponsored-content desk, and no content mill: every figure on every entry traces to a named source (the provider’s own pricing page, official docs, or a dated community report) and carries the date it was last verified.

How an entry gets verified

A new entry enters the directory only after a human checks it against the provider’s official pricing and terms. The checker records the source URL and a verification timestamp on the entry; the entry is then re-checked at least every 45 days or marked stale and outlined in amber until it is. Entries imported from third-party research arrive flagged community-reported and are re-checked against first-party sources before they can carry verified status — the flag you see on the entry is the current state of that process, never a decoration.

Accountability

Every data change is logged with the field, the old and new values, and the timestamp. If you find a wrong figure, send it to contact@uprouter.online with the entry URL and the official source that proves the correction; corrections that check out are applied and journaled publicly. A takedown or dispute follows the same channel — details on the contact page.

// non-endorsement

// disclaimer

Uprouter is an independent informational directory. Inclusion is not an endorsement. Pricing and free-tier values are normalized from public sources — always verify with the provider before purchasing.

In plain terms: listing in the directory — at any price, through any channel — is not an endorsement. We don’t certify providers, we document them. Risk tiers and confidence scores are editorial assessments of public evidence, not audits.

// affiliate_policy

Some entries include an affiliate link (/go/…). When you use one, we may earn a commission from the provider. The rules: commissions never affect what data we record, how we score risk or confidence, or where an entry sorts — every sort key in the directory is a neutral data field. Affiliate links are disclosed inline, at the link itself. Entries without an affiliate relationship link directly to the provider and say so. We do not accept pay-to-rank, sponsored listings or paid placement of any kind.

// editorial_independence

Listing submission is free — there is no fee, no payment gate and no payment processor anywhere in the pipeline. Inclusion is an editorial decision on the merits, never sold: editors review each submission for data quality, verifiability and fit. Published submissions meet exactly the same data standards, carry the same source URLs and verification dates, sort by the same neutral keys, and can be rated high-risk like any other entry. Rejection — with a stated reason — is the only gate.

Corrections: if you find an error in any entry, send it to the address on our contact page. Corrections that check out are applied and journaled publicly.

> back to the directory