api.invoket.com
https://api.invoket.com/weather/forecast/dailyShares a payout wallet with 40 other endpoints — its adoption is attributed from that shared wallet's traffic, not earned exclusively.
Before your agent plans a multi-day operation — logistics, construction, an event, crop work: a day-by-day forecast for any GPS point or city, with daily minimum and maximum 2 m temperature, total precipitation and peak 10 m wind per UTC calendar day, from today to the end of the NOAA GFS window (~16 days). Each day names the model that served it and carries a coverage flag.
Reliability & health
Uptime and response time from our own unpaid probes, plus the reliability score built from them.
Uptime
100.0% avgResponse time
p50 95ms · p95 100msData table
| Bucket | Uptime | Probes | Response time |
|---|---|---|---|
| 7/22/2026, 12:00:00 AM | 100% | 1 | 99ms |
| 7/23/2026, 12:00:00 AM | 100% | 1 | 100ms |
| 7/24/2026, 12:00:00 AM | 100% | 1 | 101ms |
| 7/25/2026, 12:00:00 AM | 100% | 1 | 99ms |
| 7/26/2026, 12:00:00 AM | 100% | 1 | 200ms |
| 7/27/2026, 12:00:00 AM | 100% | 1 | 200ms |
| 7/28/2026, 12:00:00 AM | 100% | 1 | 197ms |
| 7/29/2026, 12:00:00 AM | 100% | 1 | 94ms |
| 7/30/2026, 12:00:00 AM | 100% | 1 | 94ms |
| 7/31/2026, 12:00:00 AM | 100% | 1 | 95ms |
| 8/1/2026, 12:00:00 AM | 100% | 1 | 96ms |
| 8/2/2026, 12:00:00 AM | 100% | 1 | 94ms |
| 8/3/2026, 12:00:00 AM | 100% | 1 | 94ms |
| 8/4/2026, 12:00:00 AM | 100% | 1 | 95ms |
| 8/5/2026, 12:00:00 AM | 100% | 1 | 95ms |
| 8/6/2026, 12:00:00 AM | 100% | 1 | 94ms |
| 8/7/2026, 12:00:00 AM | 100% | 1 | 96ms |
| 8/8/2026, 12:00:00 AM | 100% | 1 | 92ms |
| 8/9/2026, 12:00:00 AM | 100% | 1 | 103ms |
| 8/10/2026, 12:00:00 AM | 100% | 1 | 93ms |
| 8/11/2026, 12:00:00 AM | 100% | 1 | 95ms |
| 8/12/2026, 12:00:00 AM | 100% | 1 | 94ms |
| 8/13/2026, 12:00:00 AM | 100% | 1 | 95ms |
| 8/14/2026, 12:00:00 AM | 100% | 1 | 96ms |
| 8/15/2026, 12:00:00 AM | 100% | 1 | 89ms |
| 8/16/2026, 12:00:00 AM | 100% | 1 | 89ms |
| 8/17/2026, 12:00:00 AM | 100% | 1 | 89ms |
| 8/18/2026, 12:00:00 AM | 100% | 4 | 92ms |
| 8/19/2026, 12:00:00 AM | 100% | 21 | 95ms |
| 8/20/2026, 12:00:00 AM | 100% | 17 | 97ms |
- Availability
- 100
- Latency
- 100
- Security
- 100
- Transparency
- 67
- Activity
- 4
How often it was reachable when we probed it (weight 35%).
How quickly it answers when it is up — fast scores high (weight 20%).
Whether it serves over working TLS / https (weight 15%).
Whether the operator disclosed what it does — description, schema, identity (weight 15%).
Observed on-chain payments to this endpoint's wallet — transactions, volume, and distinct paying wallets over the last month (weight 15%; not yet measured when we have not seen its wallet settle).
Confidence 100% — how much probe evidence backs this score. A thin history is flagged, not hidden.
See the scoring methodology for exactly how each number is computed.
Payment
- Currencies
- USDC
- Networks
- base, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
- Facilitator
- unknown
- SDK
- unknown
Operator
- Company
- inferred — unknown
- Jurisdiction
- —
- Registrar
- Register SPA
- Domain registered
- 2026-06-15
- Hosting network
- FR-OVH-20150522
- Hosting country
- FR
Operator context is derived from public RDAP/TLS records and unverified. Company and country are only available for endpoints that publish them (an OV/EV TLS certificate or a non-redacted domain record); most endpoints are CDN-fronted and disclose neither.
On-chain activity (base)
Payments per day
last payment 8/17/2026Data table
| Day | Payments | Volume (USD) | Paying wallets |
|---|---|---|---|
| 7/22/2026 | 26 | 0.28 | 2 |
| 7/23/2026 | 15 | 0.17 | 2 |
| 7/24/2026 | 23 | 0.26 | 2 |
| 7/25/2026 | 14 | 0.15 | 2 |
| 7/26/2026 | 14 | 0.15 | 2 |
| 7/27/2026 | 18 | 0.19 | 3 |
| 7/28/2026 | 6 | 0.06 | 1 |
| 7/29/2026 | 6 | 0.06 | 1 |
| 7/30/2026 | 6 | 0.06 | 1 |
| 7/31/2026 | 485 | 7.08 | 8 |
| 8/1/2026 | 6 | 0.06 | 1 |
| 8/2/2026 | 6 | 0.06 | 1 |
| 8/3/2026 | 6 | 0.06 | 1 |
| 8/4/2026 | 6 | 0.06 | 1 |
| 8/5/2026 | 6 | 0.06 | 1 |
| 8/6/2026 | 6 | 0.06 | 1 |
| 8/7/2026 | 6 | 0.06 | 1 |
| 8/8/2026 | 6 | 0.06 | 1 |
| 8/9/2026 | 8 | 0.08 | 3 |
| 8/10/2026 | 8 | 0.08 | 2 |
| 8/11/2026 | 6 | 0.06 | 1 |
| 8/12/2026 | 7 | 0.07 | 2 |
| 8/13/2026 | 6 | 0.06 | 1 |
| 8/14/2026 | 7 | 0.1 | 3 |
| 8/17/2026 | 33 | 1.24 | 1 |
This payout wallet is shared: figures cover all 41 endpoints paid at it, since payments cannot be attributed to one of them. Only payments settled on chains and facilitators we index.
Linked by wallet — likely same operator
On-chain agent identity and the x402 endpoint that shares its settlement wallet.
Response schema
{
"properties": {
"data": {
"properties": {
"coverage": {
"properties": {
"complete": {
"type": "boolean"
},
"reason": {
"description": "Why the series is incomplete, present when 'complete' is false — a partial day or a grid cell without data; per-day detail sits in data.days[].coverage",
"type": "string"
}
},
"required": [
"complete"
],
"type": "object"
},
"days": {
"description": "One entry per UTC calendar day, in date order: daily min/max temperature, total precipitation, max wind, the model that served it and how many forecast steps fed it",
"items": {
"properties": {
"coverage": {
"description": "Per-day coverage: complete=false for partial days (day 0 from the cycle hour, the truncated last day of the window) or a grid cell with no data, values then null and never invented",
"properties": {
"complete": {
"type": "boolean"
},
"reason": {
"type": "string"
}
},
"required": [
"complete"
],
"type": "object"
},
"dataset": {
"description": "Stable machine identifier of the model that served this day: gfs or gefs. Makes the deterministic/ensemble boundary readable day by day without parsing the label in data.days[].source.",
"type": "string"
},
"date": {
"type": "string"
},
"precipitation_sum_mm": {
"description": "Daily total precipitation (mm), reconstructed from the model's disjoint accumulation buckets (0-3 h, 0-6 h, 6-9 h ...) — never a naive sum of overlapping buckets. On days served by the GEFS ensemble mean (dataset=gefs, beyond ~16 days) it is an average over ~30 members: averaging spreads rain across them, so heavy-rain days AND fully dry days are largely absent — measured at Paris on 2026-07-25, the 19-day ensemble tail stayed within 0.4-1.8 mm/day while the deterministic days ranged 0.0-13.1 mm/day. Use those days for trend, never for a threshold trigger (a 'more than 30 mm in a day' or 'dry day' rule will essentially never fire); the deterministic GFS days are the ones that resolve extremes.",
"type": [
"number",
"null"
]
},
"source": {
"description": "Human-readable label of the model that served this day: 'GFS' (deterministic 0.25 deg, <= 384 h); 'NOAA GEFS ensemble mean (35-day, 0.5 deg)' beyond, when that window is served — an ensemble-mean day averages ~30 members, so its extremes are smoothed (see data.days[].precipitation_sum_mm). Its wording is not part of the contract — branch on data.days[].dataset instead.",
"type": "string"
},
"steps_used": {
"type": "integer"
},
"temperature_max_c": {
"type": [
"number",
"null"
]
},
"temperature_min_c": {
"description": "Daily minimum 2 m temperature (deg C), derived from the 3-hourly forecast steps (subsampled; native GRIB TMIN/TMAX fields are roadmap). Same for temperature_max_c. On days served by the GEFS ensemble mean (dataset=gefs, beyond ~16 days) both are averages over ~30 members and the daily range collapses towards the climatological average — measured at Paris on 2026-07-25, the max spanned 25.3-27.9 deg C over the 19-day tail against 21.2-40.5 deg C on the deterministic days: trend, not threshold triggers.",
"type": [
"number",
"null"
]
},
"wind_speed_max_ms": {
"description": "Peak 10 m wind speed over the day (m/s), max of the 3-hourly forecast steps. On days served by the GEFS ensemble mean (dataset=gefs, beyond ~16 days) it is an average over ~30 members: gusty peaks are smoothed away — trend, not threshold triggers.",
"type": [
"number",
"null"
]
}
},
"required": [
"coverage",
"dataset",
"date",
"source",
"steps_used"
],
"type": "object"
},
"type": "array"
},
"from": {
"type": "string"
},
"grid": {
"properties": {
"distance_km": {
"type": "number"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
}
},
"required": [
"distance_km",
"lat",
"lon"
],
"type": "object"
},
"lat": {
"type": "number"
},
"lead": {
"properties": {
"cycle": {
"type": "string"
}
},
"required": [
"cycle"
],
"type": "object"
},
"location": {
"description": "Echo of the resolved place when city=/location= was used — name, ISO country, admin1 code and the exact GeoNames coordinates the series was served at; absent when lat/lon were passed directly",
"type": "object"
},
"lon": {
"type": "number"
},
"to": {
"type": "string"
}
},
"required": [
"coverage",
"days",
"from",
"lat",
"lead",
"lon",
"to"
],
"type": "object"
},
"provenance": {
"properties": {
"dataset": {
"description": "Stable machine identifier of the model(s) that served the series: gfs, gefs, or gfs+gefs when the range spans both (the per-day boundary is readable in data.days[].dataset). Branch on this field rather than parsing provenance.source, which joins the human-readable labels.",
"type": "string"
},
"fetched_at": {
"type": "string"
},
"freshness": {
"properties": {
"kind": {
"type": "string"
}
},
"required": [
"kind"
],
"type": "object"
},
"source": {
"type": "string"
}
},
"required": [
"dataset",
"fetched_at",
"freshness",
"source"
],
"type": "object"
}
},
"required": [
"data",
"provenance"
],
"type": "object"
}