{"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/barcode/generate":{"post":{"tags":["barcode"],"summary":"Generate QR / Aztec / Data Matrix / PDF417 codes from...","description":"Generate QR / Aztec / Data Matrix / PDF417 codes from structured payloads (url, wifi, vcard, vevent, email, sms, tel, geo, bitcoin, json, text). QR supports rounded or dotted modules, solid colors or linear/radial gradients, transparent backgrounds, configurable error correction, and a centered logo image (URL or data URI).","operationId":"barcode_generate","deprecated":false,"security":[{"x402Payment":[]}],"responses":{"200":{"description":"OK"},"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":"barcode.generate","x-2s-version":null,"x-2s-price":{"usd":0.0025},"x-2s-accepts":["x402"],"x-2s-response-shape":"legacy","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002500"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"format":{"type":"string","enum":["qr","aztec","datamatrix","pdf417"],"default":"qr","description":"Format."},"data":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","enum":["text"],"description":"Filter results by type."},"text":{"type":"string","minLength":1,"maxLength":2000,"description":"Text."}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["url"],"description":"Filter results by type."},"url":{"type":"string","format":"uri","maxLength":2000,"description":"URL to process."}},"required":["type","url"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["email"],"description":"Filter results by type."},"to":{"type":"string","format":"email","description":"End of the range."},"subject":{"type":"string","maxLength":200,"description":"Subject."},"body":{"type":"string","maxLength":1000,"description":"Body."}},"required":["type","to"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["sms"],"description":"Filter results by type."},"to":{"type":"string","minLength":1,"maxLength":50,"description":"End of the range."},"body":{"type":"string","maxLength":1000,"description":"Body."}},"required":["type","to"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["phone"],"description":"Filter results by type."},"number":{"type":"string","minLength":1,"maxLength":50,"description":"Item number or identifier."}},"required":["type","number"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["wifi"],"description":"Filter results by type."},"ssid":{"type":"string","minLength":1,"maxLength":100,"description":"Ssid."},"password":{"type":"string","maxLength":200,"description":"Password."},"security":{"type":"string","enum":["WPA","WEP","none"],"description":"Security."},"hidden":{"type":"boolean","description":"Hidden."}},"required":["type","ssid"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["vcard"],"description":"Filter results by type."},"name":{"type":"string","minLength":1,"maxLength":200,"description":"Name to search for."},"firstName":{"type":"string","maxLength":100,"description":"First name to filter by."},"lastName":{"type":"string","maxLength":100,"description":"Last name to filter by."},"phone":{"type":"string","maxLength":50,"description":"Phone."},"email":{"type":"string","format":"email","description":"Email."},"org":{"type":"string","maxLength":200,"description":"Org."},"title":{"type":"string","maxLength":200,"description":"Title to search for."},"url":{"type":"string","format":"uri","description":"URL to process."},"note":{"type":"string","maxLength":500,"description":"Note."}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["geo"],"description":"Filter results by type."},"lat":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude in decimal degrees (WGS84)."},"lon":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude in decimal degrees (WGS84)."},"altitude":{"type":"number","description":"Altitude."}},"required":["type","lat","lon"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["bitcoin"],"description":"Filter results by type."},"address":{"type":"string","minLength":1,"maxLength":100,"description":"Street address or full address string."},"amount":{"type":"number","exclusiveMinimum":true,"minimum":0,"description":"Amount."},"label":{"type":"string","maxLength":200,"description":"Label."},"message":{"type":"string","maxLength":500,"description":"Message."}},"required":["type","address"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["calendar"],"description":"Filter results by type."},"title":{"type":"string","minLength":1,"maxLength":200,"description":"Title to search for."},"start":{"type":"string","format":"date-time","description":"Start."},"end":{"type":"string","format":"date-time","description":"End."},"location":{"type":"string","maxLength":200,"description":"Location."},"description":{"type":"string","maxLength":1000,"description":"Description."}},"required":["type","title","start","end"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","enum":["json"],"description":"Filter results by type."},"value":{"description":"Value."}},"required":["type"],"additionalProperties":false}],"description":"Data."},"output":{"type":"string","enum":["svg","png","dataurl"],"default":"svg","description":"Output."},"size":{"type":"integer","minimum":64,"maximum":4096,"default":512,"description":"Size."},"margin":{"type":"integer","minimum":0,"maximum":16,"default":4,"description":"Margin."},"errorCorrection":{"type":"string","enum":["L","M","Q","H"],"default":"M","description":"L=~7%, M=~15%, Q=~25%, H=~30% recoverable damage (QR only)."},"style":{"type":"object","properties":{"modules":{"type":"string","enum":["square","rounded","dots"],"description":"Modules."},"foreground":{"anyOf":[{"type":"string"},{"type":"object","properties":{"type":{"type":"string","enum":["linear","radial"],"description":"Gradient type."},"stops":{"type":"array","items":{"type":"object","properties":{"offset":{"type":"number","minimum":0,"maximum":1,"description":"Number of results to skip before returning (pagination offset)."},"color":{"type":"string","description":"Color."}},"required":["offset","color"],"additionalProperties":false},"minItems":2,"maxItems":10,"description":"Stops."},"rotation":{"type":"number","description":"Linear gradient rotation in degrees."}},"required":["type","stops"],"additionalProperties":false}],"description":"Foreground."},"background":{"type":"string","description":"CSS color or \"transparent\"."},"logo":{"type":"object","properties":{"source":{"type":"string","description":"https:// URL or data: URI. QR only."},"sizePct":{"type":"number","minimum":0.05,"maximum":0.4,"description":"Size pct."},"padding":{"type":"number","minimum":0,"maximum":32,"description":"Padding."},"background":{"type":"string","description":"Background."},"cornerRadius":{"type":"number","minimum":0,"maximum":64,"description":"Corner radius."}},"required":["source"],"additionalProperties":false,"description":"Logo."}},"additionalProperties":false,"description":"Style."}},"required":["data"],"additionalProperties":false}}}},"parameters":[{"$ref":"#/components/parameters/TrialMode"}]}}}}