Agent Data API
REST and MCP. One key for four slices. Numbers are integers in a declared scale or decimal strings. Every data response carries source, as_of, status and data_age_s. Machine copies: OpenAPI, llms.txt, pricing JSON.
1,000 calls a month, free, with one key.
These four slices are feeds on RealtimeAPI.ai, the agent data gateway we run. A free RealtimeAPI key covers 1,000 calls a month across every feed there, including macro, crypto, stocks and prediction markets, served from the edge with honest data-age headers.
1. Get a key
curl -X POST https://agentdataapi.com/api/v1/auth/keys \
-H "Content-Type: application/json" \
-d '{"email": "you@yourcompany.com"}'
# -> {"api_key": "adk_live_...", "tier": "free", "daily_limit": 5, ...}
Free: 10 requests a minute, 5 a day, across every slice. Pro (a pass) is 60/min and 20,000/day and unlocks the history endpoints.
2. Endpoints
Grid and energy data /energy/api/v1
| Endpoint | What | Cadence | Per request | Tier |
|---|---|---|---|---|
GET /energy/api/v1/regions | Every market region we serve: code, market, timezone, currency, source and price cadence. | Refreshes every 24 hours. | $0.005 | Free |
GET /energy/api/v1/power/prices/{market}/{region} | Latest settled wholesale electricity price for a region (NEM 5-minute RRP, GB half-hourly market index, EU hourly day-ahead), in micro units of the local currency with a USD conversion, plus demand and a negative-price flag. | Refreshes every 5 minutes. | $0.010 | Free |
GET /energy/api/v1/power/prices/{market}/{region}/day-ahead | Forecast prices per interval for a local calendar day: ENTSO-E day-ahead auction for EU zones, AEMO pre-dispatch for NEM regions. | Refreshes every 30 minutes. | $0.010 | Free |
GET /energy/api/v1/power/prices/{market}/{region}/history | Settled prices per interval for the last 7 days, optionally downsampled to 30 or 60 minute averages. | Refreshes every 5 minutes. | $0.020 | Pro |
GET /energy/api/v1/power/load/{market}/{region} | Latest grid demand for a region in MW (NEM total demand, GB initial demand outturn, ENTSO-E actual load, EIA hourly demand). | Refreshes every 5 minutes. | $0.010 | Free |
GET /energy/api/v1/power/generation/{market}/{region} | Latest generation mix for a region: MW per fuel, total, and the renewables share in basis points. | Refreshes every 5 minutes. | $0.010 | Free |
GET /energy/api/v1/power/windows/{market}/{region} | The cheapest contiguous window of N hours (default 4) within the next horizon (default 24 h), from day-ahead or pre-dispatch prices, for charging and demand-response agents. | Refreshes every 30 minutes. | $0.015 | Free |
GET /energy/api/v1/carbon/{region} | Grid carbon intensity in gCO2 per kWh for Great Britain (GB, actual and forecast) or a NESO region id 1 to 17 (forecast and generation mix). | Refreshes every 30 minutes. | $0.005 | Free |
GET /energy/api/v1/petroleum/weekly | EIA weekly US petroleum inventories: crude stocks (excluding SPR), gasoline and distillate stocks, refinery crude inputs and crude imports, with the week-over-week change. | Refreshes every 7 days. | $0.010 | Free |
Slice OpenAPI: /energy/api/openapi.json. Pricing: /energy/api/v1/pricing. Health: /energy/api/v1/health.
Environmental sensors /sensors/api/v1
| Endpoint | What | Cadence | Per request | Tier |
|---|---|---|---|---|
GET /sensors/api/v1/stations/near | Stations of every open network within a radius of a point, nearest first, with network, parameters and distance. | Refreshes every 24 hours. | $0.005 | Free |
GET /sensors/api/v1/air/{station_id} | Latest air quality readings at one monitor (PM2.5, PM10, O3, NO2, SO2, CO) with the US EPA AQI value and category. | Refreshes every 60 minutes. | $0.005 | Free |
GET /sensors/api/v1/air/near | Air quality monitors within a radius of a point with their latest readings and AQI, nearest first. | Refreshes every 60 minutes. | $0.010 | Free |
GET /sensors/api/v1/water/gauge/{site} | Latest river gauge height, discharge and water temperature at a USGS site, with the NWS flood stage status. | Refreshes every 15 minutes. | $0.005 | Free |
GET /sensors/api/v1/water/gauge/{site}/history | Gauge readings for the last 7 days at a USGS site, newest first, with observed and ingested times for point-in-time use. | Refreshes every 15 minutes. | $0.020 | Pro |
GET /sensors/api/v1/tides/{station} | Latest observed water level at a NOAA tide station (metres above MLLW) with the next predicted high and low. | Refreshes every 6 minutes. | $0.005 | Free |
GET /sensors/api/v1/tides/{station}/predictions | Predicted high and low tides for a day at a NOAA tide station (metres above MLLW, UTC). | Refreshes every 24 hours. | $0.005 | Free |
GET /sensors/api/v1/quakes/recent | Earthquakes in the last N hours from the USGS feed, optionally above a magnitude and within a radius of a point. | Refreshes every 60 seconds. | $0.005 | Free |
Slice OpenAPI: /sensors/api/openapi.json. Pricing: /sensors/api/v1/pricing. Health: /sensors/api/v1/health.
Weather alerts and forecasts /weather/api/v1
| Endpoint | What | Cadence | Per request | Tier |
|---|---|---|---|---|
GET /weather/api/v1/alerts | Active weather alerts for a US state, NWS zone or county code, or an Australian state, with severity, urgency, onset and expiry. US alerts from the National Weather Service; Australian warnings from the Bureau of Meteorology where licensed. | Refreshes every 60 seconds. | $0.002 | Free |
GET /weather/api/v1/alerts/{alert_id} | One alert by id with its description, instruction, areas, zone codes and polygon. | Refreshes every 60 seconds. | $0.002 | Free |
GET /weather/api/v1/current | Current conditions at the nearest reporting station within 150 km of a coordinate in the United States or Australia: temperature, dew point, wind, gust, visibility, pressure, sky cover, present weather. | Refreshes every 5 minutes. | $0.003 | Free |
GET /weather/api/v1/forecast/hourly | Hourly forecast for a coordinate in the contiguous United States or Australia from the NOAA GFS 0.25 degree model: temperature, humidity, wind, gust, precipitation and cloud cover, up to 120 hours. | Refreshes every 60 minutes or on a new model cycle. | $0.005 | Free |
GET /weather/api/v1/forecast/daily | Daily forecast summary for a coordinate in the contiguous United States or Australia (min and max temperature, mean humidity and cloud, max wind and gust, precipitation total), up to 5 days, aggregated from the hourly GFS series. | Refreshes every 60 minutes or on a new model cycle. | $0.005 | Free |
GET /weather/api/v1/stations/near | Reporting stations (METAR) within a radius of a coordinate in the United States or Australia, nearest first, with distance. | Refreshes every 24 hours. | $0.001 | Free |
Slice OpenAPI: /weather/api/openapi.json. Pricing: /weather/api/v1/pricing. Health: /weather/api/v1/health.
News signals and trends /news/api/v1
| Endpoint | What | Cadence | Per request | Tier |
|---|---|---|---|---|
GET /news/api/v1/entities | The tracked entities: organisations, tickers, crypto assets, central banks, governments and topics, with ids, aliases and baselines. | Refreshes every 24 hours. | $0.005 | Free |
GET /news/api/v1/sentiment/{entity} | News tone and volume for one entity over a window: mentions, 30-day baseline, volume ratio, novelty, tone in basis points and top themes. | Refreshes every 15 minutes. | $0.010 | Free |
GET /news/api/v1/tickers/{symbol}/news-score | News score for a ticker or crypto symbol: mentions against baseline, volume ratio, novelty, tone and tone change, top themes. | Refreshes every 15 minutes. | $0.010 | Free |
GET /news/api/v1/entities/trending | Entities with the most unusual news volume in the window, ranked by novelty against their 30-day baseline. | Refreshes every 15 minutes. | $0.015 | Free |
GET /news/api/v1/events | GDELT-coded events (CAMEO) newest first: actors, event code, Goldstein scale, mentions, tone, country and the source URL. | Refreshes every 15 minutes. | $0.010 | Free |
GET /news/api/v1/sentiment/{entity}/history | Mentions and tone per 15-minute window (last 90 days) or per day for one entity, newest first, for backtests. | Refreshes every 15 minutes. | $0.020 | Pro |
GET /news/api/v1/trending/people | Public figures with the biggest attention spike against their 30-day baseline (Wikipedia pageviews and news coverage), by category: celebrity, politics, sport, business. | Refreshes every 60 minutes. | $0.015 | Free |
GET /news/api/v1/trending/topics | Trending topics for a region: top daily searches with approximate traffic and three headlines each, plus trending Mastodon tags and shared links. | Refreshes every 60 minutes. | $0.015 | Free |
GET /news/api/v1/top-stories | The most-covered stories in the window (up to 50): title, link, publisher, tone and how many GDELT records cited the URL. No article text. | Refreshes every 15 minutes. | $0.010 | Free |
Slice OpenAPI: /news/api/openapi.json. Pricing: /news/api/v1/pricing. Health: /news/api/v1/health.
GET /api/v1/health, /api/v1/health/data | Service and collection health, every slice | live | free | no key |
GET /api/v1/pricing, /api/v1/payments/plans | Prices and networks | 5 min | free | no key |
POST /api/v1/payments/agent-subscribe | Buy a 1h, 1d or 7d pass with x402, get a key for every slice | live | plan price | x402 |
Response envelope
{
..., # the endpoint's own fields
"as_of": "2026-11-09T03:05:00Z", # the data's own timestamp (UTC)
"next_update": "2026-11-09T03:10:00Z", # when a newer value is expected, or null
"status": "fresh", # fresh | stale (upstream late, last good value) | pending (never collected)
"data_age_s": 41,
"source": [{"publisher": "AEMO", "licence": "...", "url": "...", "retrieved_at": "..."}]
}
Units: _micro is one millionth (prices: micro units of the stated currency), _milli one thousandth (readings), _bps basis points (tone, ratios). Coordinates are plain floats. A request never fetches upstream: handlers read what the collector stored, so a slow publisher cannot slow you down.
3. Pay per request (x402)
curl -i https://agentdataapi.com/weather/api/v1/alerts?region=TX
# HTTP/1.1 402 Payment Required
# Payment-Required: <base64>
# {"accepts": [{"scheme": "exact", "network": "eip155:8453", "amount": "2000", "payTo": "0x...", ...}],
# "price_usd": 0.002, "alternatives": {...}}
# sign with an x402 client, then
curl https://agentdataapi.com/weather/api/v1/alerts?region=TX -H "x-payment: <signed payload>"
Networks: Base (recommended), Ethereum and Solana USDC. Settlement runs through the Coinbase facilitator; you pay no gas. A per-request response is never cached. Passes go through POST /api/v1/payments/agent-subscribe with {"plan": "pass_1d"} and return a key once that works on every slice. There are no subscriptions; for steady use see RealtimeAPI.ai. Full table: agent pricing.
4. MCP
claude mcp add --transport http agentdataapi https://agentdataapi.com/mcp \
--header 'X-API-Key: ${AGENTDATA_API_KEY}'
Tools: list_capabilities, create_free_api_key, grid_regions, grid_price, grid_day_ahead, grid_price_history, grid_load, grid_generation, grid_cheapest_window, grid_carbon, petroleum_weekly, sensors_stations_near, sensors_air, sensors_air_near, sensors_water_gauge, sensors_water_history, sensors_tides, sensors_tide_predictions, sensors_quakes, weather_alerts, weather_current, weather_forecast, weather_forecast_daily, weather_stations_near, news_search_entities, news_sentiment, news_ticker_score, news_trending, news_sentiment_history, news_trending_people, news_trending_topics, news_top_stories. Each is a loopback call to the REST endpoint, so tiers and limits are identical. Setup for other clients.
5. Errors and limits
Every refusal is JSON: {"detail": {"error": "...", "message": "...", ...}}. 401 carries mint_url; 403 carries upgrade with the x402 route; 429 carries Retry-After and scope (minute or day). Rate limit headers: X-RateLimit-Remaining-Minute, X-RateLimit-Remaining-Day. Payment and key-management routes never count against the daily cap.
6. Sources and licences
| Slice | Publisher | What | Licence |
|---|---|---|---|
| Grid and energy data | AEMO (NEMWEB) | NEM 5-minute dispatch prices and demand, 30-minute pre-dispatch prices | AEMO public data, attribution; commercial terms under confirmation |
| Grid and energy data | Elexon Insights | GB market index price, demand outturn, generation by fuel | Elexon open data licence |
| Grid and energy data | NESO Carbon Intensity API | GB carbon intensity, national actual and forecast, regional forecast and mix | CC BY 4.0 |
| Grid and energy data | ENTSO-E Transparency Platform | EU day-ahead prices, actual load, generation per type | ENTSO-E terms (free re-use of listed items with attribution) |
| Grid and energy data | U.S. Energy Information Administration | US hourly demand and generation by balancing authority, weekly petroleum inventories | US public domain |
| Grid and energy data | European Central Bank | EUR reference exchange rates for the USD conversion | ECB reference rates, free re-use with attribution |
| Grid and energy data | Reserve Bank of Australia | AUD/USD reference rate for the USD conversion | CC BY 4.0 |
| Environmental sensors | USGS Water Services | River gauge height, discharge and water temperature, 15-minute instantaneous values | US public domain |
| Environmental sensors | NOAA CO-OPS Tides and Currents | Observed water levels every 6 minutes and high/low tide predictions | US public domain |
| Environmental sensors | USGS Earthquake Hazards Program | Earthquake events, magnitude, depth and location, updated each minute | US public domain |
| Environmental sensors | NOAA National Water Prediction Service | NWS flood categories (action, minor, moderate, major) per gauge | US public domain |
| Environmental sensors | OpenAQ | Air quality from government and research reference monitors (PM2.5, PM10, O3, NO2, SO2, CO) | CC BY 4.0 |
| Weather alerts and forecasts | NOAA National Weather Service | Active alerts (CAP) for every US state and territory | US public domain |
| Weather alerts and forecasts | NOAA Aviation Weather Center | METAR and SPECI reports from US and Australian stations, every minute | US public domain |
| Weather alerts and forecasts | NOAA NCEP GFS 0.25 degree | Hourly forecasts to 120 h, four cycles a day, subset to the contiguous US and Australia | US public domain |
| Weather alerts and forecasts | Australian Government Bureau of Meteorology | CAP-AU warnings from the anonymous FTP | BoM copyright notice, acknowledgement required (served only when BOM_ENABLED) |
| News signals and trends | The GDELT Project | 15-minute global news coding: entities, themes and tone (GKG) and CAMEO events. | open, citation required |
| News signals and trends | Wikimedia Foundation (Pageviews API) | Daily Wikipedia article pageviews: the attention series behind trending people. | open data (CC0 for pageview statistics) |
| News signals and trends | Wikidata | Whether an article is a person, and their occupations (celebrity, politics, sport, business). | CC0 1.0 |
| News signals and trends | Google Trends (daily trends RSS) | Top daily searches per country with approximate traffic and three headlines each. | public feed, terms unstated (confirm) |
| News signals and trends | Mastodon instances (mastodon.social, mastodon.online) | Trending hashtags and shared links. | public API, per-instance terms |
Attribution is included in the source array of every response, which satisfies CC BY, the open government licences and GDELT's citation requirement, and gives your agent provenance.
7. Through RealtimeAPI: 1,000 free calls a month
These endpoints are also listed on RealtimeAPI.ai as the feeds griddata, sensordata, weatherdata, newssignals. A free RealtimeAPI key gives 1,000 calls a month across every feed, one rta_live_ key for many feeds, x402 at the gateway, and edge caching with honest X-RTAPI-Data-Age headers.
curl -X POST https://api.realtimeapi.ai/keys/free -H "Content-Type: application/json" -d '{"email": "you@yourcompany.com"}'
curl https://api.realtimeapi.ai/v1/weatherdata/api/v1/alerts?region=TX -H "X-API-Key: rta_live_..."
8. Agent skill
A Claude Code style skill file describing this API: /skills/agentdataapi/SKILL.md. Install with mkdir -p ~/.claude/skills/agentdataapi && curl -fsSL https://agentdataapi.com/skills/agentdataapi/SKILL.md -o ~/.claude/skills/agentdataapi/SKILL.md, or append it to AGENTS.md.