Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
85
💰 Paid API

api.invoket.com

api.invoket.com · api.invoket.com

Get a weather forecast for any location up to 35 days ahead: 2 m temperature, precipitation and 10 m wind at any GPS point, decoded from GRIB. Deterministic GFS at 0.25 deg to 16 days (384 h); GEFS ensemble mean at 0.5 deg beyond, to 840 h (35 days) — the response names which source served it. A horizon_h beyond the currently available window (it shifts with ingestion cycles) is served at the latest available step, flagged lead.clamped. Pass city=<name> (alias location=, optional country= ISO 3166 alpha-2 filter) instead of lat/lon: resolved against the embedded GeoNames cities500 gazetteer (exact name match, case- and accent-insensitive, most populous match wins — no fuzzy matching), echoed back as data.location. Target a calendar day with date=YYYY-MM-DD (served at 12:00 UTC that day) instead of horizon_h or valid_time. No account, no key, pay per call.

🛡
Own this agent?
Verify the domain api.invoket.com via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent for changes. Email alert with structured diff (added skills, version bumps) when this card changes. Enterprise feature. Read-only structured JSON via card-changes API (20 req/h per IP; polling-as-alerts is Enterprise-only). Sign in to subscribe
Trust score
19/100
grade F · 9 criteria
Uptime
accumulating
1/5 probes
Revenue · 30d
$0.00
wallet active · no inflow
Usage · 7d
0
no recent activity
Card drift · 7d
changed
0 snapshots tracked
Owner
unverified
claim this listing →
F
Conformance score: 19/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Schema-validated A2A AgentCard returned by the well-known endpoint.
info Live JSON-RPC 0/25
Live probe hasn't run yet.
fail Protocol version 0/10
No protocolVersion in card.
How to earn +10 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to the AgentCard root. Without it, callers can't negotiate v0.x vs v1.0 compatibility.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
fail Skill declaration 0/10
No skills declared in card. Hard to route to.
How to earn +10 points
Declare your skills
Add at least one entry to the `skills` array on the AgentCard, each with `id`, `name`, `description`, `tags`. We canonicalise these into the global skill taxonomy on next probe.
Docs →
partial Verified Identity 5/10
Provider declared: api.invoket.com (https://api.invoket.com). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
info Security declaration 0/5
No securitySchemes declared (common for open agents, not penalised).
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 calls Public aggregate · no PII recorded

No calls observed in the last 7 days. Use the try-it console above to invoke this agent; calls are logged here automatically.

Uptime
100.0%
1 probes
Response
0ms
last probe
Skills
0
declared
Streaming
SSE-capable

Endpoints

Pricing x402 on Base USDC
From $0.0100 per call
Endpoint Price Currency
https://api.invoket.com/climate/aggregate 0.01 USDC
https://api.invoket.com/climate/anomaly 0.01 USDC
https://api.invoket.com/climate/degree-days 0.01 USDC
https://api.invoket.com/climate/indices 0.01 USDC
https://api.invoket.com/climate/point 0.01 USDC
https://api.invoket.com/climate/point/batch 0.015 USDC
https://api.invoket.com/climate/return-period 0.01 USDC
https://api.invoket.com/iban/repair 0.01 USDC
https://api.invoket.com/iban/repair/batch 0.015 USDC
https://api.invoket.com/iban/resolve 0.01 USDC
https://api.invoket.com/iban/resolve/batch 0.015 USDC
https://api.invoket.com/iban/screen 0.01 USDC
https://api.invoket.com/iban/screen/batch 0.015 USDC
https://api.invoket.com/legal/article 0.01 USDC
https://api.invoket.com/legal/article/batch 0.015 USDC
https://api.invoket.com/legal/diff 0.01 USDC
https://api.invoket.com/legal/diff/batch 0.015 USDC
https://api.invoket.com/legal/eu-act 0.01 USDC
https://api.invoket.com/legal/history 0.01 USDC
https://api.invoket.com/legal/history/batch 0.015 USDC
https://api.invoket.com/phone/resolve 0.024 USDC
https://api.invoket.com/phone/resolve/batch 0.045 USDC
https://api.invoket.com/phone/validate 0.01 USDC
https://api.invoket.com/vehicle/critair 0.01 USDC
https://api.invoket.com/vehicle/recalls 0.01 USDC
https://api.invoket.com/vehicle/report 0.01 USDC
https://api.invoket.com/vehicle/vin/decode 0.01 USDC
https://api.invoket.com/weather/forecast 0.01 USDC
https://api.invoket.com/weather/forecast/batch 0.02 USDC
https://api.invoket.com/weather/forecast/daily 0.01 USDC
Try it ↗ Opens the operator's playground / docs in a new tab.
Settlement wallet: 0x4465825b0ac713aa2fa07ea29023020804a128ee · basescan ↗
Agent cardhttps://api.invoket.com
Providerhttps://api.invoket.com
Docshttps://api.invoket.com
Discovered via
agentic_market

Health · last 0 probes

When HTTP Live JSON-RPC Latency

Similar agents embedding-nearest

stable-enrich-git-stableenrich-solar-rgb-image-merit-systems.vercel.app
Google Solar API - Download any GeoTIFF data layer (rgb, dsm, annualFlux, monthlyFlux, hourlyShade, mask) and return it as a PNG/JPEG image.
stable-enrich-git-stableenrich-solar-rgb-image-merit-systems.vercel.app · q 85%
weather.hugen.tokyo
Instant weather by city name — temperature, feels-like, humidity, wind speed, precipitation, and condition. Just pass a city name; geocoding
weather.hugen.tokyo · q 85%
weather-api.api.klymax402.com
Get current weather and forecast for a location
weather-api.api.klymax402.com · q 0%
Nausika
Recreational marine navigation agent for the Mediterranean: marine forecasts, tides, sea routes, ports and anchorages.
Nausika · q 80%
humanbrowser
Stealth cloud browser-agent with residential proxies. You describe what you want in plain English — the server runs an LLM-driven browser on
Virix Labs · q 80%
weather.agentic-jp.com
Get the Japanese (JP) weather forecast for a region — today's conditions, near-term outlook, and a 7-day weekly forecast with temperatures a
weather.agentic-jp.com · q 85%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/api.invoket.com.svg)](https://agenstry.com/agents/api.invoket.com)
[![Verified Business](https://agenstry.com/badge/api.invoket.com/identity.svg)](https://agenstry.com/agents/api.invoket.com)
[![Uptime](https://agenstry.com/badge/api.invoket.com/uptime.svg)](https://agenstry.com/agents/api.invoket.com)
[![A2A version](https://agenstry.com/badge/api.invoket.com/protocol.svg)](https://agenstry.com/agents/api.invoket.com)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "_source": "agentic.market",
  "service": {
    "id": "api-invoket-com",
    "name": "api.invoket.com",
    "description": "Get a weather forecast for any location up to 35 days ahead: 2 m temperature, precipitation and 10 m wind at any GPS point, decoded from GRIB. Deterministic GFS at 0.25 deg to 16 days (384 h); GEFS ensemble mean at 0.5 deg beyond, to 840 h (35 days) \u2014 the response names which source served it. A horizon_h beyond the currently available window (it shifts with ingestion cycles) is served at the latest available step, flagged lead.clamped. Pass city=<name> (alias location=, optional country= ISO 3166 alpha-2 filter) instead of lat/lon: resolved against the embedded GeoNames cities500 gazetteer (exact name match, case- and accent-insensitive, most populous match wins \u2014 no fuzzy matching), echoed back as data.location. Target a calendar day with date=YYYY-MM-DD (served at 12:00 UTC that day) instead of horizon_h or valid_time. No account, no key, pay per call.",
    "domain": "api.invoket.com",
    "provider": "api.invoket.com",
    "providerUrl": "",
    "category": "",
    "networks": [
      "Base",
      "solana:5eykt4usfv8p8njdtrepy1vzqkqzkvdp"
    ],
    "enriched": false,
    "endpoints": [
      {
        "url": "https://api.invoket.com/climate/aggregate",
        "description": "Get period climate summaries for any location over a date range within the rolling ~5-year ERA5 window (reanalysis): mean, min and max temperature, total precipitation and mean wind at any GPS point, decoded from GRIB. Pass location=<place name> (alias city=, optional country= ISO 3166 alpha-2 filter) instead of lat/lon: resolved against the embedded GeoNames cities500 gazetteer (exact name match, most populous match wins \u2014 no fuzzy matching), echoed back as data.location. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "country",
            "type": "string",
            "description": "",
            "example": "CH",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "from",
            "type": "string",
            "description": "",
            "example": "2022-07-01",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "location",
            "type": "string",
            "description": "",
            "example": "Zurich",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "to",
            "type": "string",
            "description": "",
            "example": "2022-07-31",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "9",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/climate/anomaly",
        "description": "Get climate anomalies for any location over a date range within the rolling ~5-year ERA5 window: how far observed temperature, precipitation and wind (ERA5 reanalysis) departed from the 1991-2020 WMO normal at any GPS point, decoded from GRIB. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "from",
            "type": "string",
            "description": "",
            "example": "2024-07-01",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lat",
            "type": "string",
            "description": "",
            "example": "48.8566",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lon",
            "type": "string",
            "description": "",
            "example": "2.3522",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "to",
            "type": "string",
            "description": "",
            "example": "2024-07-31",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "2",
          "l30DaysUniquePayers": "2"
        }
      },
      {
        "url": "https://api.invoket.com/climate/degree-days",
        "description": "Get heating, cooling and growing degree-days for any location over a date range within the rolling ~5-year ERA5 window (reanalysis): energy-demand and crop-growth signals computed from daily mean temperature, decoded from GRIB. Also accepts city=<name> (alias location=, optional country= ISO 3166 alpha-2) instead of lat/lon, resolved via the embedded GeoNames gazetteer (exact match, most populous wins) and echoed back as data.location. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "base",
            "type": "string",
            "description": "",
            "example": "18",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "from",
            "type": "string",
            "description": "",
            "example": "2024-07-01",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "kind",
            "type": "string",
            "description": "",
            "example": "cdd",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lat",
            "type": "string",
            "description": "",
            "example": "48.8566",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lon",
            "type": "string",
            "description": "",
            "example": "2.3522",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "to",
            "type": "string",
            "description": "",
            "example": "2024-07-31",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "9",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/climate/indices",
        "description": "Get climate-event indices for any location over a date range within the rolling ~5-year ERA5 window (reanalysis): frost and summer days, tropical nights, dry spells, heavy-rain days, max one-day rainfall, total precipitation and peak gust \u2014 parametric-insurance triggers computed from true daily Tmin/Tmax, decoded from GRIB. Also accepts city=<name> (alias location=, optional country= ISO 3166 alpha-2) instead of lat/lon, resolved via the embedded GeoNames gazetteer (exact match, most populous wins) and echoed back as data.location. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "from",
            "type": "string",
            "description": "",
            "example": "2024-07-01",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lat",
            "type": "string",
            "description": "",
            "example": "48.8566",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lon",
            "type": "string",
            "description": "",
            "example": "2.3522",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "to",
            "type": "string",
            "description": "",
            "example": "2024-07-31",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "9",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/climate/point",
        "description": "Get historical weather and climate for any location (ERA5 reanalysis): 2 m temperature, total precipitation and 10 m wind at any GPS point, for any date within the rolling ~5-year ERA5 window, decoded from GRIB. Pass city=<name> (alias location=, optional country= ISO 3166 alpha-2 filter) instead of lat/lon: resolved against the embedded GeoNames cities500 gazetteer (exact name match, case- and accent-insensitive, most populous match wins \u2014 no fuzzy matching), and the resolved place is echoed back as data.location. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "city",
            "type": "string",
            "description": "",
            "example": "Monaco",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "date",
            "type": "string",
            "description": "",
            "example": "2022-07-14",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "11",
          "l30DaysUniquePayers": "9"
        }
      },
      {
        "url": "https://api.invoket.com/climate/point/batch",
        "description": "Get historical weather and climate for many locations/dates at once (ERA5 reanalysis): 2 m temperature, total precipitation and 10 m wind for many GPS point/date pairs in one call (one x402 settlement), for dates within the rolling ~5-year ERA5 window, decoded from GRIB. Per-item coverage flags partial results. No account, no key. Priced per query.",
        "pricing": {
          "amount": "0.015",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "content-type",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "queries",
            "type": "array",
            "description": "",
            "example": [],
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "10",
          "l30DaysUniquePayers": "8"
        }
      },
      {
        "url": "https://api.invoket.com/climate/return-period",
        "description": "Rank a season against a location's ingested climate history (ERA5 reanalysis, currently a rolling ~5-year window): where a target year's seasonal mean temperature or total rainfall falls in the historical sample \u2014 percentile, empirical return period and sample size, with small samples flagged via coverage \u2014 for risk, reinsurance and climate finance. Also accepts city=<name> (alias location=, optional country= ISO 3166 alpha-2) instead of lat/lon, resolved via the embedded GeoNames gazetteer (exact match, most populous wins) and echoed back as data.location. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "lat",
            "type": "string",
            "description": "",
            "example": "48.8566",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lon",
            "type": "string",
            "description": "",
            "example": "2.3522",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "month",
            "type": "string",
            "description": "",
            "example": "7",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "year",
            "type": "string",
            "description": "",
            "example": "2024",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "10",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/iban/repair",
        "description": "Fix a broken or garbled IBAN before payment: recompute check digits and recover unreadable characters (?) of a degraded IBAN, ranked by known bank \u2014 for OCR and invoice ingestion",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "iban",
            "type": "string",
            "description": "",
            "example": "DE89370400440532013?00",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "15",
          "l30DaysUniquePayers": "8"
        }
      },
      {
        "url": "https://api.invoket.com/iban/repair/batch",
        "description": "Fix a list of broken or garbled IBANs from OCR/invoice ingestion: recompute check digits and recover unreadable characters of up to 500 degraded IBANs in one call (one x402 settlement)",
        "pricing": {
          "amount": "0.015",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "content-type",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "ibans",
            "type": "array",
            "description": "",
            "example": [],
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "10",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/iban/resolve",
        "description": "Verify a bank account before paying: validate an IBAN (all countries), resolve its bank and BIC, and check SEPA reachability per scheme (SCT, SCT Inst, SDD Core/B2B)",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "iban",
            "type": "string",
            "description": "",
            "example": "DE89370400440532013000",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "36",
          "l30DaysUniquePayers": "6"
        }
      },
      {
        "url": "https://api.invoket.com/iban/resolve/batch",
        "description": "Verify a list of bank accounts before a payment run: validate IBANs, resolve bank and BIC, and check SEPA reachability per scheme (SCT, SCT Inst, SDD Core/B2B) for up to 500 IBANs in one call (one x402 settlement)",
        "pricing": {
          "amount": "0.015",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "content-type",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "ibans",
            "type": "array",
            "description": "",
            "example": [],
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "6",
          "l30DaysUniquePayers": "5"
        }
      },
      {
        "url": "https://api.invoket.com/iban/screen",
        "description": "Screen a counterparty bank account for sanctions before onboarding or payment: flags sanctioned banks (BIC) and high-risk jurisdictions against OFAC, EU, UN and FATF lists for KYB/AML compliance",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "iban",
            "type": "string",
            "description": "",
            "example": "DE89370400440532013000",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "16",
          "l30DaysUniquePayers": "5"
        }
      },
      {
        "url": "https://api.invoket.com/iban/screen/batch",
        "description": "Screen a list of counterparty bank accounts for sanctions before onboarding: sanctioned-bank (BIC) and jurisdiction risk against OFAC, EU, UN and FATF lists for up to 500 IBANs in one call (one x402 settlement)",
        "pricing": {
          "amount": "0.015",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "content-type",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "ibans",
            "type": "array",
            "description": "",
            "example": [],
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "6",
          "l30DaysUniquePayers": "5"
        }
      },
      {
        "url": "https://api.invoket.com/legal/article",
        "description": "Check whether a French law is in force at a given date: consolidated text, status (in force / repealed / deferred) and validity dates of a code or statute article, from the official LEGI dataset \u2014 selected French codes and statutes currently ingested, expanding. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "article",
            "type": "string",
            "description": "",
            "example": "1240",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "code",
            "type": "string",
            "description": "",
            "example": "code-civil",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "date",
            "type": "string",
            "description": "",
            "example": "2024-01-01",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "7",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/legal/article/batch",
        "description": "Check whether a list of legal citations is still in force (contract review, due diligence): up to 50 article references (French LEGI codes/statutes or EU CELEX acts) at a given date in a single x402 settlement. Consolidated text, status and validity dates per item, from the currently ingested corpus \u2014 selected French codes and EU acts, expanding. No account, no key.",
        "pricing": {
          "amount": "0.015",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "content-type",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "refs",
            "type": "array",
            "description": "",
            "example": [],
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "7",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/legal/diff",
        "description": "See exactly what changed in a French or EU law between two dates: resolves the version in force at each date and returns a structured diff of the consolidated text \u2014 word-level segments plus a git-style unified patch \u2014 with the version metadata of both endpoints. Covers the currently ingested corpus (selected French codes and EU acts, expanding). No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "article",
            "type": "string",
            "description": "",
            "example": "1240",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "code",
            "type": "string",
            "description": "",
            "example": "code-civil",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "from",
            "type": "string",
            "description": "",
            "example": "2000-01-01",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "to",
            "type": "string",
            "description": "",
            "example": "2026-06-20",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "8",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/legal/diff/batch",
        "description": "Compare a list of legal citations across two dates each: get a structured diff of the consolidated text (word-level segments plus a unified patch) for up to 50 French (LEGI) or EU (CELEX/ELI) article references in a single x402 settlement. Covers the currently ingested corpus (selected French codes and EU acts, expanding). No account, no key.",
        "pricing": {
          "amount": "0.015",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "content-type",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "refs",
            "type": "array",
            "description": "",
            "example": [],
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "8",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/legal/eu-act",
        "description": "Check whether an EU law is in force at a given date: consolidated text, status and validity dates of an EU act or article by CELEX/ELI identifier, from EUR-Lex \u2014 selected EU acts currently ingested, expanding. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "article",
            "type": "string",
            "description": "",
            "example": "17",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "celex",
            "type": "string",
            "description": "",
            "example": "32016R0679",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "date",
            "type": "string",
            "description": "",
            "example": "2024-01-01",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "4",
          "l30DaysUniquePayers": "3"
        }
      },
      {
        "url": "https://api.invoket.com/legal/history",
        "description": "Track how a French or EU law changed over time: get the version timeline of an article (French LEGI code/statute or EU CELEX/ELI act, from the currently ingested corpus \u2014 selected codes and acts, expanding) with each version's status (in force, repealed, superseded or deferred) and validity dates, to detect exactly when it changed. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "article",
            "type": "string",
            "description": "",
            "example": "1240",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "code",
            "type": "string",
            "description": "",
            "example": "code-civil",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "8",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/legal/history/batch",
        "description": "Monitor a portfolio of legal citations over time: get the version timeline (status and validity dates) of up to 100 French (LEGI) or EU (CELEX/ELI) article references in a single x402 settlement, to detect when any of them last changed. Covers the currently ingested corpus (selected French codes and EU acts, expanding). No account, no key.",
        "pricing": {
          "amount": "0.015",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "content-type",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "refs",
            "type": "array",
            "description": "",
            "example": [],
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "8",
          "l30DaysUniquePayers": "7"
        }
      },
      {
        "url": "https://api.invoket.com/phone/resolve",
        "description": "Check a phone number is active and reachable before sending an OTP or SMS, and assess fraud risk: SIM-swap and port-out (MNP) signals, SMS deliverability, non-fixed VoIP and disposable-number flags from a live HLR lookup (active line, current carrier, roaming). Live depth depends on provider coverage; a fallback may return a partial result flagged via `coverage`",
        "pricing": {
          "amount": "0.024",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "country",
            "type": "string",
            "description": "",
            "example": "FR",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "number",
            "type": "string",
            "description": "",
            "example": "+33612345678",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "3",
          "l30DaysUniquePayers": "2"
        }
      },
      {
        "url": "https://api.invoket.com/phone/resolve/batch",
        "description": "Clean and risk-check a list of phone numbers before an SMS/OTP campaign (batch HLR): SIM-swap/port-out fraud risk, SMS reachability, carrier and line status for up to 50 numbers in one call (one x402 settlement). Per-number coverage flags partial results. Priced per number.",
        "pricing": {
          "amount": "0.045",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "content-type",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "numbers",
            "type": "array",
            "description": "",
            "example": [],
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "2",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://api.invoket.com/phone/validate",
        "description": "Validate and normalize a phone number offline before storing or messaging: E.164 formatting, region, national format and line type \u2014 no network call",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "country",
            "type": "string",
            "description": "",
            "example": "FR",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "number",
            "type": "string",
            "description": "",
            "example": "+33612345678",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "4",
          "l30DaysUniquePayers": "3"
        }
      },
      {
        "url": "https://api.invoket.com/vehicle/critair",
        "description": "French Crit'Air class and current low-emission-zone (ZFE) restrictions for a vehicle, computed from the official classification tables from declared fuel and Euro norm or first registration date. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "euro_norm",
            "type": "string",
            "description": "",
            "example": "euro3",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "first_registration",
            "type": "string",
            "description": "",
            "example": "2004-05-01",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "fuel",
            "type": "string",
            "description": "",
            "example": "diesel",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "vehicle_class",
            "type": "string",
            "description": "",
            "example": "m1",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "6",
          "l30DaysUniquePayers": "6"
        }
      },
      {
        "url": "https://api.invoket.com/vehicle/recalls",
        "description": "Manufacturer recall campaigns that may affect a vehicle, consolidated from official NHTSA, RappelConso and EU Safety Gate sources, matched by make, model and year or from a VIN. Empty list means no known recall. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "make",
            "type": "string",
            "description": "",
            "example": "Toyota",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "model",
            "type": "string",
            "description": "",
            "example": "Corolla",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "year",
            "type": "string",
            "description": "",
            "example": "2019",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "6",
          "l30DaysUniquePayers": "6"
        }
      },
      {
        "url": "https://api.invoket.com/vehicle/report",
        "description": "One consolidated vehicle report from a VIN: decode, candidate recall campaigns and \u2014 when fuel and Euro norm or first registration are provided \u2014 French Crit'Air / low-emission-zone status, each block with its own provenance and honest coverage. One call, one price. No account, no key.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "fuel",
            "type": "string",
            "description": "",
            "example": "electric",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "vin",
            "type": "string",
            "description": "",
            "example": "5YJ3E1EA7KF000316",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "6",
          "l30DaysUniquePayers": "6"
        }
      },
      {
        "url": "https://api.invoket.com/vehicle/vin/decode",
        "description": "Decode any 17-character VIN offline: manufacturer, country and region of build, model year, check digit validity and deterministic attributes, from the official NHTSA vPIC tables. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "vin",
            "type": "string",
            "description": "",
            "example": "5YJ3E1EA7KF000316",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "6",
          "l30DaysUniquePayers": "6"
        }
      },
      {
        "url": "https://api.invoket.com/weather/forecast",
        "description": "Get a weather forecast for any location up to 35 days ahead: 2 m temperature, precipitation and 10 m wind at any GPS point, decoded from GRIB. Deterministic GFS at 0.25 deg to 16 days (384 h); GEFS ensemble mean at 0.5 deg beyond, to 840 h (35 days) \u2014 the response names which source served it. A horizon_h beyond the currently available window (it shifts with ingestion cycles) is served at the latest available step, flagged lead.clamped. Pass city=<name> (alias location=, optional country= ISO 3166 alpha-2 filter) instead of lat/lon: resolved against the embedded GeoNames cities500 gazetteer (exact name match, case- and accent-insensitive, most populous match wins \u2014 no fuzzy matching), echoed back as data.location. Target a calendar day with date=YYYY-MM-DD (served at 12:00 UTC that day) instead of horizon_h or valid_time. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "city",
            "type": "string",
            "description": "",
            "example": "Zurich",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "horizon_h",
            "type": "string",
            "description": "",
            "example": "600",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "63",
          "l30DaysUniquePayers": "40"
        }
      },
      {
        "url": "https://api.invoket.com/weather/forecast/batch",
        "description": "Get weather forecasts for many locations/lead times at once (one x402 settlement): 2 m temperature, precipitation and 10 m wind for many GPS point + lead-time queries in one call, from the deterministic GFS run (~16 days), decoded from GRIB. Each item picks a lead with exactly one of horizon_h, valid_time or date. Per-item coverage flags partial results: an item outside the forecast window returns coverage.complete=false instead of failing the whole batch (the call still settles once). No account, no key. Priced per query.",
        "pricing": {
          "amount": "0.02",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "POST",
        "providerName": "",
        "parameters": [
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "content-type",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "body",
            "name": "queries",
            "type": "array",
            "description": "",
            "example": [],
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      },
      {
        "url": "https://api.invoket.com/weather/forecast/daily",
        "description": "Get a day-by-day weather forecast for any location in one call (one x402 settlement): daily minimum and maximum 2 m temperature, total precipitation and maximum 10 m wind speed for each UTC calendar day, from today out to the end of the available GFS window (~16 days), decoded from GRIB. Daily precipitation is reconstructed from the model's disjoint accumulation buckets (never a naive sum); min/max are derived from the 3-hourly steps. Partial days at the window edges are flagged coverage.complete=false rather than dropped. Also accepts city=<name> (alias location=, optional country= ISO 3166 alpha-2) instead of lat/lon, resolved via the embedded GeoNames gazetteer and echoed back as data.location. No account, no key, pay per call.",
        "pricing": {
          "amount": "0.01",
          "currency": "USDC",
          "network": "eip155:8453",
          "scheme": "exact",
          "maxAmount": "",
          "minAmount": ""
        },
        "method": "GET",
        "providerName": "",
        "parameters": [
          {
            "group": "query",
            "name": "days",
            "type": "string",
            "description": "",
            "example": "3",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lat",
            "type": "string",
            "description": "",
            "example": "43.7031",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "query",
            "name": "lon",
            "type": "string",
            "description": "",
            "example": "7.2661",
            "enumValues": [],
            "default": null,
            "required": false
          },
          {
            "group": "header",
            "name": "accept",
            "type": "string",
            "description": "",
            "example": "application/json",
            "enumValues": [],
            "default": null,
            "required": false
          }
        ],
        "serviceName": "",
        "tags": [],
        "quality": {
          "l30DaysTotalCalls": "1",
          "l30DaysUniquePayers": "1"
        }
      }
    ],
    "integrationType": "",
    "isNew": false,
    "priceSummary": {
      "minAmount": "0.01",
      "maxAmount": "0.045",
      "avgCostPerTransaction": "0.013133",
      "avgCostBasis": "exact",
      "currency": "USDC"
    },
    "serviceName": "",
    "tags": [],
    "iconUrl": ""
  }
}