|
Requests fell by a fifth, distinct questions rose by
nearly a tenth, and more of them came from agents than
in any week this report has run. For the first time,
every line on the scoreboard moved the way you would
want it to.
Week of September 14 – 20, 2026 · 27,566 providers ·
142,491 APIs
Every Monday I read what people and agents actually typed
into apis.io — the search box and the MCP server — as a demand signal
for the API economy. Nobody else has this data, so nobody
else can send you this email.
📈 The Demand Report
For six consecutive weeks this report has said the same
thing about its own headline number: volume up, vocabulary
down, believe the small one. Last week distinct terms hit
the lowest point of the run.
This week it reversed. Total requests
fell 297,000 → 229,355, down 23%, and
keyless callers 199,207 → 159,227, down 20%. Distinct search terms rose 5,056 → 5,474, up 8%. Fewer requests, more different questions. That is what
a week looks like when a crawler eases off and the people
underneath it stay.
|
|
This week vs last: total searches −23% to 229.4k,
keyless API −20% to 159.2k, unique terms +8.3% to
5,474, MCP searches +133% to 4,754. Footnote: first
week of the run where volume fell and vocabulary
rose; both green bars are real
|
And the agents set a record without a shopping list behind
it
MCP searches came in at 4,754 — the highest this report
has recorded, up 133% on the week. The series: 35 → 42 → 310 → 1,027 → 518 → 1,924 → 2,768
→ 2,508 → 4,533 → 1,591 → 2,041 → 4,754.
The last time this line set a record, in #07, I could show
you exactly what was behind it: twenty-nine templated
searches for a hosted MCP endpoint, every one at 28–32
hits, one machine reading a vertical list. A week later it
was gone and I called it a spike.
This week there is nothing like that. Zero terms in the top hundred contain the word MCP. No
uniform block of near-identical counts on the agent side.
The record arrived on a week when the rest of the
log got quieter and more varied, which is the opposite of
what a burst looks like.
I looked for my own fingerprints too, because last issue
taught me to. The tag-quality pass ran again — 60 more
tags on the 15th and 16th — but it calls the REST API on a
key, not the MCP server, and the two new posting workflows
read local files by design. I cannot find an internal
source for these 4,754 calls. One honest caveat: until Saturday, a starter-tier key that reached the paid
surface over MCP was being served the full paid
dataset — a tier-ranking fallthrough, fixed on the 20th.
There are 311 active starter keys. Some slice of this
week's agent traffic may be starter callers who found
that door open, and the log cannot separate them. I would
rather tell you that than let a clean-looking record stand
unqualified.
What I will say plainly: this is the first MCP record in
the run that I cannot attribute to a single caller, and it
landed on the healthiest week of human demand I have
measured.
The resilience stack came back
Last week's five-term cluster — outage, network
status, flight tracking, emergency alerts, satellite
imagery — returned:
|
Term
|
Sep 7–13
|
Sep 14–20
|
|
Critical Infrastructure Outage API
|
197
|
127
|
|
Telecommunications Network Status API
|
196
|
124
|
|
Emergency Management Alert API
|
195
|
122
|
|
Satellite Earth Observation API
|
195
|
121
|
|
Aviation ADS-B Flight API
|
195
|
119
|
613 requests, down from 978, same five terms, same
tight band. One caller, still — but a caller that came back. That is
the same pattern cohorts followed: a first week I flagged as a possible one-off,
a second week that made it a standing ask. Somebody is
checking, weekly, whether this catalog can assemble a
situational-awareness stack. The answer last week was one
thin API each and no Common Alerting Protocol at all. It
has not changed, and they have not stopped asking.
The gate, and the human list
Bounces off the paid surface came down with everything
else: 13,541 → 11,331, across 24
resources. cohorts fell 7,062 → 4,522 and is still the
most reached-for gated resource by a wide margin; security 3,543; scopes 643, holding last week's doubling; ratings back up to 132.
Above the noise, the human vocabulary was broader than
usual, and led by one thing: Weather at 66 and Weather Forecast API at 40 — 106 searches for weather, the
largest human term of the week by a factor of two.
Then Paylocity (25), Payments (25), Shopify (21), Gold Price API (16), Stripe (15), Machine Learning Model Hosting (14), Anthropic (10), Cisco (9), Bkash (8).
A note on the tier line, since I withdrew it last
week. pro reads 6,654 this week. That is the tag-quality pass
again — 60 reviews on the Understanding key — and I am not
printing the authenticated tiers as demand until the log
can tell my keys from a subscriber's. The gate
bounces above are unaffected.
🕳️ The Gaps (demand we couldn't answer)
The pipeline saw 904 raw unmet terms,
dropped 447 as noise, and kept 204, down
from 234. The dictionary crawler is still walking — it has
reached the C's through G's this week: cephalopod, chiffonier, coonskin, fishmonger, formicarium, fossick. The catalog crawler is still reading operation names
back at us: mergeintouser, removeroles, returntoauthor, roleassignees, auditactor.
I re-probed all 100 published zero-result terms this
morning. 98 still return nothing. The two
that now resolve — a2agent and, improbably, codpiece — each match a single provider.
Two candidates were dropped before the chart was drawn
because the provider is already indexed under a spaced
name: f5nginx (F5 and NGINX are both in) and the provider half
of extract alarms from ciena (Ciena is in). Fourth week of that pattern.
Eight rows, each checked against the live catalog by hand:
|
|
The Gaps — top zero-result searches: workamajig,
swingsync and yellowjacket at 4×, prosperstack and
norsk helsnett at 3×, al jazzera, bmkg and
croxyproxy at 2×
|
-
prosperstack (3×, plus 4 as prosperstack as — 7 in all, the most-searched genuine gap of the
week) — ProsperStack, retention software for
subscription businesses: cancellation flows, offers,
the measurement behind them.
-
workamajig (4×) — all-in-one agency
management: project management, accounting, CRM,
resourcing.
-
swingsync (4×) — connects to a golf
simulator and turns session data into shot
classification and benchmarks. A data product built on
someone else's hardware.
-
yellowjacket (4×) — YELLOW JACKET,
US-made HVAC gauges, hoses and refrigerant recovery
equipment. Third week running that somebody has looked
for the machine layer: a PLC, a heating group, and now
the tools that service the heating.
-
norsk helsnett (3×) — Norsk
helsenett, the state enterprise that runs
Norway's national health IT infrastructure. Typed
one letter short. A national public body with real
machine interfaces behind it.
-
al jazzera (2×, plus 4 across two
more misspellings — 6 in all) — Al Jazeera. Six
attempts, three spellings, nothing.
-
bmkg (2×) — Badan Meteorologi,
Klimatologi, dan Geofisika: Indonesia's national
weather, climate, air-quality and earthquake agency,
for 280 million people. Read it against the top of
this issue — weather was the largest human search of
the week, and the resilience stack came back — and
this is the single most on-target gap in the list.
-
croxyproxy (2×) — a free web proxy.
Two national public bodies in one week — Norway's
health network and Indonesia's weather
agency. The non-Anglophone pattern has been a standing one in
this section since #06; this is the first time both rows
are governments.
apifootball came back a fourth consecutive week, at 4×. No row, by
policy; noted, because four weeks is a customer.
If you build in one of these lanes, this is your
invitation. Add your API in about two minutes: apis.io/add — or point your agent at the apis.io MCP server and let it submit for you.
🆕 New to the Index
The deployed index reads 27,566 providers and 142,491 APIs. Providers are down 30 on the week; APIs are up 8,727,
and as always that line counts specification files, not
products — a large contract split by resource shows up as
dozens.
The MCP lines did something they have not done before:
|
|
Last Monday
|
Today
|
|
|
MCP entries (all)
|
4,961
|
5,270
|
+309
|
|
— real servers
|
2,651
|
2,920
|
+269
|
|
— hosted endpoints
|
1,298
|
1,445
|
+147
|
|
— providers credited with MCP
|
2,566
|
2,769
|
+203
|
|
Scopes (providers)
|
2,871
|
2,940
|
+69
|
|
Security (providers)
|
24,423
|
24,419
|
−4
|
Hosted endpoints grew by 147 in a week. The previous two weeks were +51 and +44. Real servers
grew by 269 against candidate manifests by 39 — the first
week the real side of that ledger outgrew the declared
side by a wide margin. Three weeks ago I wrote that growth
in the MCP count was mostly growth in declarations. This
week it was not.
Scopes crossed 10.7% of the catalog.
Twenty posts published last week — the heaviest run yet.
Among them:
All on the apis.io blog.
⭐ Rated This Week: Tomorrow.io vs OpenWeatherMap — two
tenths of a point, one whole band
This week's angle: weather was the largest human
search of the week and agents set a record. Here are the
two weather APIs people mean, and what separates them
for each kind of caller.
Ninety-six providers in the catalog carry the weather tag.
Thirteen of them score above 50. The two most people would
name are these, and on the Kin Score they are effectively
tied:
|
|
Tomorrow.io
|
OpenWeatherMap
|
|
Kin Score
|
65.1 strong
|
64.9 strong
|
|
Agent Readiness
|
32.6 agent-ready
|
25.6 agent-aware
|
|
Contracts / callable
|
10 / 100%
|
14 / 100%
|
Two tenths of a point apart for a developer. A full band apart for an agent. And the facets underneath do not agree about which is
better:
|
Facet
|
Tomorrow.io
|
OpenWeatherMap
|
|
Discoverability
|
64.8
|
83.3
|
|
Contract Quality
|
69.8
|
78.1
|
|
Contract Governance
|
28.8
|
33.3
|
|
Operational Transparency
|
52.6
|
34.2
|
|
Developer Ergonomics
|
73.8
|
65.5
|
|
Access Clarity
|
84.2
|
67.1
|
OpenWeatherMap writes the better contract and is easier
to find. It wins contract quality by eight points and
discoverability by eighteen. Fourteen specifications, all
callable, none derived by us. If you are a person with a
text editor, it is the better-documented API.
Tomorrow.io built the door. Its official
MCP server sits at api.tomorrow.io/v4/tomorrow-weather/mcp. I sent it an anonymous initialize this morning and got the right refusal:
HTTP/2 401 www-authenticate: Bearer scope="mcp:read", resource_metadata="https://api.tomorrow.io/.well-known/oauth-protected-resource/v4/tomorrow-weather/mcp"
Follow that URL and there is a real RFC 9728 document
naming the resource, its authorization server and the one
scope it grants. A .well-known path that cannot exist returns 404, so the metadata is
honest rather than a catch-all. The refusal names the
scope — mcp:read — which is one detail more than most servers manage.
OpenWeatherMap has no official MCP server. What the
catalog holds is a candidate manifest — a tool
list we derived from its OpenAPI, marked as such, with a
note that says exactly what it is: "No official
OpenWeather-hosted MCP server is published. Community MCP
servers exist." There are at least four of those,
built by individual developers, each requiring you to
bring your own key. That is last issue's authorship
finding in one provider: the agent door to OpenWeatherMap
exists, and OpenWeatherMap did not build it.
The cheapest points on the table run in both
directions. For OpenWeatherMap, one hosted MCP endpoint with the
refusal above moves it from agent-aware to agent-ready
without touching the contract it already wins on. For
Tomorrow.io, the docs link the catalog holds for its MCP
server — docs.tomorrow.io/reference/tomorrow-io-mcp — returns 404 today; the server is live
and its front door is not. And neither publishes
idempotency on anything, which keeps both out of
agent-native regardless.
Weather was the largest human ask of the week. Between
these two, the human ask is a coin flip. The agent ask is
not.
Kin Score rubric 0.22.0, both scored 2026-09-20. Bands:
exemplar 66.5+ · strong 54.3–66.4 · developing 39.3–54.2
· thin 26.2–39.2 · emerging 11–26.1 · minimal 0–10.9.
Agent Readiness 0.2: agent-native 38.7+ (gated on
idempotency AND error semantics) · agent-ready 28.6–38.6
· agent-aware 5.1–28.5 · human-only 0–5.
🤖 Reproduce this yourself
The two weather providers, side by side, no key required:
find_providers(providers=["tomorrow-io","openweathermap"], fields=["slug","score","agent_readiness"])
Then the door, the way I checked it:
curl -s -D - -o /dev/null -X POST https://api.tomorrow.io/v4/tomorrow-weather/mcp \ -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}' \ | grep -i www-authenticate
And the count that moved this week:
find_mcp(install_method="Hosted endpoint", limit=1)
meta.total reads 1,445, up from 1,298 last Monday.
Or read the demand data directly: apis.io/search-terms/, refreshed every Monday.
27,566 providers. 142,491 APIs. Fewer requests, more
questions, and 4,754 of them from agents — the first
record on that line I can't explain away. See a gap that's yours? → apis.io/add
The Demand Report is a weekly read of apis.io's
own search + discovery signal. Forward it to someone who
ships an API.
|