{
 "name": "Agent Exchange Trends",
 "description": "Hourly trending lists from Google Trends (US, GB, CA, AU, IN, DE, FR, BR, JP, MX), English Wikipedia (most read yesterday) and the Hacker News front page as keyless JSON with first_seen, hours_trending, peak_rank and rank_history per item, day files and a per-topic index that accumulate from the first run. Free within 7 days; older archive paid per call in USDC via x402.",
 "url": "https://trends.agentexchange.work/a2a",
 "preferredTransport": "JSONRPC",
 "protocolVersion": "0.3.0",
 "additionalInterfaces": [
  {
   "url": "https://trends.agentexchange.work/a2a",
   "transport": "JSONRPC"
  }
 ],
 "version": "2026-09",
 "documentationUrl": "https://trends.agentexchange.work/llms.txt",
 "provider": {
  "organization": "Agent Exchange",
  "url": "https://agentexchange.work"
 },
 "capabilities": {
  "streaming": false,
  "pushNotifications": false,
  "stateTransitionHistory": false,
  "extensions": [
   {
    "uri": "https://x402.org",
    "description": "x402 payments: USDC on Base (eip155:8453) to 0xc91cE6291eDC0713ec753BAFBA002506ffb2b95c; an unpaid request to a paid route answers 402 with the terms; manifest https://trends.agentexchange.work/.well-known/x402",
    "required": false
   },
   {
    "uri": "https://github.com/google-a2a/a2a-x402/v0.1",
    "description": "a2a-x402 v0.1 (https://github.com/google-agentic-commerce/a2a-x402/blob/main/spec/v0.1): paid skills answer an input-required task with x402.payment.required (the same accepts[] as the HTTP 402); reply on the task with x402.payment.status payment-submitted and x402.payment.payload to verify, settle and run. Free skills complete at once.",
    "required": false,
    "params": {
     "spec": "https://github.com/google-agentic-commerce/a2a-x402/blob/main/spec/v0.1",
     "endpoint": "https://trends.agentexchange.work/a2a"
    }
   }
  ]
 },
 "defaultInputModes": [
  "text/plain",
  "application/json"
 ],
 "defaultOutputModes": [
  "application/json",
  "text/html",
  "application/atom+xml"
 ],
 "license": "Derived fields CC BY 4.0; items attributed to their sources",
 "x-mcp": {
  "transport": "streamable-http",
  "url": "https://trends.agentexchange.work/mcp",
  "tools": [
   "trending_now",
   "topic_history",
   "day_archive"
  ]
 },
 "x-openapi": "https://trends.agentexchange.work/openapi.json",
 "x-x402": "https://trends.agentexchange.work/.well-known/x402",
 "skills": [
  {
   "id": "trending_now",
   "name": "Trending now on one list",
   "description": "GET https://trends.agentexchange.work/trends/latest/<geo>.json (geo: US, GB, CA, AU, IN, DE, FR, BR, JP, MX, WIKI, HN) returns the current list: rank, title, slug, source link, approx_traffic (Google) or score (Wikipedia views, Hacker News points) and comments, first_seen, hours_trending (WIKI: days_trending), peak_rank, rank_history, rising (entered this hour) and persistent (6 hours or more). Same via MCP tool trending_now(geo). Free, CORS open, cached 5 minutes.",
   "tags": [
    "trends",
    "google-trends",
    "wikipedia",
    "hacker-news",
    "json",
    "free"
   ],
   "examples": [
    "https://trends.agentexchange.work/trends/latest/US.json",
    "https://trends.agentexchange.work/trends/latest.json?geo=HN"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/json"
   ]
  },
  {
   "id": "topic_history",
   "name": "Where and when a topic trended",
   "description": "GET https://trends.agentexchange.work/trends/topic/<slug>.json returns every (day, list) appearance of one topic in the last 7 days with entry, peak and last rank, first and last seen and counts (slug = item.slug from any list). The full record beyond 7 days is https://trends.agentexchange.work/trends/topic/<slug>/history.json ($0.05 USDC via x402). MCP tool topic_history(slug).",
   "tags": [
    "trends",
    "topic",
    "history",
    "json"
   ],
   "examples": [
    "https://trends.agentexchange.work/trends/topic/example-topic.json"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "text/html"
   ]
  },
  {
   "id": "day_archive",
   "name": "Everything that trended on a day",
   "description": "GET https://trends.agentexchange.work/trends/day/<YYYY-MM-DD>/<geo>.json returns every item that trended on that list that UTC day (WIKI: the pageviews day) with first_seen, last_seen, entry_rank, peak_rank, last_rank, runs_seen and source links. Free for the last 7 days; older day files answer 402 and cost $0.01 USDC each via x402; 404 before payment when no file exists. MCP tool day_archive(date, geo) within the free window.",
   "tags": [
    "trends",
    "archive",
    "json",
    "x402"
   ],
   "examples": [
    "https://trends.agentexchange.work/trends/day/2026-10-17/US.json"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/json"
   ]
  },
  {
   "id": "archive_range",
   "name": "Up to 90 archived days in one response",
   "description": "GET https://trends.agentexchange.work/trends/archive/<geo>/<from>/<to>.json returns up to 90 day files of one list in one JSON response for $0.25 USDC via x402 (402 with accepts[]; sign and resend with X-PAYMENT). Ranges before the first run answer 404 without charge; days without a file are listed under missing.",
   "tags": [
    "trends",
    "archive",
    "bulk",
    "x402"
   ],
   "examples": [
    "https://trends.agentexchange.work/trends/archive/US/2026-10-01/2026-12-29.json"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/json"
   ]
  },
  {
   "id": "new_entries_feed",
   "name": "Atom feed of new entries",
   "description": "GET https://trends.agentexchange.work/trends/feed.xml?geo=<geo> is an Atom feed of items that entered a trending list in the last 24 hours (omit geo for all lists); each entry links to the topic page and, via rel=\"via\", to the source.",
   "tags": [
    "feed",
    "atom",
    "trends"
   ],
   "examples": [
    "https://trends.agentexchange.work/trends/feed.xml?geo=US"
   ],
   "inputModes": [
    "text/plain"
   ],
   "outputModes": [
    "application/atom+xml"
   ]
  },
  {
   "id": "topic_history_full",
   "name": "Full history of a topic ($0.05)",
   "description": "GET https://trends.agentexchange.work/trends/topic/<slug>/history.json returns every (day, list) appearance of one topic beyond the free 7-day window, joined from the day files, for $0.05 USDC via x402. Over A2A: skill \"topic_history_full\", input {slug}; the unpaid call answers input-required with the same x402 terms as the HTTP 402.",
   "tags": [
    "trends",
    "topic",
    "history",
    "x402",
    "paid"
   ],
   "examples": [
    "GET https://trends.agentexchange.work/trends/topic/penguins-vs-flyers/history.json",
    "A2A message/send DataPart {\"skill\":\"topic_history_full\",\"input\":{\"slug\":\"penguins-vs-flyers\"}}"
   ],
   "inputModes": [
    "application/json",
    "text/plain"
   ],
   "outputModes": [
    "application/json"
   ]
  },
  {
   "id": "pricing",
   "name": "Prices and payable routes (free)",
   "description": "The x402 manifest (GET https://trends.agentexchange.work/.well-known/x402): every paid route with its price, network, asset and payTo, plus the free routes. Over A2A: skill \"pricing\" completes at once.",
   "tags": [
    "pricing",
    "x402",
    "free"
   ],
   "examples": [
    "GET https://trends.agentexchange.work/.well-known/x402",
    "A2A message/send DataPart {\"skill\":\"pricing\"}"
   ],
   "inputModes": [
    "application/json",
    "text/plain"
   ],
   "outputModes": [
    "application/json"
   ]
  },
  {
   "id": "paid-listing",
   "name": "Paid listing on trends.agentexchange.work ($1.00 USDC, 30 days)",
   "description": "POST https://trends.agentexchange.work/listings with JSON { url (https), name (<=80 chars), description? (<=200 chars), payTo? } answers HTTP 402 with x402 v1 payment requirements (scheme exact, network base / eip155:8453, asset USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913, maxAmountRequired 1000000 = $1.00, payTo 0xc91cE6291eDC0713ec753BAFBA002506ffb2b95c); resend with X-PAYMENT to list the URL for 30 days on https://trends.agentexchange.work/listings; 201 returns the listing and X-PAYMENT-RESPONSE. Same nonce twice -> 409. Free: GET https://trends.agentexchange.work/listings.json (current listings, terms and the host's dated crawler-attention numbers). No crawler-attention measurement has been supplied for this host, so none is claimed.",
   "tags": [
    "listing",
    "directory",
    "x402",
    "usdc",
    "base",
    "paid",
    "trends"
   ],
   "examples": [
    "POST https://trends.agentexchange.work/listings {\"url\":\"https://yourservice.example/\",\"name\":\"Your service\",\"description\":\"One line\"}",
    "GET https://trends.agentexchange.work/listings.json"
   ],
   "inputModes": [
    "application/json"
   ],
   "outputModes": [
    "application/json",
    "text/html"
   ]
  }
 ]
}