{"openapi":"3.1.0","info":{"title":"Quant Agent Shop API","version":"1.0.0","x-guidance":"POST JSON to a /v1 route. Without payment it answers 402 with x402 terms (USDC on Base); pay and retry with the PAYMENT-SIGNATURE header. Use /v1/web-search for links, /v1/fetch-page to read one page, /v1/research-answer for a cited answer, /v1/pdf/* for PDFs. Calls that fail (4xx or 5xx) are not charged. Each signed payment buys one call (a reused one gets 409); sign with at least 90 s validity; one paid call at a time per payer (429 payer_busy otherwise). GET /v1/sample is free.","termsOfService":"https://quantagentshop.com/policies","x-guarantees":["You pay only for a result: a call that fails (any 4xx or 5xx answer) is never settled, so no money moves.","One signed payment buys exactly one call; a reused payment is refused with 409.","The price is fixed per route and shown in the 402 before you pay; it never changes mid-call.","Your request and result are not stored; the only record kept is the payment (payer address, route, price, status, transaction).","Pages are fetched only from public addresses; private, internal and cloud-metadata addresses are refused."],"contact":{"name":"Quant Agent Shop","email":"johnlenontaken@gmail.com"}},"paths":{"/v1/web-search":{"post":{"summary":"Web Search","operationId":"web_search_v1_web_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"query":"x402 payment protocol facilitator fees","results":[{"position":1,"title":"x402 - Payment Required","url":"https://www.x402.org/","snippet":"An open protocol for internet-native payments...","date":null}],"source":"Google web results","searched_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Web search. Send a query; returns up to 20 ranked Google web results with title, URL, snippet and date where known. Use when an agent needs links to read or to check what exists on the web. Not for reading page content (use /v1/fetch-page) or for a written answer (use /v1/research-answer). Typical response 1 to 2 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.004000"}}}},"/v1/fetch-page":{"post":{"summary":"Fetch Page","operationId":"fetch_page_v1_fetch_page_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FetchIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"url":"https://www.x402.org/","final_url":"https://www.x402.org/","title":"x402","format":"markdown","content":"# x402\n\nAn open protocol for internet-native payments...","truncated":false,"chars":1830,"fetched_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Page fetch. Send a public URL; returns the page title and its main content as clean Markdown or plain text, with navigation, scripts and ads removed. Use to read an article, docs page or listing. Not for pages behind logins, PDFs or images; no JavaScript rendering. Reads the first 1 MB of a page. Social networks (Facebook, Instagram, LinkedIn, X, Reddit, YouTube, TikTok and similar) are refused. Typical response under 2 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002000"}}}},"/v1/research-answer":{"post":{"summary":"Research","operationId":"research_v1_research_answer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResearchIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"question":"What fee does the Coinbase CDP facilitator charge per x402 payment?","answer":"The first 1,000 payments a month are free, then each costs $0.001 [1].","sources":[{"n":1,"url":"https://docs.cdp.coinbase.com/x402/welcome","title":"x402","read_at":"2026-10-22T09:00:00+00:00","cited":true}]}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Cited research answer. Send one question; returns a 120 to 300 word answer with numbered [n] citations and the source URLs read, each with the time it was read. Searches the web, or reads only the urls you pass. Suited to an agent that needs a sourced answer it can show a person. Not for raw result lists or pages behind logins. Typical response 5 to 12 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.009000"}}}},"/v1/pdf/from-markdown":{"post":{"summary":"Pdf Md","operationId":"pdf_md_v1_pdf_from_markdown_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PdfMarkdownIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"filename":"weekly-report.pdf","content_type":"application/pdf","bytes":1840,"pdf_base64":"JVBERi0xLjMK...","created_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Markdown to PDF. Send Markdown (headings, lists, tables, links, bold, italic); returns an A4 PDF as base64 in JSON. Use to hand a person a printable report or invoice-style page. Images and raw HTML are not rendered. Up to 50,000 characters. Typical response under 1 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.003000"}}}},"/v1/pdf/from-brief":{"post":{"summary":"Pdf Brief","operationId":"pdf_brief_v1_pdf_from_brief_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PdfBriefIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"filename":"holiday-weekend-checklist.pdf","content_type":"application/pdf","bytes":3120,"pdf_base64":"JVBERi0xLjMK...","markdown":"# Holiday weekend checklist\n...","created_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Brief to PDF. Send a short brief; returns a 400 to 900 word document written from it, laid out as an A4 PDF (base64 in JSON) plus the Markdown text. Use for a one-page explainer, memo or checklist. It uses only the facts in the brief and general knowledge; no web search. Typical response 5 to 15 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.006000"}}}},"/v1/pdf/from-url":{"post":{"summary":"Pdf Url","operationId":"pdf_url_v1_pdf_from_url_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PdfUrlIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"filename":"x402.pdf","content_type":"application/pdf","bytes":5210,"pdf_base64":"JVBERi0xLjMK...","source_url":"https://www.x402.org/","created_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Web page to PDF. Send a public URL; returns the page's main content as a clean A4 PDF (base64 in JSON), text and tables only, without navigation or ads. Use to archive or share an article. No JavaScript rendering, images or pages behind logins. Social networks (Facebook, Instagram, LinkedIn, X, Reddit, YouTube, TikTok and similar) are refused. Typical response under 3 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.003000"}}}},"/v1/web-search-batch":{"post":{"summary":"Web Search Batch","operationId":"web_search_batch_v1_web_search_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchSearchIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"results":[{"query":"x402 facilitator fees","results":[{"position":1,"title":"x402 - Payment Required","url":"https://www.x402.org/","snippet":"An open protocol for internet-native payments...","date":null}]},{"query":"base usdc transfer gas cost","results":[{"position":1,"title":"Network fees","url":"https://docs.base.org/base-chain/network-information/network-fees","snippet":"Fees on Base have two parts...","date":null}]}],"queries":2,"source":"Google web results via Serper","searched_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Batch Google web search. Send 1 to 10 queries in one call; returns up to 10 ranked results per query (title, URL, snippet, date) in the order sent, for one flat price. Cheaper than /v1/web-search from 3 queries; for 1 or 2 use /v1/web-search. Typical response 2 to 4 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.011500"}}}},"/v1/news-search":{"post":{"summary":"News Search","operationId":"news_search_v1_news_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"query":"x402 agent payments","results":[{"position":1,"title":"Agent payments over x402 pass a new milestone","url":"https://news.example.com/x402-milestone","source":"Example News","date":"2 days ago","published_at":"2026-10-20T09:00:00+00:00","snippet":"Machine-to-machine payments using HTTP 402...","image_url":null}],"source":"Google News results via Serper","searched_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"News search. Send a query; returns up to 10 Google News articles with title, URL, publisher, date and snippet, optionally limited to the last hour, day, week, month or year and to a country and language. Use to find recent coverage of a topic, company or event. Not for full article text (use /v1/fetch-page). Typical response about 1 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002200"}}}},"/v1/places-search":{"post":{"summary":"Places Search","operationId":"places_search_v1_places_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlacesIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"query":"coffee roasters in Portland OR","results":[{"position":1,"name":"Example Coffee Roasters","address":"123 SE Example St, Portland, OR 97214","lat":45.5122,"lng":-122.6587,"rating":4.7,"rating_count":812,"category":"Coffee roasters","phone":"(503) 555-0100","website":"https://example-coffee.com/","cid":"1234567890123456789"}],"source":"Google Maps listings via Serper","searched_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Local business search. Send what and where in one query, such as coffee roasters in Portland OR; returns up to 20 Google Maps business listings with name, address, coordinates, category, rating and review count, phone and website. Use to find or compare local businesses. Business listings only, not for finding people. Typical response about 1 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002200"}}}},"/v1/patent-search":{"post":{"summary":"Patent Search","operationId":"patent_search_v1_patent_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatentIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"query":"solid state battery electrolyte sulfide","results":[{"position":1,"title":"Sulfide solid electrolyte and battery","url":"https://patents.google.com/patent/US0000000B2/en","snippet":"A sulfide solid electrolyte having high ionic conductivity...","publication_number":"US0000000B2","priority_date":"2019-03-12","filing_date":"2020-03-10","grant_date":"2023-05-02","publication_date":"2023-05-02","inventor":"A. Inventor","assignee":"Example Corp","language":"en","pdf_url":"https://patentimages.storage.googleapis.com/example.pdf","thumbnail_url":null}],"source":"Google Patents results via Serper","searched_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Patent search. Send keywords, a technology description or an assignee name; returns up to 10 Google Patents results with title, publication number, priority, filing, grant and publication dates, inventor, assignee, snippet and PDF link. Use for prior-art scans and competitor patent checks. Not legal advice. Typical response about 1 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002500"}}}},"/v1/shopping-search":{"post":{"summary":"Shopping Search","operationId":"shopping_search_v1_shopping_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShoppingIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"query":"usb-c hub 4k hdmi","results":[{"position":1,"title":"7-in-1 USB-C Hub with 4K HDMI","merchant":"Example Store","url":"https://www.example-store.com/hub","price_text":"$29.99","price_amount":29.99,"currency":"USD","delivery":"Free delivery","rating":4.6,"rating_count":1520,"product_id":"1234567890","image_url":null}],"source":"Google Shopping results via Serper","searched_at":"2026-10-22T09:00:00+00:00","notice":"Prices as listed at searched_at; check the merchant page before buying."}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Product search. Send a product query; returns up to 40 Google Shopping offers with title, merchant, price (text plus parsed amount and currency), delivery, rating and link. Use to compare prices or find where a product is sold. Not for stock levels or buying. Prices are as listed at search time and may change. Typical response 1 to 2 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.003200"}}}},"/v1/paper-search":{"post":{"summary":"Paper Search","operationId":"paper_search_v1_paper_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaperIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"query":"is attention all you need","total":1843,"results":[{"doi":"10.1007/978-3-031-84300-6_13","url":"https://doi.org/10.1007/978-3-031-84300-6_13","title":"Is Attention All You Need?","authors":["A. Author","B. Author"],"author_count":2,"year":2025,"venue":"Example Proceedings","type":"book-chapter","cited_by":55}],"source":"Crossref metadata"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Scholarly paper search. Send a topic or title, or one DOI; returns up to 20 published works with title, authors, year, journal or venue, type, DOI link and citation count from Crossref. Use to find and cite papers. Metadata only, no abstracts or full text. Typical response 1 to 2 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001300"}}}},"/v1/sanctions-screen":{"post":{"summary":"Sanctions Screen","operationId":"sanctions_screen_v1_sanctions_screen_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SanctionsIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"query":"Banco Nacional de Cuba","query_type":"name","matches":[{"uid":"306","name":"BANCO NACIONAL DE CUBA","matched_name":"BANCO NACIONAL DE CUBA","type":"entity","programs":["CUBA"],"list":"OFAC SDN","score":1.0,"remarks":"a.k.a. 'BNC'."}],"lists":["OFAC SDN","OFAC Consolidated (non-SDN)"],"list_downloaded_at":"2026-10-22T03:15:04+00:00","screened_at":"2026-10-22T09:00:00+00:00","notice":"Screening aid, not a compliance determination. No match does not clear a party. Source: US Treasury OFAC lists (US government work)."}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Sanctions screening against the US Treasury OFAC SDN and Consolidated lists. Send a person, company or vessel name (fuzzy match on names and aliases, with scores) or a crypto wallet address (exact match against addresses OFAC lists). Returns matching entries with program, list, score and list date. Use as a first screen before a payment or onboarding. A screening aid, not a compliance determination. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001300"}}}},"/v1/sec-filings":{"post":{"summary":"Sec Filings","operationId":"sec_filings_v1_sec_filings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"company":"Apple Inc.","cik":"0000320193","tickers":["AAPL"],"sic":"3571","sic_description":"Electronic Computers","filings":[{"form":"10-K","filed":"2025-10-31","period":"2025-09-27","accession":"0000320193-25-000079","description":"10-K","primary_doc_url":"https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/aapl-20250927.htm","index_url":"https://www.sec.gov/Archives/edgar/data/320193/000032019325000079/0000320193-25-000079-index.htm"}],"other_matches":[],"source":"SEC EDGAR"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"SEC EDGAR filings lookup. Send a US ticker, CIK or company name, optionally with form types such as 10-K, 10-Q, 8-K or 4; returns the company, its CIK and SIC code, and its latest matching filings (about the last 1,000) with form, filing date, period and direct links to the document and index. Use to find a company's annual, quarterly, current or insider filings. Filing metadata and links only; read a filing with /v1/fetch-page. Typical response under 1 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001300"}}}},"/v1/company-lookup":{"post":{"summary":"Company Lookup","operationId":"company_lookup_v1_company_lookup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"records":[{"lei":"HWUPKR0MPOU8FGXBT394","legal_name":"Apple Inc.","other_names":[],"entity_status":"ACTIVE","registration_status":"ISSUED","jurisdiction":"US-CA","legal_form":"H1UM","registered_as":"806592","created":"1977-01-03T00:00:00Z","legal_address":{"lines":["C/O C T Corporation System","330 N Brand Blvd Ste 700"],"city":"Glendale","region":"US-CA","country":"US","postal_code":"91203"},"hq_address":{"lines":["One Apple Park Way"],"city":"Cupertino","region":"US-CA","country":"US","postal_code":"95014"},"next_renewal":"2027-03-01T00:00:00Z","direct_parent":null,"ultimate_parent":null}],"source":"GLEIF LEI data (CC0). Not endorsed by GLEIF."}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Company legal-entity lookup from the global LEI system (GLEIF). Send a company name or a 20-character LEI; returns legal name, LEI, status, jurisdiction, legal form, registration number, registered and headquarters addresses, and the first record's direct and ultimate parents. Use for know-your-business checks, invoices and group-structure questions. Companies only. Typical response 1 to 2 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001300"}}}},"/v1/seo-audit":{"post":{"summary":"Seo Audit","operationId":"seo_audit_v1_seo_audit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeoIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"url":"https://www.x402.org/","final_url":"https://www.x402.org/","status":200,"hops":[{"url":"https://www.x402.org/","status":200}],"ms":412,"title":{"text":"x402 - Payment Required","length":23},"meta_description":{"text":"An open protocol for internet-native payments.","length":46},"canonical":"https://www.x402.org/","robots_meta":null,"lang":"en","hreflang":[],"headings":{"h1":["x402"],"h2_count":6,"h3_count":4},"images":{"total":8,"missing_alt":2},"links":{"internal":14,"external":9,"nofollow":0},"open_graph":{"og:title":"x402"},"twitter":{"twitter:card":"summary_large_image"},"json_ld_types":[],"favicon":"/favicon.ico","words":830,"robots_txt":{"found":true,"allowed":{"Googlebot":true,"GPTBot":true,"ClaudeBot":true,"*":true},"crawl_delay":null,"sitemaps":["https://www.x402.org/sitemap.xml"]},"sitemap_found":true,"security_headers":{"hsts":true,"csp":false,"x_frame_options":true,"x_content_type_options":true,"referrer_policy":true,"permissions_policy":false,"grade":"C"},"issues":["title under 30 characters","meta description under 70 characters","2 images missing alt","no JSON-LD"],"checked_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"On-page SEO audit of one URL: redirects, title and description lengths, canonical, robots meta and robots.txt for Googlebot, GPTBot and ClaudeBot, hreflang, headings, image alt, links, Open Graph, JSON-LD, sitemap, security headers with a grade, and a list of issues. Use to check a page before or after publishing. Reads the first 300 KB; no JavaScript rendering. Social networks are refused. Typical response 1 to 3 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001500"}}}},"/v1/email-auth-check":{"post":{"summary":"Email Auth Check","operationId":"email_auth_check_v1_email_auth_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"domain":"example.org","spf":{"record":"v=spf1 include:_spf.google.com ~all","lookups":4,"all_qualifier":"~all","valid":true,"error":null},"dmarc":{"record":"v=DMARC1; p=quarantine; rua=mailto:dmarc@example.org","policy":"quarantine","subdomain_policy":null,"pct":100,"rua":["mailto:dmarc@example.org"]},"mx":[{"preference":1,"host":"smtp.google.com."}],"mta_sts":{"record":null},"bimi":{"record":null},"dkim":{"checked_selectors":["google","selector1","selector2","default","k1","s1","s2","mail","dkim","smtp"],"found":["google"]},"grade":"A","issues":[],"checked_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Email authentication check for a domain. Returns the SPF record with its DNS lookup count and all qualifier, the DMARC policy and report addresses, MX hosts, MTA-STS and BIMI records, DKIM keys found on common selectors, a grade from A to F and a list of issues. Use to diagnose deliverability or spoofing risk. DKIM is checked on common selectors only. Typical response under 1 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001300"}}}},"/v1/email-check":{"post":{"summary":"Email Check","operationId":"email_check_v1_email_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"email":"Support+orders@Example.org","normalized":"Support+orders@example.org","valid_syntax":true,"domain":"example.org","mx":[{"preference":10,"host":"mx.example.org."}],"null_mx":false,"accepts_mail":true,"disposable":false,"role":true,"free_provider":false,"verdict":"deliverable_domain","reason":null,"checked_at":"2026-10-22T09:00:00+00:00","notice":"No SMTP probe: shows the domain takes mail, not that this mailbox exists."}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Email address check without sending mail. Returns syntax validity, the normalised address, whether the domain accepts mail (MX, null MX or address fallback), and flags for disposable, role (info@, support@) and free webmail addresses, with a verdict. Use to validate an address someone gave you. Does not confirm the mailbox exists. Typical response under 1 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001300"}}}},"/v1/domain-lookup":{"post":{"summary":"Domain Lookup","operationId":"domain_lookup_v1_domain_lookup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainLookupIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"domain":"quantagentshop.com","exists":true,"dns":null,"registration":{"registered":true,"registrar":"Cloudflare, Inc.","registrar_iana_id":"1910","created":"2026-10-22T05:23:20Z","updated":"2026-10-22T05:23:21Z","expires":"2027-10-22T05:23:20Z","status":["client transfer prohibited"],"nameservers":["anna.ns.cloudflare.com","greg.ns.cloudflare.com"],"dnssec":false,"rdap_url":"https://rdap.verisign.com/com/v1/domain/quantagentshop.com"},"tls":{"ip":"104.21.0.1","verified":true,"error":null,"subject_cn":"quantagentshop.com","sans":["quantagentshop.com","*.quantagentshop.com"],"issuer":"Google Trust Services WE1","not_before":"2026-10-22T04:00:00Z","not_after":"2027-01-20T04:00:00Z","days_left":90,"key":"EC secp256r1","tls_version":"TLSv1.3","cipher":"TLS_AES_256_GCM_SHA384"},"checked_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Domain lookup in one call: DNS records (A, AAAA, MX, TXT, NS, CNAME, SOA, CAA with TTLs), registry RDAP registration data (registrar, created, updated and expiry dates, status, nameservers, DNSSEC) and the TLS certificate (issuer, names, validity, days left, chain verified). Use to check a domain before linking to, buying or trusting it. No registrant contact data. Typical response 1 to 2 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001300"}}}},"/v1/weather":{"post":{"summary":"Weather","operationId":"weather_v1_weather_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeatherIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"location":{"name":"Singapore","country":"SG","lat":1.2897,"lon":103.8501,"timezone":"Asia/Singapore"},"updated_at":"2026-10-22T08:22:23Z","now":{"time":"2026-10-22T09:00:00Z","temp_c":30.1,"humidity_pct":70.2,"wind_ms":2.8,"wind_dir_deg":160.0,"cloud_pct":75.0,"pressure_hpa":1008.9,"symbol":"partlycloudy_day"},"hourly":[{"time":"2026-10-22T09:00:00Z","temp_c":30.1,"precip_mm":0.0,"wind_ms":2.8,"symbol":"partlycloudy_day"},{"time":"2026-10-22T10:00:00Z","temp_c":29.6,"precip_mm":0.4,"wind_ms":3.1,"symbol":"rainshowers_day"}],"daily":[{"date":"2026-10-22","temp_min_c":25.8,"temp_max_c":31.2,"precip_mm":6.3,"symbol":"rainshowers_day"}],"units":"metric (C, m/s, mm, hPa)","attribution":"Data from MET Norway (CC BY 4.0); places from GeoNames (CC BY 4.0)"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Weather forecast for coordinates or a city name: current temperature, humidity, wind, cloud, pressure and conditions, an hourly forecast up to 48 hours, and daily highs, lows and rain up to 7 days. Data from MET Norway. Use for travel, event or logistics planning. Not for past weather or official warnings. Times in UTC. Typical response under 1 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001300"}}}},"/v1/ip-geo":{"post":{"summary":"Ip Geo","operationId":"ip_geo_v1_ip_geo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IpIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"ip":"1.0.0.1","version":4,"continent":"OC","country":"AU","region":"Queensland","city":"South Brisbane","lat":-27.4767,"lon":153.017,"accuracy":"city-level estimate","asn":13335,"as_org":"Cloudflare, Inc.","attribution":"IP Geolocation by DB-IP (https://db-ip.com), CC BY 4.0"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"IP address lookup for one public IPv4 or IPv6 address: country, region and city (a city-level estimate with coordinates), continent, and network (ASN number and organisation). Use for fraud checks, analytics or routing. Not for finding a street address or a person. Local database, no third-party call per lookup. Typical response under 100 ms. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001300"}}}},"/v1/pdf-text":{"post":{"summary":"Pdf Text","operationId":"pdf_text_v1_pdf_text_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PdfTextIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"page_count":15,"pages":[{"page":1,"text":"Attention Is All You Need\nAshish Vaswani, Noam Shazeer, Niki Parmar...\nAbstract\nThe dominant sequence transduction models are based on complex recurrent..."}],"chars":39512,"truncated":false,"title":null,"bytes":2215244,"extracted_at":"2026-10-22T09:00:00+00:00","source_url":"https://arxiv.org/pdf/1706.03762"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"PDF text. Send a public PDF URL or the file as base64 (up to 10 MB); returns the plain text of each page, the page count, the title and a truncated flag (first 200 pages and 2,000,000 characters). Use to read reports, papers, filings or invoices. No OCR: scanned pages come back empty (send page images to /v1/ocr); encrypted PDFs are refused. Typical response 1 to 5 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002000"}}}},"/v1/ocr":{"post":{"summary":"Ocr","operationId":"ocr_v1_ocr_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OcrIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"text":"CORNER CAFE\nFlat white 4.50\nTotal 4.50","lines":[{"text":"CORNER CAFE","region":"top-center"},{"text":"Flat white 4.50","region":"middle-left"},{"text":"Total 4.50","region":"bottom-left"}],"chars":38,"truncated":false,"image":{"type":"image/jpeg","width":1200,"height":1600},"read_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Image text (OCR). Send an image URL or base64 (PNG, JPEG, WebP or GIF, up to 5 MB and 8000 px a side); returns the text in reading order, one line per line, and with layout on, where each line sits in the image, plus truncated when the text ran past the reply limit. Use for screenshots, receipts, signs and scanned pages. Not for PDFs that have a text layer (use /v1/pdf-text) or for describing pictures. Typical response 2 to 6 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.010000"}}}},"/v1/summarize":{"post":{"summary":"Summarize","operationId":"summarize_v1_summarize_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummarizeIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"summary":"- x402 is an open protocol that uses HTTP 402 for internet-native payments.\n- A server answers 402 with a price; the client pays in USDC and retries.\n- No accounts or API keys are needed.","style":"bullets","length":"short","source":{"type":"page","url":"https://www.x402.org/","final_url":"https://www.x402.org/","title":"x402"},"input_chars":1830,"truncated":false,"summary_truncated":false,"summarized_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Summary. Send text (up to 60,000 characters) or a public page or PDF URL; returns a summary as paragraphs, bullets or one line, short, medium or long, with an optional focus, plus the source and a truncated flag (input past 60,000 characters is cut). Use to brief an agent or a person. Not for sourced answers (use /v1/research-answer) or set fields (use /v1/extract). Typical response 3 to 10 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.030000"}}}},"/v1/extract":{"post":{"summary":"Extract","operationId":"extract_v1_extract_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"data":{"invoice_number":"INV-2041","supplier":"Example Supplies Ltd","total":1250.0,"currency":"USD","due_date":"2026-11-02"},"source":{"type":"text"},"input_chars":109,"truncated":false,"extracted_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Structured extraction. Send text (up to 20,000 characters; 20 KB of UTF-8 is read) or a public page or PDF URL, plus a JSON Schema (up to 8,000 characters, no pattern keywords, $ref only inside it); returns JSON checked against your schema, after one repair attempt if needed. Use to pull fields from invoices, listings, filings or emails. Not for free-form summaries (use /v1/summarize). Typical response 3 to 10 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.010000"}}}},"/v1/seo-audit-pro":{"post":{"summary":"Seo Audit Pro","operationId":"seo_audit_pro_v1_seo_audit_pro_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SeoIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"url":"https://www.x402.org/","final_url":"https://www.x402.org/","status":200,"hops":[{"url":"https://www.x402.org/","status":200}],"ms":412,"title":{"text":"x402 - Payment Required","length":23},"meta_description":{"text":"An open protocol for internet-native payments.","length":46},"canonical":"https://www.x402.org/","robots_meta":null,"lang":"en","hreflang":[],"headings":{"h1":["x402"],"h2_count":6,"h3_count":4},"images":{"total":8,"missing_alt":2},"links":{"internal":14,"external":9,"nofollow":0},"open_graph":{"og:title":"x402"},"twitter":{"twitter:card":"summary_large_image"},"json_ld_types":[],"favicon":"/favicon.ico","words":830,"robots_txt":{"found":true,"allowed":{"Googlebot":true,"GPTBot":true,"ClaudeBot":true,"*":true},"crawl_delay":null,"sitemaps":["https://www.x402.org/sitemap.xml"]},"sitemap_found":true,"security_headers":{"hsts":true,"csp":false,"x_frame_options":true,"x_content_type_options":true,"referrer_policy":true,"permissions_policy":false,"grade":"C"},"issues":["title under 30 characters","meta description under 70 characters","2 images missing alt","no JSON-LD"],"checked_at":"2026-10-22T09:00:00+00:00","fixes":[{"rank":1,"issue":"no JSON-LD","change":"Add to <head>: <script type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"Organization\",\"name\":\"x402\",\"url\":\"https://www.x402.org/\"}</script>","why":"Structured data lets search engines show the site name and logo."},{"rank":2,"issue":"title under 30 characters","change":"Change <title> to: x402 - Open protocol for internet-native payments","why":"A fuller title matches more searches and reads better in results."}]}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"SEO audit with fixes. Everything /v1/seo-audit returns for one URL, plus up to 10 fixes ranked by impact, each naming the element and the exact change (new title text, the tag or header to add). Use when you will act on the audit. For the checks alone use /v1/seo-audit, which costs less. Reads the first 300 KB; no JavaScript rendering; social networks are refused. Typical response 5 to 12 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.050000"}}}},"/v1/phone-check":{"post":{"summary":"Phone Check","operationId":"phone_check_v1_phone_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"input":"+1 650-253-0000","valid":true,"possible":true,"e164":"+16502530000","international":"+1 650-253-0000","national":"(650) 253-0000","country_code":1,"region":"US","line_type":"fixed_line_or_mobile","location":"Mountain View, CA","range_carrier":null,"time_zones":["America/Los_Angeles"],"extension":null,"reason":null,"notice":"Range data from Google's libphonenumber metadata, not a live carrier lookup: a ported or disconnected number still shows its original range.","checked_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Phone number check. Send a number in any format, with a + country code or a region such as GB; returns E.164, international and national formats, valid and possible flags, country code, region, line type (mobile, fixed line, toll free and others), place and time zones. From Google's libphonenumber range data: not a live carrier or owner lookup, and ported numbers show their original range. Typical response under 100 ms. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002000"}}}},"/v1/url-status":{"post":{"summary":"Url Status","operationId":"url_status_v1_url_status_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlStatusIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"url":"http://x402.org/","reachable":true,"error":null,"final_url":"https://www.x402.org/","status":200,"ok":true,"redirects":2,"hops":[{"url":"http://x402.org/","status":301},{"url":"https://x402.org/","status":308},{"url":"https://www.x402.org/","status":200}],"ms":286,"content_type":"text/html; charset=utf-8","content_length":null,"server":"Vercel","tls":{"verified":true,"error":null,"issuer":"Let's Encrypt R11","not_after":"2026-12-30T08:12:44Z","days_left":68},"checked_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"URL status check. Send one public URL; returns the HTTP status, every redirect hop, latency, content type and length, server header and, for https, the certificate issuer and days left. GET only; the body is never read or returned. A site that is down is an answer, not an error. Use to check a link before using it. Each payer can check a host 10 times a minute. To read the page use /v1/fetch-page. Typical response under 1 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002000"}}}},"/v1/page-change":{"post":{"summary":"Page Change","operationId":"page_change_v1_page_change_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageChangeIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"url":"https://www.x402.org/","final_url":"https://www.x402.org/","title":"x402","sha256":"b5eda501c7113cf9b4dcc2955682c8c51d31d605cee98eb6971f28277ca0d646","previous_sha256":"6f48ad30e4cc6be7e1a342177e2b549bc1ca7cbe7b903dd38a92eaf6a829b5ac","changed":true,"chars":1790,"checked_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"Page change check. Send a public URL and, optionally, the hash from your last check; returns the SHA-256 of the page's main text (scripts, navigation and spacing ignored) and changed true or false. Nothing is stored here; keep the hash yourself. Use to watch a page cheaply, up to 10 checks of a host a minute. Dates or counters in the text count as changes. To read the page use /v1/fetch-page. Typical response under 2 s. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002000"}}}},"/v1/qr":{"post":{"summary":"Qr","operationId":"qr_v1_qr_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QrIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{},"example":{"format":"png","content_type":"image/png","width":296,"height":296,"version":3,"error_correction":"Q","bytes":381,"image_base64":"iVBORw0KGgoAAAANSUhEUgAA...","created_at":"2026-10-22T09:00:00+00:00"}}}},"400":{"description":"Bad request","content":{"application/json":{"example":{"error":"bad_request","detail":"content-length header required"}}}},"422":{"description":"Invalid input, not charged","content":{"application/json":{"example":{"error":"invalid_input","detail":"query: String should have at least 2 characters"}}}},"503":{"description":"Upstream unavailable, not charged","content":{"application/json":{"example":{"error":"unavailable","detail":"search upstream not configured","charged":false}}}},"402":{"description":"Payment Required"}},"description":"QR code. Send text or a URL (up to 1,000 characters); returns a QR code as PNG or SVG, base64 in JSON, with its size, version and error-correction level, at the scale and quiet zone you choose. Use to put a link or payment request on a page, label or PDF. Plain codes only, no logos or colours. Typical response under 200 ms. Failed calls are not charged.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001500"}}}},"/v1/sample":{"get":{"summary":"Sample","description":"Free: what every paid route accepts and returns, with prices. No upstream calls.","operationId":"sample_v1_sample_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[]}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[]}},"/.well-known/x402":{"get":{"summary":"Well Known","description":"x402scan's documented shape: bare URLs (methods live in /openapi.json, which it reads first) and\none instructions string. \"POST url\" entries were misread as extra routes by Agent402's indexer.","operationId":"well_known__well_known_x402_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[]}},"/llms.txt":{"get":{"summary":"Llms","operationId":"llms_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}},"security":[]}}},"components":{"schemas":{"BatchSearchIn":{"properties":{"queries":{"items":{"type":"string","maxLength":400,"minLength":2},"type":"array","maxItems":10,"minItems":1,"title":"Queries","description":"1 to 10 searches, each as typed into a search engine."},"country":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}$"},{"type":"null"}],"title":"Country","description":"Optional two-letter country code, lower case, such as us or gb."},"language":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}(-[a-z]{2})?$"},{"type":"null"}],"title":"Language","description":"Optional language code, lower case, such as en or pt-br."}},"additionalProperties":false,"type":"object","required":["queries"],"title":"BatchSearchIn"},"CompanyIn":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":2},{"type":"null"}],"title":"Name","description":"Company legal name."},"lei":{"anyOf":[{"type":"string","pattern":"^[A-Z0-9]{18}[0-9]{2}$"},{"type":"null"}],"title":"Lei","description":"20-character Legal Entity Identifier. Send name or lei."},"max_results":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Max Results","description":"Most records to return.","default":3}},"additionalProperties":false,"type":"object","title":"CompanyIn"},"DomainIn":{"properties":{"domain":{"type":"string","maxLength":300,"minLength":1,"title":"Domain","description":"Domain name, such as example.com."}},"additionalProperties":false,"type":"object","required":["domain"],"title":"DomainIn"},"DomainLookupIn":{"properties":{"domain":{"type":"string","maxLength":300,"minLength":1,"title":"Domain","description":"Domain name, such as example.com."},"parts":{"items":{"type":"string","enum":["dns","registration","tls"]},"type":"array","maxItems":3,"minItems":1,"title":"Parts","description":"Which checks to run.","default":["dns","registration","tls"]},"dns_types":{"items":{"type":"string","enum":["A","AAAA","MX","TXT","NS","CNAME","SOA","CAA"]},"type":"array","maxItems":8,"minItems":1,"title":"Dns Types","description":"DNS record types to read.","default":["A","AAAA","MX","TXT","NS","CNAME"]}},"additionalProperties":false,"type":"object","required":["domain"],"title":"DomainLookupIn"},"EmailIn":{"properties":{"email":{"type":"string","maxLength":254,"minLength":3,"title":"Email","description":"One email address."}},"additionalProperties":false,"type":"object","required":["email"],"title":"EmailIn"},"ExtractIn":{"properties":{"text":{"anyOf":[{"type":"string","maxLength":20000,"minLength":1},{"type":"null"}],"title":"Text","description":"The text to extract from."},"url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Url","description":"Or a public page or PDF to extract from. Send text or url."},"json_schema":{"additionalProperties":true,"type":"object","title":"Json Schema","description":"JSON Schema the result must match, up to 8,000 characters and 16 levels deep. No pattern or patternProperties; $ref only to #/ inside the schema, not recursive."},"instructions":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Instructions","description":"Optional: what to extract, in plain words."}},"additionalProperties":false,"type":"object","required":["json_schema"],"title":"ExtractIn"},"FetchIn":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url","description":"Public http or https page to read."},"format":{"type":"string","enum":["markdown","text"],"title":"Format","description":"markdown keeps headings, links and lists; text is plain.","default":"markdown"},"max_chars":{"type":"integer","maximum":100000.0,"minimum":500.0,"title":"Max Chars","description":"Cut the returned content at this many characters.","default":20000}},"additionalProperties":false,"type":"object","required":["url"],"title":"FetchIn"},"IpIn":{"properties":{"ip":{"type":"string","maxLength":45,"minLength":2,"title":"Ip","description":"One public IPv4 or IPv6 address."}},"additionalProperties":false,"type":"object","required":["ip"],"title":"IpIn"},"NewsIn":{"properties":{"query":{"type":"string","maxLength":400,"minLength":2,"title":"Query","description":"Topic, company or event to find news about."},"country":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}$"},{"type":"null"}],"title":"Country","description":"Optional two-letter country code, lower case, such as us or gb."},"language":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}(-[a-z]{2})?$"},{"type":"null"}],"title":"Language","description":"Optional language code, lower case, such as en or pt-br."},"time_window":{"anyOf":[{"type":"string","enum":["hour","day","week","month","year"]},{"type":"null"}],"title":"Time Window","description":"Only articles from the last hour, day, week, month or year."},"page":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Page","description":"Result page, 1 for the first.","default":1}},"additionalProperties":false,"type":"object","required":["query"],"title":"NewsIn"},"OcrIn":{"properties":{"image_url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Image Url","description":"Public http or https URL of a PNG, JPEG, WebP or GIF image."},"image_base64":{"anyOf":[{"type":"string","maxLength":6900000,"minLength":8},{"type":"null"}],"title":"Image Base64","description":"The image as base64, up to 5 MB decoded. Send image_url or image_base64."},"layout":{"type":"boolean","title":"Layout","description":"Also return each line with where it sits in the image, such as top-left.","default":false}},"additionalProperties":false,"type":"object","title":"OcrIn"},"PageChangeIn":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url","description":"Public http or https page to hash."},"previous_sha256":{"anyOf":[{"type":"string","pattern":"^[0-9a-fA-F]{64}$"},{"type":"null"}],"title":"Previous Sha256","description":"The sha256 from your last check, to compare against."}},"additionalProperties":false,"type":"object","required":["url"],"title":"PageChangeIn"},"PaperIn":{"properties":{"query":{"anyOf":[{"type":"string","maxLength":300,"minLength":3},{"type":"null"}],"title":"Query","description":"Topic or title to search for."},"doi":{"anyOf":[{"type":"string","maxLength":200,"minLength":7,"pattern":"^10\\.\\S+/\\S+$"},{"type":"null"}],"title":"Doi","description":"One DOI, such as 10.1038/nature14539. Send query or doi, not both."},"rows":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Rows","description":"How many works to return (query mode).","default":10},"from_year":{"anyOf":[{"type":"integer","maximum":2100.0,"minimum":1900.0},{"type":"null"}],"title":"From Year","description":"Only works published from this year on."}},"additionalProperties":false,"type":"object","title":"PaperIn"},"PatentIn":{"properties":{"query":{"type":"string","maxLength":400,"minLength":2,"title":"Query","description":"Keywords, a technology description or an assignee name."},"country":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}$"},{"type":"null"}],"title":"Country","description":"Optional two-letter country code, lower case, such as us or gb."},"language":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}(-[a-z]{2})?$"},{"type":"null"}],"title":"Language","description":"Optional language code, lower case, such as en or pt-br."},"page":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Page","description":"Result page, 1 for the first.","default":1}},"additionalProperties":false,"type":"object","required":["query"],"title":"PatentIn"},"PdfBriefIn":{"properties":{"brief":{"type":"string","maxLength":2000,"minLength":20,"title":"Brief","description":"What the document should cover, who reads it, and any facts to include."},"title":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Title"}},"additionalProperties":false,"type":"object","required":["brief"],"title":"PdfBriefIn"},"PdfMarkdownIn":{"properties":{"markdown":{"type":"string","maxLength":50000,"minLength":1,"title":"Markdown","description":"Markdown text: headings, lists, tables, links, bold and italic."},"title":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Title","description":"Document title; defaults to the first # heading."}},"additionalProperties":false,"type":"object","required":["markdown"],"title":"PdfMarkdownIn"},"PdfTextIn":{"properties":{"url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Url","description":"Public http or https URL of the PDF."},"pdf_base64":{"anyOf":[{"type":"string","maxLength":13800000,"minLength":8},{"type":"null"}],"title":"Pdf Base64","description":"The PDF file as base64, up to 10 MB decoded. Send url or pdf_base64."}},"additionalProperties":false,"type":"object","title":"PdfTextIn"},"PdfUrlIn":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url","description":"Public http or https page to turn into a PDF."}},"additionalProperties":false,"type":"object","required":["url"],"title":"PdfUrlIn"},"PhoneIn":{"properties":{"number":{"type":"string","maxLength":40,"minLength":2,"title":"Number","description":"A phone number in any format, such as +44 20 7946 0958."},"region":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}],"title":"Region","description":"Region for a number without a + country code, such as GB or US."}},"additionalProperties":false,"type":"object","required":["number"],"title":"PhoneIn"},"PlacesIn":{"properties":{"query":{"type":"string","maxLength":200,"minLength":2,"title":"Query","description":"What and where in one string, such as dentist in Austin TX."},"country":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}$"},{"type":"null"}],"title":"Country","description":"Optional two-letter country code, lower case, such as us or gb."},"language":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}(-[a-z]{2})?$"},{"type":"null"}],"title":"Language","description":"Optional language code, lower case, such as en or pt-br."},"page":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Page","description":"Result page, 1 for the first.","default":1}},"additionalProperties":false,"type":"object","required":["query"],"title":"PlacesIn"},"QrIn":{"properties":{"text":{"type":"string","maxLength":1000,"minLength":1,"title":"Text","description":"Text or URL to encode."},"format":{"type":"string","enum":["png","svg"],"title":"Format","description":"png or svg.","default":"png"},"scale":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Scale","description":"Pixels per module, 1 to 20.","default":8},"border":{"type":"integer","maximum":10.0,"minimum":0.0,"title":"Border","description":"Quiet zone in modules, 0 to 10 (4 is the standard).","default":4},"error_correction":{"type":"string","enum":["L","M","Q","H"],"title":"Error Correction","description":"L, M, Q or H; the highest level that fits without a bigger code is used.","default":"M"}},"additionalProperties":false,"type":"object","required":["text"],"title":"QrIn"},"ResearchIn":{"properties":{"question":{"type":"string","maxLength":500,"minLength":10,"title":"Question","description":"One question in plain language."},"max_sources":{"type":"integer","maximum":8.0,"minimum":1.0,"title":"Max Sources","description":"How many sources to read, 1 to 8.","default":3},"urls":{"anyOf":[{"items":{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},"type":"array","maxItems":8},{"type":"null"}],"title":"Urls","description":"Optional pages to answer from instead of searching."}},"additionalProperties":false,"type":"object","required":["question"],"title":"ResearchIn"},"SanctionsIn":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":2},{"type":"null"}],"title":"Name","description":"Person, company or vessel name to screen (fuzzy match)."},"address":{"anyOf":[{"type":"string","maxLength":100,"minLength":20,"pattern":"^[A-Za-z0-9]+$"},{"type":"null"}],"title":"Address","description":"Crypto wallet address to screen (exact match). Send name or address."},"type":{"anyOf":[{"type":"string","enum":["individual","entity","vessel","aircraft"]},{"type":"null"}],"title":"Type","description":"Only entries of this type (name screening)."},"min_score":{"type":"number","maximum":1.0,"minimum":0.8,"title":"Min Score","description":"Lowest name similarity to report, 0.80 to 1.","default":0.88},"max_results":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Max Results","description":"Most matches to return.","default":10}},"additionalProperties":false,"type":"object","title":"SanctionsIn"},"SearchIn":{"properties":{"query":{"type":"string","maxLength":400,"minLength":2,"title":"Query","description":"Search terms, as typed into a search engine."},"num":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Num","description":"How many results to return, 1 to 20.","default":10},"country":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}$"},{"type":"null"}],"title":"Country","description":"Optional two-letter country code, lower case."}},"additionalProperties":false,"type":"object","required":["query"],"title":"SearchIn"},"SecIn":{"properties":{"ticker":{"anyOf":[{"type":"string","pattern":"^[A-Za-z][A-Za-z.-]{0,9}$"},{"type":"null"}],"title":"Ticker","description":"US stock ticker, such as AAPL."},"cik":{"anyOf":[{"type":"integer","maximum":9999999999.0,"minimum":1.0},{"type":"null"}],"title":"Cik","description":"SEC Central Index Key."},"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":2},{"type":"null"}],"title":"Name","description":"Company name, when the ticker and CIK are not known."},"forms":{"anyOf":[{"items":{"type":"string","maxLength":12,"pattern":"^[0-9A-Za-z/-]+( [0-9A-Za-z/-]+)*$"},"type":"array","maxItems":10,"minItems":1},{"type":"null"}],"title":"Forms","description":"Only these form types, such as 10-K, 10-Q, 8-K or 4."},"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","description":"Most filings to return, newest first.","default":10}},"additionalProperties":false,"type":"object","title":"SecIn"},"SeoIn":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url","description":"Public http or https page to audit."}},"additionalProperties":false,"type":"object","required":["url"],"title":"SeoIn"},"ShoppingIn":{"properties":{"query":{"type":"string","maxLength":200,"minLength":2,"title":"Query","description":"The product, as typed into a shopping search."},"country":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}$"},{"type":"null"}],"title":"Country","description":"Optional two-letter country code, lower case, such as us or gb."},"language":{"anyOf":[{"type":"string","pattern":"^[a-z]{2}(-[a-z]{2})?$"},{"type":"null"}],"title":"Language","description":"Optional language code, lower case, such as en or pt-br."},"page":{"type":"integer","maximum":3.0,"minimum":1.0,"title":"Page","description":"Result page, 1 for the first.","default":1}},"additionalProperties":false,"type":"object","required":["query"],"title":"ShoppingIn"},"SummarizeIn":{"properties":{"text":{"anyOf":[{"type":"string","maxLength":60000,"minLength":1},{"type":"null"}],"title":"Text","description":"The text to summarize."},"url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Url","description":"Or a public page or PDF to summarize. Send text or url."},"style":{"type":"string","enum":["paragraph","bullets","one_line"],"title":"Style","description":"Paragraphs, a bulleted list or one sentence.","default":"paragraph"},"length":{"type":"string","enum":["short","medium","long"],"title":"Length","description":"About 60, 150 or 350 words.","default":"medium"},"focus":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Focus","description":"Optional: what the summary should concentrate on."}},"additionalProperties":false,"type":"object","title":"SummarizeIn"},"UrlStatusIn":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url","description":"Public http or https URL to check."}},"additionalProperties":false,"type":"object","required":["url"],"title":"UrlStatusIn"},"WeatherIn":{"properties":{"lat":{"anyOf":[{"type":"number","maximum":90.0,"minimum":-90.0},{"type":"null"}],"title":"Lat","description":"Latitude; send with lon, or send city."},"lon":{"anyOf":[{"type":"number","maximum":180.0,"minimum":-180.0},{"type":"null"}],"title":"Lon","description":"Longitude."},"city":{"anyOf":[{"type":"string","maxLength":100,"minLength":2},{"type":"null"}],"title":"City","description":"City name, such as Singapore."},"country":{"anyOf":[{"type":"string","pattern":"^[A-Z]{2}$"},{"type":"null"}],"title":"Country","description":"Optional country code for the city, such as SG."},"hours":{"type":"integer","maximum":48.0,"minimum":1.0,"title":"Hours","description":"Hours of hourly forecast.","default":24},"days":{"type":"integer","maximum":7.0,"minimum":0.0,"title":"Days","description":"Days of daily forecast.","default":3}},"additionalProperties":false,"type":"object","title":"WeatherIn"}}},"servers":[{"url":"https://quantagentshop.com"}]}