{"openapi":"3.1.0","info":{"title":"2s — the (most) everything API","version":"1","summary":"The (most) everything API.","description":"The (most) everything API for AI agents: 575+ pay-per-call endpoints on one origin. More live, ground-truth data than any other x402 service — public records, finance & SEC filings, crypto & web3, security & CVEs, legal, medical, weather, geocoding, and B2B/EDI. A full AI gateway: chat, image, and multi-model consensus across every major model, priced per request in the 402 before you pay. And agent infrastructure with no account: wallet-scoped storage (kv/docs/vectors/files), locks, queues, scheduled callbacks, pub/sub, and watchers that push signed webhooks when the world changes. Pay per call in USDC on Base or Solana via x402 — no API keys, no signup, no subscription. The first x402 API with upto billing: on AI endpoints, authorize the quoted max and settle only your actual usage. Try before you buy: add ?trial=1 (or header X-2s-Trial: 1) to any endpoint for one free real call per endpoint per hour — no wallet needed. New endpoints land constantly.","contact":{"name":"2s","url":"https://2s.io","email":"alley@2s.io"},"x-logo":{"url":"https://2s.io/icon-512.png","altText":"2s"},"x-guidance":"Pay-per-call REST API for AI agents — hundreds of endpoints returning ground-truth data (US public records, company & legal identifiers, finance/SEC, crypto/web3, security & CVEs, medical codes, weather & geocoding, agriculture, energy, maritime, music, and more). Every endpoint is paid per call in USDC via x402 (Base or Solana) — no API key, no signup. Call any endpoint with no auth to get a 402 PaymentRequirements envelope, sign it (EIP-3009 on Base, partial SPL transfer on Solana), and retry with the PAYMENT-SIGNATURE header. Add ?trial=1 for one free real call per endpoint per hour to test before paying. To discover the right endpoint: GET https://2s.io/api/directory for the full catalog, or GET https://2s.io/api/search/endpoints?q=<natural-language task> for a ranked match. Per-call price is on each operation as x-payment-info (from $0.001). Batch up to 50 calls behind one payment via POST https://2s.io/api/batch/run."},"servers":[{"url":"https://2s.io"}],"components":{"responses":{"BadRequest":{"description":"Bad request — invalid parameters."},"PaymentRequired":{"description":"Payment required. Body contains the x402 PaymentRequirements envelope with a multi-network accepts array; the per-call price is in accepts[].amount (and on the operation as x-2s-price). Sign for whichever rail you hold USDC on (EIP-3009 for Base, partial SPL transfer for Solana) and retry with the PAYMENT-SIGNATURE header (X-PAYMENT also accepted for v1 clients).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402PaymentRequiredV2"}}}},"MethodNotAllowed":{"description":"Method not allowed — see `Allow` header for the supported method."},"ServerError":{"description":"Internal server error."},"UpstreamError":{"description":"Upstream provider error."}},"parameters":{"TrialMode":{"name":"trial","in":"query","required":false,"description":"Try before you buy. Set to 1 for one free real call per endpoint per hour — no wallet or payment needed — to verify the endpoint before paying. Equivalent to sending the \"X-2s-Trial: 1\" request header. Works on every endpoint.","schema":{"type":"integer","enum":[1]}}},"securitySchemes":{"x402Payment":{"type":"apiKey","in":"header","name":"PAYMENT-SIGNATURE","description":"x402 protocol v2: base64-encoded PaymentPayload. Call any paid endpoint without auth to receive a 402 with a multi-network PaymentRequirements envelope. Sign for either rail: EIP-3009 transferWithAuthorization (Base USDC) OR a partial SPL token transfer (Solana USDC). Retry with PAYMENT-SIGNATURE header. X-PAYMENT is also accepted for v1 buyer clients. See https://x402.org."}},"schemas":{"Source":{"type":"object","description":"Provenance of the data: upstream provider, source URL, and license.","properties":{"provider":{"type":"string","description":"Upstream data provider."},"url":{"type":"string","description":"Source URL or documentation link."},"license":{"type":"string","description":"License / usage terms for the data."}}},"CallMeta":{"type":"object","description":"Per-call meta envelope — endpoint id, cost, caller kind, settlement details."},"X402PaymentRequiredV2":{"type":"object","description":"x402 v2 PaymentRequired envelope. Pick any entry from accepts[], sign for that rail, retry with the PAYMENT-SIGNATURE header.","required":["x402Version","accepts"],"properties":{"x402Version":{"type":"integer","const":2},"error":{"type":"string","description":"Human-readable reason payment is required."},"resource":{"type":"string","description":"The resource URL being purchased."},"accepts":{"type":"array","description":"Payment requirement options, one per supported network (Base USDC, Solana USDC).","items":{"type":"object","required":["scheme","network","amount","asset","payTo","maxTimeoutSeconds"],"properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string","description":"CAIP-2 network id, e.g. \"eip155:8453\" (Base) or \"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\"."},"amount":{"type":"string","description":"Price in atomic asset units (USDC has 6 decimals)."},"asset":{"type":"string","description":"Asset contract address / mint."},"payTo":{"type":"string","description":"Treasury address to pay."},"maxTimeoutSeconds":{"type":"integer"},"extra":{"type":"object","description":"Rail-specific extras (EVM: EIP-712 domain name/version; Solana: feePayer).","additionalProperties":true}}}},"extensions":{"type":"object","description":"Optional discovery metadata (e.g. bazaar input/output schemas).","additionalProperties":true}}}}},"paths":{"/api/sports/mlb-schedule":{"get":{"tags":["sports"],"summary":"MLB games for a date (and optionally one team), via the...","description":"MLB games for a date (and optionally one team), via the official MLB Stats API (free/keyless). Each game: gamePk, start time, detailed status (Scheduled/In Progress/Final), away and home team + score, and venue. Defaults to today when no date is given. Live scores + schedule for agents.","operationId":"sports_mlb-schedule","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = games.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"gamePk":{"nullable":true},"gameDate":{"nullable":true},"status":{"nullable":true},"awayTeam":{"nullable":true},"awayScore":{"type":"number","nullable":true},"homeTeam":{"nullable":true},"homeScore":{"type":"number","nullable":true},"venue":{"nullable":true}},"required":["awayScore","homeScore"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.mlb-schedule","x-2s-version":null,"x-2s-price":{"usd":0.0025},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002500"},"protocols":[{"x402":{}}]},"parameters":[{"name":"date","in":"query","required":false,"description":"YYYY-MM-DD; defaults to today.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"teamId","in":"query","required":false,"description":"MLB team id to filter to one club.","schema":{"type":"integer"}},{"$ref":"#/components/parameters/TrialMode"}]}},"/api/sports/mlb-standings":{"get":{"tags":["sports"],"summary":"MLB regular-season standings for a season (official MLB...","description":"MLB regular-season standings for a season (official MLB Stats API, free/keyless). Each team: wins, losses, win %, games back, division + league rank, and current streak. Defaults to the current season.","operationId":"sports_mlb-standings","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = team records.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"team":{"nullable":true},"wins":{"type":"number","nullable":true},"losses":{"type":"number","nullable":true},"winPct":{"nullable":true},"gamesBack":{"nullable":true},"divisionRank":{"nullable":true},"leagueRank":{"nullable":true},"streak":{"nullable":true}},"required":["wins","losses"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.mlb-standings","x-2s-version":null,"x-2s-price":{"usd":0.0025},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002500"},"protocols":[{"x402":{}}]},"parameters":[{"name":"season","in":"query","required":false,"description":"Season.","schema":{"type":"integer","minimum":1900,"maximum":2100}},{"$ref":"#/components/parameters/TrialMode"}]}},"/api/sports/nba-games":{"get":{"tags":["sports"],"summary":"NBA games from balldontlie - schedule and scores in one feed.","description":"NBA games from balldontlie — schedule and scores in one feed. Filter by season (start year), a single date, and/or team id. Each game: date, season, status, postseason flag, home/visitor teams and final (or live) scores. Cursor-paginated (pass meta.cursor as cursor to continue).","operationId":"sports_nba-games","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = NBA games; meta.cursor = next page (null when last).","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","nullable":true},"date":{"type":"string","nullable":true},"datetime":{"type":"string","nullable":true},"season":{"type":"number","nullable":true},"status":{"type":"string","nullable":true},"period":{"type":"number","nullable":true},"postseason":{"type":"boolean"},"home_team":{"nullable":true},"visitor_team":{"nullable":true},"home_team_score":{"type":"number","nullable":true},"visitor_team_score":{"type":"number","nullable":true}},"required":["id","date","datetime","season","status","period","postseason","home_team_score","visitor_team_score"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"},"meta":{"type":"object","properties":{"cursor":{"type":"string","nullable":true}},"required":["cursor"],"additionalProperties":false}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.nba-games","x-2s-version":null,"x-2s-price":{"usd":0.012},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.012000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"season","in":"query","required":false,"description":"Season start year, e.g. 2024 for the 2024-25 season.","schema":{"type":"integer","minimum":1946,"maximum":2100}},{"name":"date","in":"query","required":false,"description":"Single date, YYYY-MM-DD.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"team_id","in":"query","required":false,"description":"NBA team id (1–30).","schema":{"type":"integer","exclusiveMinimum":true,"minimum":0}},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor from a prior meta.cursor.","schema":{"type":"string","minLength":1}},{"name":"per_page","in":"query","required":false,"description":"Page size, 1–100 (default 25).","schema":{"type":"integer","minimum":1,"maximum":100}},{"$ref":"#/components/parameters/TrialMode"}]}},"/api/sports/nba-players":{"get":{"tags":["sports"],"summary":"NBA players from balldontlie - search by name and page...","description":"NBA players from balldontlie — search by name and page through results. Each player: id, name, position, height, weight, jersey number, college, country, draft year, and current team. Cursor-paginated (pass meta.cursor as cursor to continue).","operationId":"sports_nba-players","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = NBA players; meta.cursor = next page (null when last).","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","nullable":true},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"position":{"type":"string","nullable":true},"height":{"type":"string","nullable":true},"weight":{"type":"string","nullable":true},"jersey_number":{"type":"string","nullable":true},"college":{"type":"string","nullable":true},"country":{"type":"string","nullable":true},"draft_year":{"type":"number","nullable":true},"team":{"nullable":true}},"required":["id","first_name","last_name","position","height","weight","jersey_number","college","country","draft_year"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"},"meta":{"type":"object","properties":{"cursor":{"type":"string","nullable":true}},"required":["cursor"],"additionalProperties":false}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.nba-players","x-2s-version":null,"x-2s-price":{"usd":0.012},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.012000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"search","in":"query","required":false,"description":"Name search (first or last), e.g. \"james\".","schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor from a prior meta.cursor.","schema":{"type":"string","minLength":1}},{"name":"per_page","in":"query","required":false,"description":"Page size, 1–100 (default 25).","schema":{"type":"integer","minimum":1,"maximum":100}},{"$ref":"#/components/parameters/TrialMode"}]}},"/api/sports/nba-teams":{"get":{"tags":["sports"],"summary":"NBA teams from balldontlie - all 30 franchises with id...","description":"NBA teams from balldontlie — all 30 franchises with id, full name, abbreviation, conference, division, and city. Pass an optional team id to fetch a single team.","operationId":"sports_nba-teams","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = NBA teams; total = count.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","nullable":true},"full_name":{"type":"string","nullable":true},"abbreviation":{"type":"string","nullable":true},"conference":{"type":"string","nullable":true},"division":{"type":"string","nullable":true},"city":{"type":"string","nullable":true}},"required":["id","full_name","abbreviation","conference","division","city"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.nba-teams","x-2s-version":null,"x-2s-price":{"usd":0.012},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.012000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"id","in":"query","required":false,"description":"NBA team id (1–30). Omit to list all teams.","schema":{"type":"integer","exclusiveMinimum":true,"minimum":0}},{"$ref":"#/components/parameters/TrialMode"}]}},"/api/sports/nfl-games":{"get":{"tags":["sports"],"summary":"NFL games from balldontlie - schedule and scores in one feed.","description":"NFL games from balldontlie — schedule and scores in one feed. Filter by season, week, and/or team id. Each game: date, season, week, status, postseason flag, venue, recap summary, home/visitor teams and final (or live) scores. Cursor-paginated (pass meta.cursor as cursor to continue).","operationId":"sports_nfl-games","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = NFL games; meta.cursor = next page (null when last).","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","nullable":true},"date":{"type":"string","nullable":true},"season":{"type":"number","nullable":true},"week":{"type":"number","nullable":true},"status":{"type":"string","nullable":true},"postseason":{"type":"boolean"},"venue":{"type":"string","nullable":true},"summary":{"type":"string","nullable":true},"home_team":{"nullable":true},"visitor_team":{"nullable":true},"home_team_score":{"type":"number","nullable":true},"visitor_team_score":{"type":"number","nullable":true}},"required":["id","date","season","week","status","postseason","venue","summary","home_team_score","visitor_team_score"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"},"meta":{"type":"object","properties":{"cursor":{"type":"string","nullable":true}},"required":["cursor"],"additionalProperties":false}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.nfl-games","x-2s-version":null,"x-2s-price":{"usd":0.012},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.012000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"season","in":"query","required":false,"description":"Season year, e.g. 2024.","schema":{"type":"integer","minimum":1920,"maximum":2100}},{"name":"week","in":"query","required":false,"description":"Week number (regular + postseason).","schema":{"type":"integer","minimum":1,"maximum":30}},{"name":"team_id","in":"query","required":false,"description":"NFL team id.","schema":{"type":"integer","exclusiveMinimum":true,"minimum":0}},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor from a prior meta.cursor.","schema":{"type":"string","minLength":1}},{"name":"per_page","in":"query","required":false,"description":"Page size, 1–100 (default 25).","schema":{"type":"integer","minimum":1,"maximum":100}},{"$ref":"#/components/parameters/TrialMode"}]}},"/api/sports/nfl-players":{"get":{"tags":["sports"],"summary":"NFL players from balldontlie - search by name and page...","description":"NFL players from balldontlie — search by name and page through results. Each player: id, name, position, height, weight, jersey number, college, experience, age, and current team. Cursor-paginated (pass meta.cursor as cursor to continue).","operationId":"sports_nfl-players","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = NFL players; meta.cursor = next page (null when last).","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","nullable":true},"first_name":{"type":"string","nullable":true},"last_name":{"type":"string","nullable":true},"position":{"type":"string","nullable":true},"position_abbreviation":{"type":"string","nullable":true},"height":{"type":"string","nullable":true},"weight":{"type":"string","nullable":true},"jersey_number":{"type":"string","nullable":true},"college":{"type":"string","nullable":true},"experience":{"type":"string","nullable":true},"age":{"type":"number","nullable":true},"team":{"nullable":true}},"required":["id","first_name","last_name","position","position_abbreviation","height","weight","jersey_number","college","experience","age"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"},"meta":{"type":"object","properties":{"cursor":{"type":"string","nullable":true}},"required":["cursor"],"additionalProperties":false}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.nfl-players","x-2s-version":null,"x-2s-price":{"usd":0.012},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.012000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"search","in":"query","required":false,"description":"Name search (first or last), e.g. \"mahomes\".","schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor from a prior meta.cursor.","schema":{"type":"string","minLength":1}},{"name":"per_page","in":"query","required":false,"description":"Page size, 1–100 (default 25).","schema":{"type":"integer","minimum":1,"maximum":100}},{"$ref":"#/components/parameters/TrialMode"}]}},"/api/sports/nfl-teams":{"get":{"tags":["sports"],"summary":"NFL teams from balldontlie - all 32 franchises with id...","description":"NFL teams from balldontlie — all 32 franchises with id, full name, abbreviation, conference (AFC/NFC), division, and city. Pass an optional team id to fetch a single team.","operationId":"sports_nfl-teams","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = NFL teams; total = count.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"number","nullable":true},"full_name":{"type":"string","nullable":true},"abbreviation":{"type":"string","nullable":true},"conference":{"type":"string","nullable":true},"division":{"type":"string","nullable":true},"city":{"type":"string","nullable":true}},"required":["id","full_name","abbreviation","conference","division","city"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.nfl-teams","x-2s-version":null,"x-2s-price":{"usd":0.012},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.012000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"id","in":"query","required":false,"description":"NFL team id. Omit to list all teams.","schema":{"type":"integer","exclusiveMinimum":true,"minimum":0}},{"$ref":"#/components/parameters/TrialMode"}]}},"/api/sports/nhl-schedule":{"get":{"tags":["sports"],"summary":"Upcoming NHL game schedule for the week anchored on a date...","description":"Upcoming NHL game schedule for the week anchored on a date (official NHL api-web, free/keyless). Each game: id, date, start time (UTC), game state (FUT/LIVE/OFF), game type (Preseason/Regular Season/Playoffs), away and home team + abbreviation + score, venue, and TV broadcasts. Optionally filter to one team by 3-letter abbreviation (e.g. TOR). Defaults to the week starting today. Forward-looking matchups for scheduling agents — distinct from nhl-scores (single-day results).","operationId":"sports_nhl-schedule","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = games for the NHL week.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"nullable":true},"date":{"type":"string","nullable":true},"startTimeUTC":{"nullable":true},"gameState":{"nullable":true},"gameType":{"type":"string","nullable":true},"awayTeam":{"type":"string","nullable":true},"awayAbbrev":{"type":"string","nullable":true},"awayScore":{"type":"number","nullable":true},"homeTeam":{"type":"string","nullable":true},"homeAbbrev":{"type":"string","nullable":true},"homeScore":{"type":"number","nullable":true},"venue":{"type":"string","nullable":true},"broadcasts":{"type":"array","items":{"type":"object","properties":{"country":{"type":"string","nullable":true},"network":{"type":"string","nullable":true}},"required":["country","network"],"additionalProperties":false}}},"required":["date","gameType","awayTeam","awayAbbrev","awayScore","homeTeam","homeAbbrev","homeScore","venue","broadcasts"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.nhl-schedule","x-2s-version":null,"x-2s-price":{"usd":0.0025},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002500"},"protocols":[{"x402":{}}]},"parameters":[{"name":"date","in":"query","required":false,"description":"YYYY-MM-DD anchor; returns that day plus the rest of the NHL game week. Defaults to today.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"team","in":"query","required":false,"description":"3-letter NHL team abbreviation to filter to one club (e.g. TOR, BOS, EDM).","schema":{"type":"string","minLength":2,"maxLength":3}},{"$ref":"#/components/parameters/TrialMode"}]}},"/api/sports/nhl-scores":{"get":{"tags":["sports"],"summary":"NHL scores and games for a date (official NHL api-web...","description":"NHL scores and games for a date (official NHL api-web, free/keyless). Each game: id, game state (FUT/LIVE/FINAL), start time, away and home team + score. Defaults to today.","operationId":"sports_nhl-scores","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = games.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"id":{"nullable":true},"gameState":{"nullable":true},"startTimeUTC":{"nullable":true},"awayTeam":{"type":"string","nullable":true},"awayScore":{"type":"number","nullable":true},"homeTeam":{"type":"string","nullable":true},"homeScore":{"type":"number","nullable":true}},"required":["awayTeam","awayScore","homeTeam","homeScore"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.nhl-scores","x-2s-version":null,"x-2s-price":{"usd":0.0025},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002500"},"protocols":[{"x402":{}}]},"parameters":[{"name":"date","in":"query","required":false,"description":"YYYY-MM-DD; defaults to today.","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"$ref":"#/components/parameters/TrialMode"}]}},"/api/sports/nhl-standings":{"get":{"tags":["sports"],"summary":"Current NHL standings (official NHL api-web, free/keyless).","description":"Current NHL standings (official NHL api-web, free/keyless). Each team: conference, division, games played, wins, losses, OT losses, points, goal differential, and current streak.","operationId":"sports_nhl-standings","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"Normalized: items = team standings.","content":{"application/json":{"schema":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"items":{"type":"array","items":{"type":"object","properties":{"team":{"type":"string","nullable":true},"abbrev":{"type":"string","nullable":true},"conference":{"nullable":true},"division":{"nullable":true},"gamesPlayed":{"type":"number","nullable":true},"wins":{"type":"number","nullable":true},"losses":{"type":"number","nullable":true},"otLosses":{"type":"number","nullable":true},"points":{"type":"number","nullable":true},"goalDiff":{"type":"number","nullable":true},"streak":{"type":"string","nullable":true}},"required":["team","abbrev","gamesPlayed","wins","losses","otLosses","points","goalDiff","streak"],"additionalProperties":false}},"total":{"type":"integer","nullable":true,"description":"Total matching rows upstream; null when unknown."},"source":{"$ref":"#/components/schemas/Source"}},"required":["ok","items","total","source"],"additionalProperties":false},"meta":{"$ref":"#/components/schemas/CallMeta"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"402":{"$ref":"#/components/responses/PaymentRequired"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"500":{"$ref":"#/components/responses/ServerError"},"502":{"$ref":"#/components/responses/UpstreamError"}},"x-2s-id":"sports.nhl-standings","x-2s-version":null,"x-2s-price":{"usd":0.0025},"x-2s-accepts":["x402"],"x-2s-response-shape":"normalized","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002500"},"protocols":[{"x402":{}}]},"parameters":[{"$ref":"#/components/parameters/TrialMode"}]}}}}