Open Data Tools for Agents
agent-data-tools.grit-77.workers.dev
Fifteen paid data endpoints over x402 v2 HTTP. This is a tool-discovery card, not an A2A JSON-RPC task server.
agent-data-tools.grit-77.workers.dev 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.
Dispute or improve this rating
F
Conformance score: 30/100
F-grade: card is reachable but fails most operational signals.
click to expand breakdown
click to collapse breakdown
Activity (audit trail)
last 24h · 0 invocations Public aggregate · no PII recordedNothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.
Card history
1 snapshot Every change toagent-card.json
| Captured | Hash | Snapshot |
|---|---|---|
| 2026-10-31 08:02:57 current | b893b91d160c… |
view → |
Endpoints
| Endpoint | Price | Currency |
|---|---|---|
https://agent-data-tools.grit-77.workers.dev/sec-edgar
Base · live 402
|
0.01 | USDC |
https://agent-data-tools.grit-77.workers.dev/polymarket
Base · live 402
|
0.01 | USDC |
https://agent-data-tools.grit-77.workers.dev/hacker-news
Base · live 402
|
0.01 | USDC |
https://agent-data-tools.grit-77.workers.dev/arxiv-papers
Base · declared in manifest
|
— | USDC |
https://agent-data-tools.grit-77.workers.dev/openalex-papers
Base · declared in manifest
|
— | USDC |
https://agent-data-tools.grit-77.workers.dev/earthquake-events
Base · declared in manifest
|
— | USDC |
https://agent-data-tools.grit-77.workers.dev/us-weather-forecast
Base · declared in manifest
|
— | USDC |
https://agent-data-tools.grit-77.workers.dev/pypi-packages
Base · declared in manifest
|
— | USDC |
https://agent-data-tools.grit-77.workers.dev/npm-packages
Base · declared in manifest
|
— | USDC |
https://agent-data-tools.grit-77.workers.dev/ecb-fx-rates
Base · declared in manifest
|
— | USDC |
https://agent-data-tools.grit-77.workers.dev/domain-intel
Base · declared in manifest
|
— | USDC |
https://agent-data-tools.grit-77.workers.dev/software-support-lookup
Base · declared in manifest
|
— | USDC |
https://agent-data-tools.grit-77.workers.dev/browser-feature-lookup
Base · declared in manifest
|
— | USDC |
https://agent-data-tools.grit-77.workers.dev/unicode-confusable-lookup
Base · declared in manifest
|
— | USDC |
0x2b870e1ee0fe979ffc32007e0a3bdc0cba4e3f9a on Base
· basescan ↗
| Agent card | https://agent-data-tools.grit-77.workers.dev/.well-known/agent-card.json |
Skills · 15 declared by this agent
These skills are declared by the agent. A taxonomy link appears only when we can classify a skill confidently.
Read up to 20 active public Polymarket markets, or one exact slug, with outcome prices and label-matched Yes/No implied probabilities. Read-only metadata; no tr…
Read up to 20 current top Hacker News stories or a bounded story search. Return story IDs, titles, scores, comment counts and HN links; no users, comments, prof…
Search arXiv with one literal phrase and return up to 20 paper IDs, titles, categories, dates and source links. No authors, affiliations, abstracts or PDFs. Req…
Search up to 20 OpenAlex works for paper metadata, DOI, dates, citation counts and open-access status. CC0 metadata, no authors, ORCIDs or affiliations. Anonymo…
Read up to 50 recent corporate SEC filing index entries by ticker or CIK, optionally filtered by corporate form. No filing text, ownership forms or personal fil…
Read up to 50 USGS earthquake summary events within an explicit date window of at most 90 days, optionally above a minimum magnitude. No event detail products o…
Read up to 14 NWS land forecast periods for decimal coordinates, with issued time, temperature, winds and precipitation probability. Only official NWS point and…
Look up one exact PyPI package, current version, license, Python requirements and recent releases. maxItems caps releases and dependency strings at 50. No maint…
Look up one exact npm package including scoped names, latest version, license, publication times and capped dependency metadata. No maintainers, users, contacts…
Read up to 50 daily ECB reference or same-day cross rates for one currency pair over at most 90 days. Quote units per base unit; no weekend interpolation or car…
Convert one operator-approved public technical HTML document to Markdown, without a browser or scripts. No personal pages. Hosts must be approved before use.
One public domain: sanitized RDAP registration dates/status/nameservers, public DNS A/AAAA/MX/NS/CAA, and verified HTTPS availability. No contacts. Certificate …
Look up one exact endoflife.date product/release and project lifecycle dates and source flags. Explicit asOf computes daysToEol; boolean/unknown EOL values rema…
Look up one exact MDN BCD feature and browser against the actor pinned release and verified Git blob. Preserve support statements, arrays, false/null and unreso…
Look up one hexadecimal Unicode scalar in official UTS #39 confusables. Returns direct mapped/unmapped status and target sequence; accepts no personal text and …
Health · last 1 probes
Cheaper or better alternatives per-skill
For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.
Similar agents embedding-nearest
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.
Markdown / HTML snippets
[](https://agenstry.com/agents/agent-data-tools.grit-77.workers.dev) [](https://agenstry.com/agents/agent-data-tools.grit-77.workers.dev) [](https://agenstry.com/agents/agent-data-tools.grit-77.workers.dev) [](https://agenstry.com/agents/agent-data-tools.grit-77.workers.dev)
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.
Raw agent card JSON
{
"name": "Open Data Tools for Agents",
"description": "Fifteen paid data endpoints over x402 v2 HTTP. This is a tool-discovery card, not an A2A JSON-RPC task server.",
"version": "0.1.0",
"url": "https://agent-data-tools.grit-77.workers.dev",
"capabilities": {
"streaming": false,
"pushNotifications": false
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "polymarket",
"name": "polymarket",
"description": "Read up to 20 active public Polymarket markets, or one exact slug, with outcome prices and label-matched Yes/No implied probabilities. Read-only metadata; no traders or wallet data.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/polymarket?maxItems=5"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Optional exact market slug; omit for active markets ranked by 24-hour volume.",
"pattern": "^[a-z0-9][a-z0-9-]*$",
"maxLength": 150
},
"maxItems": {
"type": "string",
"description": "Integer from 1 through 20; package tools cap release/dependency metadata.",
"pattern": "^(?:[1-9]|1[0-9]|20)$",
"default": "10"
}
},
"required": []
},
"x-output-schema": {
"type": "object",
"properties": {
"rows": {
"type": "array",
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"market_id": {
"type": "string"
},
"slug": {
"type": [
"string",
"null"
]
},
"question": {
"type": [
"string",
"null"
]
},
"outcomes": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string"
}
},
"outcome_prices": {
"type": "array",
"maxItems": 20,
"items": {
"type": [
"number",
"null"
]
}
},
"yes_probability": {
"type": [
"number",
"null"
]
},
"no_probability": {
"type": [
"number",
"null"
]
},
"volume_total_usd": {
"type": [
"number",
"null"
]
},
"liquidity_usd": {
"type": [
"number",
"null"
]
},
"active": {
"type": "boolean"
},
"closed": {
"type": "boolean"
},
"sourceUrl": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string",
"format": "uri"
},
"retrievedAt": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
},
{
"id": "hacker-news",
"name": "hacker-news",
"description": "Read up to 20 current top Hacker News stories or a bounded story search. Return story IDs, titles, scores, comment counts and HN links; no users, comments, profiles or hiring text.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/hacker-news?query=compiler&maxItems=5"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Optional story search phrase; omit for current top stories.",
"maxLength": 150
},
"maxItems": {
"type": "string",
"description": "Integer from 1 through 20; package tools cap release/dependency metadata.",
"pattern": "^(?:[1-9]|1[0-9]|20)$",
"default": "10"
}
},
"required": []
},
"x-output-schema": {
"type": "object",
"properties": {
"rows": {
"type": "array",
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"id": {
"type": "number"
},
"title": {
"type": [
"string",
"null"
]
},
"points": {
"type": [
"number",
"null"
]
},
"num_comments": {
"type": [
"number",
"null"
]
},
"created_at": {
"type": "string"
},
"hn_url": {
"type": "string"
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string",
"format": "uri"
},
"retrievedAt": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
},
{
"id": "arxiv-papers",
"name": "arxiv-papers",
"description": "Search arXiv with one literal phrase and return up to 20 paper IDs, titles, categories, dates and source links. No authors, affiliations, abstracts or PDFs. Requests leave three seconds after completion.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/arxiv-papers?query=compiler+optimization&maxItems=5"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Literal research phrase; advanced query syntax is escaped.",
"maxLength": 200
},
"maxItems": {
"type": "string",
"description": "Integer from 1 through 20; package tools cap release/dependency metadata.",
"pattern": "^(?:[1-9]|1[0-9]|20)$",
"default": "10"
}
},
"required": [
"query"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"rows": {
"type": "array",
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"arxivId": {
"type": "string"
},
"versionId": {
"type": "string"
},
"version": {
"type": [
"number",
"null"
]
},
"title": {
"type": [
"string",
"null"
]
},
"published": {
"type": "string"
},
"updated": {
"type": "string"
},
"categories": {
"type": "array",
"maxItems": 20,
"items": {
"type": "string"
}
},
"primaryCategory": {
"type": [
"string",
"null"
]
},
"absUrl": {
"type": "string"
},
"pdfUrl": {
"type": "string"
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string",
"format": "uri"
},
"retrievedAt": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
},
{
"id": "openalex-papers",
"name": "openalex-papers",
"description": "Search up to 20 OpenAlex works for paper metadata, DOI, dates, citation counts and open-access status. CC0 metadata, no authors, ORCIDs or affiliations. Anonymous source allowance applies.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/openalex-papers?query=compiler+optimization&maxItems=5"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Work search phrase.",
"maxLength": 200
},
"maxItems": {
"type": "string",
"description": "Integer from 1 through 20; package tools cap release/dependency metadata.",
"pattern": "^(?:[1-9]|1[0-9]|20)$",
"default": "10"
}
},
"required": [
"query"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"rows": {
"type": "array",
"maxItems": 20,
"items": {
"type": "object",
"properties": {
"openalex_id": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"doi": {
"type": [
"string",
"null"
]
},
"publication_year": {
"type": [
"number",
"null"
]
},
"publication_date": {
"type": [
"string",
"null"
]
},
"cited_by_count": {
"type": [
"number",
"null"
]
},
"work_type": {
"type": [
"string",
"null"
]
},
"is_open_access": {
"type": [
"boolean",
"null"
]
},
"sourceUrl": {
"type": "string"
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string",
"format": "uri"
},
"retrievedAt": {
"type": "string",
"format": "date-time"
},
"license": {
"const": "CC0"
}
},
"additionalProperties": false
}
},
{
"id": "sec-edgar",
"name": "sec-edgar",
"description": "Read up to 50 recent corporate SEC filing index entries by ticker or CIK, optionally filtered by corporate form. No filing text, ownership forms or personal filers. Requires operator-configured SEC_USER_AGENT contact; SEC fair-access pacing applies.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/sec-edgar?company=AAPL&form=10-K&maxItems=5"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"company": {
"type": "string",
"description": "Corporate ticker or numeric CIK; optional CIK prefix.",
"maxLength": 20
},
"form": {
"type": "string",
"description": "Optional corporate form: 10-K, 10-Q, 8-K, 20-F, 40-F, 6-K, S-1, S-3, 424B2/3/4/5 or DEF 14A; /A amendments accepted.",
"maxLength": 10
},
"maxItems": {
"type": "string",
"description": "Integer from 1 through 50; package tools cap release/dependency metadata.",
"pattern": "^(?:[1-9]|[1-4][0-9]|50)$",
"default": "10"
}
},
"required": [
"company"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"rows": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"properties": {
"cik": {
"type": "string"
},
"ticker": {
"type": [
"string",
"null"
]
},
"company_name": {
"type": [
"string",
"null"
]
},
"form": {
"type": "string"
},
"filing_date": {
"type": "string"
},
"report_date": {
"type": [
"string",
"null"
]
},
"accession_number": {
"type": "string"
},
"filing_index_url": {
"type": "string"
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string",
"format": "uri"
},
"retrievedAt": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
},
{
"id": "earthquake-events",
"name": "earthquake-events",
"description": "Read up to 50 USGS earthquake summary events within an explicit date window of at most 90 days, optionally above a minimum magnitude. No event detail products or contact data.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/earthquake-events?startDate=2024-01-01&endDate=2024-01-03&minMagnitude=4&maxItems=5"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"startDate": {
"type": "string",
"description": "Inclusive source date boundary, YYYY-MM-DD; at most 90 days per query.",
"format": "date"
},
"endDate": {
"type": "string",
"description": "Inclusive source date boundary, YYYY-MM-DD; at most 90 days per query.",
"format": "date"
},
"minMagnitude": {
"type": "string",
"description": "Minimum magnitude from -10 through 10; default 0.",
"default": "0"
},
"maxItems": {
"type": "string",
"description": "Integer from 1 through 50; package tools cap release/dependency metadata.",
"pattern": "^(?:[1-9]|[1-4][0-9]|50)$",
"default": "10"
}
},
"required": [
"startDate",
"endDate"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"rows": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"properties": {
"eventId": {
"type": "string"
},
"timeUtc": {
"type": "string"
},
"magnitude": {
"type": [
"number",
"null"
]
},
"magnitudeType": {
"type": [
"string",
"null"
]
},
"eventType": {
"const": "earthquake"
},
"longitude": {
"type": "number"
},
"latitude": {
"type": "number"
},
"depthKm": {
"type": "number"
},
"location": {
"type": [
"string",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
},
"sourceUrl": {
"type": "string"
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string",
"format": "uri"
},
"retrievedAt": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
},
{
"id": "us-weather-forecast",
"name": "us-weather-forecast",
"description": "Read up to 14 NWS land forecast periods for decimal coordinates, with issued time, temperature, winds and precipitation probability. Only official NWS point and grid forecast URLs; no geocoding or address lookup.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/us-weather-forecast?latitude=39&longitude=-96&maxItems=3"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"latitude": {
"type": "string",
"description": "Decimal latitude from -90 through 90."
},
"longitude": {
"type": "string",
"description": "Decimal longitude from -180 through 180."
},
"maxItems": {
"type": "string",
"description": "Integer from 1 through 14; package tools cap release/dependency metadata.",
"pattern": "^(?:[1-9]|1[0-4])$",
"default": "7"
}
},
"required": [
"latitude",
"longitude"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"rows": {
"type": "array",
"maxItems": 14,
"items": {
"type": "object",
"properties": {
"latitude": {
"type": "number"
},
"longitude": {
"type": "number"
},
"periodNumber": {
"type": [
"number",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"startTime": {
"type": "string"
},
"endTime": {
"type": "string"
},
"isDaytime": {
"type": [
"boolean",
"null"
]
},
"temperature": {
"type": "number"
},
"temperatureUnit": {
"enum": [
"F",
"C"
]
},
"windSpeed": {
"type": [
"string",
"null"
]
},
"windDirection": {
"type": [
"string",
"null"
]
},
"precipitationProbability": {
"type": [
"number",
"null"
]
},
"shortForecast": {
"type": [
"string",
"null"
]
},
"issuedTime": {
"type": "string"
},
"sourceUrl": {
"type": "string"
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string",
"format": "uri"
},
"retrievedAt": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
},
{
"id": "pypi-packages",
"name": "pypi-packages",
"description": "Look up one exact PyPI package, current version, license, Python requirements and recent releases. maxItems caps releases and dependency strings at 50. No maintainers, contacts, long description, package downloads or PyPI search crawl.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/pypi-packages?package=requests&maxItems=5"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"package": {
"type": "string",
"description": "Exact PyPI package name; normalized per PEP 503.",
"maxLength": 100
},
"maxItems": {
"type": "string",
"description": "Integer from 1 through 50; package tools cap release/dependency metadata.",
"pattern": "^(?:[1-9]|[1-4][0-9]|50)$",
"default": "10"
}
},
"required": [
"package"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"rows": {
"type": "array",
"maxItems": 1,
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"version": {
"type": [
"string",
"null"
]
},
"summary": {
"type": [
"string",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"requires_python": {
"type": [
"string",
"null"
]
},
"requires_dist": {
"type": "array",
"maxItems": 50,
"items": {
"type": "string"
}
},
"release_count": {
"type": "number"
},
"releases": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"properties": {
"version": {
"type": [
"string",
"null"
]
},
"released_at": {
"type": [
"string",
"null"
]
},
"file_count": {
"type": "number"
},
"yanked": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string"
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string",
"format": "uri"
},
"retrievedAt": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
},
{
"id": "npm-packages",
"name": "npm-packages",
"description": "Look up one exact npm package including scoped names, latest version, license, publication times and capped dependency metadata. No maintainers, users, contacts, README, tarball or download calls.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/npm-packages?package=typescript&maxItems=5"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"package": {
"type": "string",
"description": "Exact lowercase npm package name, optionally @scope/name.",
"maxLength": 214
},
"maxItems": {
"type": "string",
"description": "Integer from 1 through 50; package tools cap release/dependency metadata.",
"pattern": "^(?:[1-9]|[1-4][0-9]|50)$",
"default": "10"
}
},
"required": [
"package"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"rows": {
"type": "array",
"maxItems": 1,
"items": {
"type": "object",
"properties": {
"package": {
"type": "string"
},
"version": {
"type": "string"
},
"versionCount": {
"type": "number"
},
"description": {
"type": [
"string",
"null"
]
},
"license": {
"type": [
"string",
"null"
]
},
"createdAt": {
"type": [
"string",
"null"
]
},
"modifiedAt": {
"type": [
"string",
"null"
]
},
"publishedAt": {
"type": [
"string",
"null"
]
},
"dependencies": {
"type": "object",
"maxProperties": 50,
"additionalProperties": {
"type": [
"string",
"null"
]
}
},
"dependencyCount": {
"type": "number"
},
"dependenciesTruncated": {
"type": "boolean"
},
"sourceUrl": {
"type": "string"
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string",
"format": "uri"
},
"retrievedAt": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
},
{
"id": "ecb-fx-rates",
"name": "ecb-fx-rates",
"description": "Read up to 50 daily ECB reference or same-day cross rates for one currency pair over at most 90 days. Quote units per base unit; no weekend interpolation or carry-forward. Reference data, not transaction quotes.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/ecb-fx-rates?startDate=2024-01-01&endDate=2024-01-03&baseCurrency=EUR¤cy=USD&maxItems=5"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"startDate": {
"type": "string",
"description": "Inclusive source date boundary, YYYY-MM-DD; at most 90 days per query.",
"format": "date"
},
"endDate": {
"type": "string",
"description": "Inclusive source date boundary, YYYY-MM-DD; at most 90 days per query.",
"format": "date"
},
"baseCurrency": {
"type": "string",
"description": "Three-letter base code; default EUR.",
"default": "EUR",
"pattern": "^[A-Za-z]{3}$"
},
"currency": {
"type": "string",
"description": "Three-letter quote code.",
"pattern": "^[A-Za-z]{3}$"
},
"maxItems": {
"type": "string",
"description": "Integer from 1 through 50; package tools cap release/dependency metadata.",
"pattern": "^(?:[1-9]|[1-4][0-9]|50)$",
"default": "10"
}
},
"required": [
"startDate",
"endDate",
"currency"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"rows": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"properties": {
"date": {
"type": "string"
},
"baseCurrency": {
"type": "string"
},
"quoteCurrency": {
"type": "string"
},
"rate": {
"type": [
"number",
"null"
]
},
"kind": {
"enum": [
"identity",
"reference",
"cross"
]
},
"status": {
"enum": [
"ok",
"missing"
]
},
"baseEurRate": {
"type": [
"number",
"null"
]
},
"quoteEurRate": {
"type": [
"number",
"null"
]
},
"source": {
"const": "ECB"
},
"sourceSeries": {
"type": "array",
"maxItems": 2,
"items": {
"type": "string"
}
},
"sourceUrls": {
"type": "array",
"maxItems": 2,
"items": {
"type": "string"
}
},
"observationStatus": {
"type": "object",
"maxProperties": 2,
"additionalProperties": {
"type": [
"string",
"null"
]
}
},
"errors": {
"type": "array",
"maxItems": 1,
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"sourceUrl": {
"type": "string",
"format": "uri"
},
"retrievedAt": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
}
},
{
"id": "web-snapshot",
"name": "web-snapshot",
"description": "Convert one operator-approved public technical HTML document to Markdown, without a browser or scripts. No personal pages. Hosts must be approved before use.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/web-snapshot?url=https%3A%2F%2Fdocs.example.com%2Fdocs%2Fguide"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "Absolute HTTPS document URL on an approved host; no query strings.",
"format": "uri"
}
},
"required": [
"url"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"markdown": {
"type": "string"
},
"format": {
"const": "markdown"
},
"browser": {
"const": false
},
"retrievedAt": {
"type": "string"
},
"scope": {
"type": "string"
}
},
"additionalProperties": false
}
},
{
"id": "domain-intel",
"name": "domain-intel",
"description": "One public domain: sanitized RDAP registration dates/status/nameservers, public DNS A/AAAA/MX/NS/CAA, and verified HTTPS availability. No contacts. Certificate details are unavailable on Workers.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/domain-intel?domain=example.com"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Public DNS domain, without a URL path or person/contact data.",
"maxLength": 253
}
},
"required": [
"domain"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"rdap": {
"type": "object"
},
"dns": {
"type": "object"
},
"ssl": {
"type": "object",
"properties": {
"valid": {
"type": [
"boolean",
"null"
]
},
"certificateDetails": {
"type": "null"
},
"probe": {
"type": "string"
},
"httpStatus": {
"type": [
"integer",
"null"
]
},
"limitation": {
"type": "string"
}
}
},
"retrievedAt": {
"type": "string"
}
},
"additionalProperties": false
}
},
{
"id": "software-support-lookup",
"name": "software-support-lookup",
"description": "Look up one exact endoflife.date product/release and project lifecycle dates and source flags. Explicit asOf computes daysToEol; boolean/unknown EOL values remain unchanged.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/software-support-lookup?product=python&release=3.13&asOf=2026-10-06"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"product": {
"type": "string",
"description": "endoflife.date product slug; e.g. python.",
"pattern": "^[a-z0-9][a-z0-9-]{0,99}$"
},
"release": {
"type": "string",
"description": "Exact source release identifier; e.g. 3.13.",
"maxLength": 100
},
"asOf": {
"type": "string",
"description": "Explicit calendar date used only for daysToEol.",
"format": "date"
}
},
"required": [
"product",
"release",
"asOf"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"product": {
"type": "string"
},
"release": {
"type": "string"
},
"asOf": {
"type": "string"
},
"releaseDate": {
"type": [
"string",
"null"
]
},
"latestVersion": {
"type": [
"string",
"null"
]
},
"latestDate": {
"type": [
"string",
"null"
]
},
"eoasFrom": {
"type": [
"string",
"boolean",
"null"
]
},
"eolFrom": {
"type": [
"string",
"boolean",
"null"
]
},
"isEoas": {
"type": [
"boolean",
"null"
]
},
"isEol": {
"type": [
"boolean",
"null"
]
},
"isMaintained": {
"type": [
"boolean",
"null"
]
},
"daysToEol": {
"type": [
"integer",
"null"
]
},
"sourceGeneratedAt": {
"type": "string"
},
"sourceUrl": {
"type": "string"
},
"error": {
"type": "null"
}
},
"additionalProperties": false
}
},
{
"id": "browser-feature-lookup",
"name": "browser-feature-lookup",
"description": "Look up one exact MDN BCD feature and browser against the actor pinned release and verified Git blob. Preserve support statements, arrays, false/null and unresolved mirrors; never infer versions.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/browser-feature-lookup?feature=api.AbortController&browser=chrome"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"feature": {
"type": "string",
"description": "Exact path in /browser-features.json; e.g. api.AbortController.",
"maxLength": 256
},
"browser": {
"type": "string",
"description": "Recorded BCD browser identifier; default chrome.",
"enum": [
"bun",
"chrome",
"chrome_android",
"deno",
"edge",
"firefox",
"firefox_android",
"ie",
"nodejs",
"oculus",
"opera",
"opera_android",
"safari",
"safari_ios",
"samsunginternet_android",
"webview_android",
"webview_ios"
],
"default": "chrome"
}
},
"required": [
"feature"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"featurePath": {
"type": "string"
},
"browser": {
"type": "string"
},
"versionAdded": {},
"versionRemoved": {},
"partialImplementation": {},
"flags": {},
"rawSupport": {},
"supportStatements": {
"type": "array",
"items": {
"type": "object"
}
},
"lookupStatus": {
"enum": [
"ok",
"unresolved_mirror"
]
},
"experimental": {
"type": [
"boolean",
"null"
]
},
"deprecated": {
"type": [
"boolean",
"null"
]
},
"standardTrack": {
"type": [
"boolean",
"null"
]
},
"error": {
"type": [
"object",
"null"
]
},
"sourceRelease": {
"type": "string"
},
"sourceCommit": {
"type": "string"
},
"sourceFile": {
"type": "string"
},
"sourceUrl": {
"type": "string"
},
"retrievedAt": {
"type": "string"
},
"license": {
"type": "string"
}
},
"additionalProperties": false
}
},
{
"id": "unicode-confusable-lookup",
"name": "unicode-confusable-lookup",
"description": "Look up one hexadecimal Unicode scalar in official UTS #39 confusables. Returns direct mapped/unmapped status and target sequence; accepts no personal text and makes no identifier-safety judgment.",
"tags": [
"data",
"deterministic",
"x402"
],
"examples": [
"https://agent-data-tools.grit-77.workers.dev/unicode-confusable-lookup?codepoint=0430&unicodeVersion=17.0.0"
],
"x-price-usdc": 0.01,
"x-input-schema": {
"type": "object",
"properties": {
"codepoint": {
"type": "string",
"description": "One hex scalar; optional U+ or 0x prefix; excludes surrogates.",
"maxLength": 8
},
"unicodeVersion": {
"type": "string",
"description": "Published Unicode security-data version or latest; response identifies actual version.",
"default": "latest"
}
},
"required": [
"codepoint"
]
},
"x-output-schema": {
"type": "object",
"properties": {
"sourceCodepoint": {
"type": "string"
},
"targetCodepoints": {
"type": "array",
"items": {
"type": "string"
}
},
"skeleton": {
"type": [
"string",
"null"
]
},
"mappingType": {
"type": [
"string",
"null"
]
},
"unicodeSecurityDataVersion": {
"type": "string"
},
"status": {
"enum": [
"mapped",
"unmapped"
]
},
"sourceUrl": {
"type": "string"
},
"scope": {
"type": "string"
},
"license": {
"type": "string"
}
},
"additionalProperties": false
}
}
],
"x-protocol": "x402-http-v2",
"x-openapi": "https://agent-data-tools.grit-77.workers.dev/openapi.json",
"x-payment": {
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
}
}