{"openapi":"3.1.0","info":{"title":"TariffMonkee Agent Tool Stack API","version":"1.0.0","description":"Pay-per-call web data APIs for AI agents over the x402 protocol. No accounts, no API keys -- every path below returns HTTP 402 with its exact USDC price; sign a payment and retry to get the result. See /agents.txt for the full pay-and-retry flow.","contact":{"email":"support@tariffmonkee.com"},"x-guidance":"Every operation below requires x402 payment. Call with no payment header first to receive a 402 with a PAYMENT-REQUIRED header (base64 JSON, x402 v2) and a JSON body (x402 v1 shape) describing accepted networks, price, and payTo per network. Sign a payment for one accepted network and retry with a PAYMENT (v2) or X-PAYMENT (v1) header. See /agents.txt for the complete step-by-step flow with real examples."},"servers":[{"url":"https://tariffmonkee.com"}],"paths":{"/paid/ping":{"get":{"summary":"Health and payment-path check. Returns server time and confirms the x402 payment settled. The cheapest endpoint in th...","description":"Health and payment-path check. Returns server time and confirms the x402 payment settled. The cheapest endpoint in the catalog at $0.001, intended for testing a client's payment flow.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.001"}},"responses":{"200":{"description":"JSON: { ok: true, ts: <ISO timestamp>, payer: <address if known> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { ok: true, ts: <ISO timestamp>, payer: <address if known> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}}}},"/paid/content":{"get":{"summary":"Converts a URL to clean Markdown using a real rendered browser (JavaScript executed). Results are cached for 24 hours...","description":"Converts a URL to clean Markdown using a real rendered browser (JavaScript executed). Results are cached for 24 hours per URL, so repeat requests for the same page are fast and do not re-render.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002"}},"responses":{"200":{"description":"JSON: { url: <string>, markdown: <string>, cached: <boolean>, fetched_at: <ISO timestamp> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { url: <string>, markdown: <string>, cached: <boolean>, fetched_at: <ISO timestamp> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page to fetch and convert to Markdown.","schema":{"type":"string","example":"https://example.com"}}]}},"/paid/fetch-clean":{"get":{"summary":"Alias of /content: converts a single URL to clean Markdown using a real rendered browser (JavaScript executed). Resul...","description":"Alias of /content: converts a single URL to clean Markdown using a real rendered browser (JavaScript executed). Results are cached for 24 hours per URL.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002"}},"responses":{"200":{"description":"JSON: { url: <string>, markdown: <string>, cached: <boolean>, fetched_at: <ISO timestamp> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { url: <string>, markdown: <string>, cached: <boolean>, fetched_at: <ISO timestamp> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page to fetch and convert to Markdown.","schema":{"type":"string","example":"https://example.com"}}]}},"/paid/screenshot":{"get":{"summary":"Returns a full-page PNG screenshot of a URL, captured in a real rendered browser (JavaScript executed). The response ...","description":"Returns a full-page PNG screenshot of a URL, captured in a real rendered browser (JavaScript executed). The response body is the image, not JSON. Cached for 24 hours per URL; X-Cached and X-Fetched-At response headers report cache status and fetch time.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.01"}},"responses":{"200":{"description":"Binary PNG image. Headers: X-Cached (true/false), X-Fetched-At (ISO timestamp).","content":{"image/png":{"schema":{"type":"string","format":"binary"},"description":"Binary PNG image. Headers: X-Cached (true/false), X-Fetched-At (ISO timestamp)."}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page to screenshot.","schema":{"type":"string","example":"https://example.com"}}]}},"/paid/pdf":{"get":{"summary":"Returns a PDF of a full web page, rendered in a real browser (JavaScript executed). The response body is the file, no...","description":"Returns a PDF of a full web page, rendered in a real browser (JavaScript executed). The response body is the file, not JSON. Cached for 24 hours per URL; X-Cached and X-Fetched-At response headers report cache status and fetch time.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.01"}},"responses":{"200":{"description":"Binary PDF file. Headers: X-Cached (true/false), X-Fetched-At (ISO timestamp).","content":{"application/pdf":{"schema":{"type":"string","format":"binary"},"description":"Binary PDF file. Headers: X-Cached (true/false), X-Fetched-At (ISO timestamp)."}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page to convert to PDF.","schema":{"type":"string","example":"https://example.com"}}]}},"/paid/extract":{"post":{"summary":"Extracts structured JSON from text already in hand, matching a JSON Schema supplied by the caller, using AI. No brows...","description":"Extracts structured JSON from text already in hand, matching a JSON Schema supplied by the caller, using AI. No browser render, so it costs less than /extract-url. Takes content and schema; returns data and the model used.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.016"}},"responses":{"200":{"description":"JSON: { data: <object matching your schema>, model: <string> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { data: <object matching your schema>, model: <string> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","example":"Example Domain. This domain is for use in illustrative examples in documents.","description":"Raw text content to extract data from."},"schema":{"type":"object","example":"{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"}},\"required\":[\"title\"]}","description":"JSON Schema describing the desired output structure."}},"required":["content","schema"]}}}}}},"/paid/extract-url":{"post":{"summary":"Fetches a URL in a rendered browser and extracts structured JSON matching a caller-supplied JSON Schema in one call, ...","description":"Fetches a URL in a rendered browser and extracts structured JSON matching a caller-supplied JSON Schema in one call, using AI with multi-model fallback. Cached for 24 hours per URL and schema. For text already in hand, /extract costs less.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.021"}},"responses":{"200":{"description":"JSON: { url: <string>, data: <object matching your schema>, cached: <boolean>, fetched_at: <ISO timestamp> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { url: <string>, data: <object matching your schema>, cached: <boolean>, fetched_at: <ISO timestamp> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","example":"https://example.com","description":"Absolute http(s) URL of the page to extract data from."},"schema":{"type":"object","example":"{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"}},\"required\":[\"title\"]}","description":"JSON Schema describing the desired output structure."},"prompt":{"type":"string","example":"Extract the main heading and the first paragraph.","description":"Optional natural-language guidance on what to extract and where it appears on the page."}},"required":["url","schema"]}}}}}},"/paid/aeo-audit":{"get":{"summary":"AI-readiness audit for a URL: checks schema.org structured data, crawlability (robots.txt, meta robots, canonical) an...","description":"AI-readiness audit for a URL: checks schema.org structured data, crawlability (robots.txt, meta robots, canonical) and llms.txt presence, then returns a 0-100 score with specific recommendations. Cached for 24 hours per URL.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.031"}},"responses":{"200":{"description":"JSON: { url: <string>, score: <0-100>, checks: {...}, recommendations: <string[]>, cached: <boolean>, fetched_at: <ISO timestamp> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { url: <string>, score: <0-100>, checks: {...}, recommendations: <string[]>, cached: <boolean>, fetched_at: <ISO timestamp> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL of the page to audit.","schema":{"type":"string","example":"https://example.com"}}]}},"/paid/search":{"get":{"summary":"Web search results as clean JSON: up to 10 ranked results per query with title, URL and snippet. Three search provide...","description":"Web search results as clean JSON: up to 10 ranked results per query with title, URL and snippet. Three search providers with automatic failover. Optional region=tw selects a Traditional Chinese, Taiwan-region search lane. Cached for 24 hours per query and region.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005"}},"responses":{"200":{"description":"JSON: { query: <string>, provider: <string>, results: [{ title, url, snippet }], cached: <boolean>, fetched_at: <ISO timestamp> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { query: <string>, provider: <string>, results: [{ title, url, snippet }], cached: <boolean>, fetched_at: <ISO timestamp> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"query","in":"query","required":true,"description":"Search query.","schema":{"type":"string","example":"best bubble tea taipei"}},{"name":"region","in":"query","required":false,"description":"Optional. Set to 'tw' for Traditional Chinese / Taiwan-region results.","schema":{"type":"string","example":"tw"}}]}},"/paid/research":{"get":{"summary":"Research bundle: takes a query and returns up to 10 deduplicated, rendered web sources as one token-budgeted Markdown...","description":"Research bundle: takes a query and returns up to 10 deduplicated, rendered web sources as one token-budgeted Markdown bundle (about 8,000 tokens), one source per domain. Combines web search with rendered-page fetching in a single call. Needs at least 3 fetched sources; the response reports sources_requested and sources_returned. Optional region=tw selects a Taiwan, Traditional Chinese lane.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.031"}},"responses":{"200":{"description":"JSON: { query: <string>, sources_requested: <number>, sources_returned: <number>, sources: [{ title, url, markdown, truncated, cached }], fetched_at: <ISO timestamp> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { query: <string>, sources_requested: <number>, sources_returned: <number>, sources: [{ title, url, markdown, truncated, cached }], fetched_at: <ISO timestamp> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"query","in":"query","required":true,"description":"Research query.","schema":{"type":"string","example":"electric scooter import regulations Taiwan"}},{"name":"region","in":"query","required":false,"description":"Optional. Set to 'tw' for Traditional Chinese / Taiwan-region sources.","schema":{"type":"string","example":"tw"}}]}},"/paid/linkcheck":{"get":{"summary":"URL safety verdict: follows the redirect chain, detects homograph and punycode hostname tricks, and cross-references ...","description":"URL safety verdict: follows the redirect chain, detects homograph and punycode hostname tricks, and cross-references the destination host against the URLhaus threat feed. Returns safe, suspicious or malicious with reasons. Single-URL scope; domain-wide grading is /sitegrade and registration facts are /domain-intel.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005"}},"responses":{"200":{"description":"JSON: { url: <string>, verdict: 'safe'|'suspicious'|'malicious', reasons: <string[]>, redirectChainLength: <number>, finalDestination: <string>, homoglyphFlag: <boolean>, punycodeFlag: <boolean>, threatFeed: { source, found, status, tags, dateAdded, reference } }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { url: <string>, verdict: 'safe'|'suspicious'|'malicious', reasons: <string[]>, redirectChainLength: <number>, finalDestination: <string>, homoglyphFlag: <boolean>, punycodeFlag: <boolean>, threatFeed: { source, found, status, tags, dateAdded, reference } }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"url","in":"query","required":true,"description":"Absolute http(s) URL to check.","schema":{"type":"string","example":"https://github.com/anthropics/claude-code"}}]}},"/paid/sitegrade":{"get":{"summary":"Domain security grade (0-100, A-F) from HTTPS reachability, security headers (HSTS, CSP, X-Frame-Options, X-Content-T...","description":"Domain security grade (0-100, A-F) from HTTPS reachability, security headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy) and CAA records. Reports HTTPS connect success or failure, not raw certificate expiry. Registration facts are in /domain-intel; URL reputation is in /linkcheck.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.05"}},"responses":{"200":{"description":"JSON: { domain: <string>, grade: 'A'|'B'|'C'|'D'|'F', score: <0-100>, https: { reachable, redirectedFromHttp, tlsError }, headers: {...}, caaRecords: <string[]>, findings: <string[]> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { domain: <string>, grade: 'A'|'B'|'C'|'D'|'F', score: <0-100>, https: { reachable, redirectedFromHttp, tlsError }, headers: {...}, caaRecords: <string[]>, findings: <string[]> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"domain","in":"query","required":true,"description":"Bare domain to grade, no scheme.","schema":{"type":"string","example":"github.com"}}]}},"/paid/domain-intel":{"get":{"summary":"Domain ownership and registration intelligence via RDAP: registration age, registrar, privacy-proxy status, expiratio...","description":"Domain ownership and registration intelligence via RDAP: registration age, registrar, privacy-proxy status, expiration date, nameservers and detected mail provider. Technical configuration grading is in /sitegrade; URL reputation is in /linkcheck.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.021"}},"responses":{"200":{"description":"JSON: { domain: <string>, found: <boolean>, ageDays: <number>, registrar: <string>, createdDate: <string>, expiresDate: <string>, privacyProtected: <boolean>, nameservers: <string[]>, mailProvider: <string>, findings: <string[]> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { domain: <string>, found: <boolean>, ageDays: <number>, registrar: <string>, createdDate: <string>, expiresDate: <string>, privacyProtected: <boolean>, nameservers: <string[]>, mailProvider: <string>, findings: <string[]> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"domain","in":"query","required":true,"description":"Bare domain to look up, no scheme.","schema":{"type":"string","example":"github.com"}}]}},"/paid/email-verify":{"get":{"summary":"Email deliverability verdict: checks syntax, MX record presence, disposable-domain match and SPF/DMARC presence. Retu...","description":"Email deliverability verdict: checks syntax, MX record presence, disposable-domain match and SPF/DMARC presence. Returns deliverable, risky or undeliverable with reasons. Scoped to one address, not a domain security audit.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.002"}},"responses":{"200":{"description":"JSON: { email: <string>, syntaxValid: <boolean>, domain: <string>, hasMxRecord: <boolean>, isDisposableDomain: <boolean>, spf: { present, value }, dmarc: { present, value }, verdict: 'deliverable'|'risky'|'undeliverable', reasons: <string[]> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { email: <string>, syntaxValid: <boolean>, domain: <string>, hasMxRecord: <boolean>, isDisposableDomain: <boolean>, spf: { present, value }, dmarc: { present, value }, verdict: 'deliverable'|'risky'|'undeliverable', reasons: <string[]> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"email","in":"query","required":true,"description":"Email address to verify.","schema":{"type":"string","example":"hello@mozilla.org"}}]}},"/paid/trust-audit":{"get":{"summary":"One confidence-weighted trust verdict for a domain, URL or email: runs linkcheck, sitegrade and domain-intel (plus em...","description":"One confidence-weighted trust verdict for a domain, URL or email: runs linkcheck, sitegrade and domain-intel (plus email-verify when an email is supplied) and flags disagreement between sources, such as a very new domain with a mature TLS setup, instead of concatenating outputs. At least one of domain, url or email is required.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.10"}},"responses":{"200":{"description":"JSON: { input: {...}, verdict: { overallScore: <0-100>, confidence: 'low'|'medium'|'high', tensions: <string[]>, signals: [...] }, components: { linkcheck, sitegrade, domainIntel, emailVerify } }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { input: {...}, verdict: { overallScore: <0-100>, confidence: 'low'|'medium'|'high', tensions: <string[]>, signals: [...] }, components: { linkcheck, sitegrade, domainIntel, emailVerify } }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"domain","in":"query","required":false,"description":"Domain to audit. Required if url and email are both omitted.","schema":{"type":"string","example":"github.com"}},{"name":"url","in":"query","required":false,"description":"URL to audit. Required if domain and email are both omitted.","schema":{"type":"string","example":"https://github.com/anthropics/claude-code"}},{"name":"email","in":"query","required":false,"description":"Email address to audit. Optional in addition to domain/url.","schema":{"type":"string","example":"hello@mozilla.org"}}]}},"/paid/gbp-audit":{"get":{"summary":"Google Business Profile audit for a local business: visibility score, missing fields, review health, AI-readiness fla...","description":"Google Business Profile audit for a local business: visibility score, missing fields, review health, AI-readiness flags and a fix list. Uses DataForSEO Business Data for category, contact info, hours, claimed status, photos and review rating distribution.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.05"}},"responses":{"200":{"description":"JSON: { business, location, found, score: <0-100>, profile: {...}, reviewHealth: { rating, reviewCount, lowRatingShare }, aiReadiness: {...}, missingFields: <string[]>, fixList: <string[]> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { business, location, found, score: <0-100>, profile: {...}, reviewHealth: { rating, reviewCount, lowRatingShare }, aiReadiness: {...}, missingFields: <string[]>, fixList: <string[]> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"business","in":"query","required":true,"description":"Name of the business to audit.","schema":{"type":"string","example":"RustyBrick, Inc."}},{"name":"location","in":"query","required":true,"description":"Full location string, format: City,Region,Country.","schema":{"type":"string","example":"New York,New York,United States"}}]}},"/paid/serp-check":{"get":{"summary":"Google organic ranking check: finds whether and where a domain ranks for a keyword, using DataForSEO SERP data. Retur...","description":"Google organic ranking check: finds whether and where a domain ranks for a keyword, using DataForSEO SERP data. Returns found, position, URL, title and total organic results.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.021"}},"responses":{"200":{"description":"JSON: { keyword, domain, found: <boolean>, position: <number>, url, title, totalOrganicResults: <number> }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { keyword, domain, found: <boolean>, position: <number>, url, title, totalOrganicResults: <number> }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"keyword","in":"query","required":true,"description":"Search keyword to check rankings for.","schema":{"type":"string","example":"best bubble tea taipei"}},{"name":"domain","in":"query","required":true,"description":"Domain to check the ranking of.","schema":{"type":"string","example":"example.com"}},{"name":"region","in":"query","required":false,"description":"Optional. Set to 'tw' for Traditional Chinese / Taiwan-region results.","schema":{"type":"string","example":"tw"}}]}},"/paid/ai-visibility":{"get":{"summary":"AI answer visibility check: sends a real query to a live AI model with web search enabled and checks the response for...","description":"AI answer visibility check: sends a real query to a live AI model with web search enabled and checks the response for a mention of the business and a citation linking to its domain. Returns mentioned, cited, citations and an excerpt.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.031"}},"responses":{"200":{"description":"JSON: { business, domain, query, mentioned: <boolean>, cited: <boolean>, citations: [{ title, url }], excerpt, modelName }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { business, domain, query, mentioned: <boolean>, cited: <boolean>, citations: [{ title, url }], excerpt, modelName }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"business","in":"query","required":true,"description":"Business name to check for a mention.","schema":{"type":"string","example":"RustyBrick, Inc."}},{"name":"query","in":"query","required":true,"description":"The question to ask the AI model. Max 500 characters.","schema":{"type":"string","example":"best web design agency in New York"}},{"name":"domain","in":"query","required":false,"description":"Optional. Domain to check for a citation, in addition to a name mention.","schema":{"type":"string","example":"example.com"}}]}},"/paid/visibility-report":{"get":{"summary":"White-label local visibility report for one business, returned as an application/pdf file (not JSON): Google Business...","description":"White-label local visibility report for one business, returned as an application/pdf file (not JSON): Google Business Profile completeness, organic ranking for a target keyword and AI answer-engine visibility for a buyer-intent query. No TariffMonkee branding appears in the output, so agencies can present it under their own name.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.15"}},"responses":{"200":{"description":"White-label PDF report (no TariffMonkee branding), rendered via Browser Run.","content":{"application/pdf":{"schema":{"type":"string","format":"binary"},"description":"White-label PDF report (no TariffMonkee branding), rendered via Browser Run."}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"business","in":"query","required":true,"description":"Business name to audit. For chains or common names, add the street address (for example 'Philz Coffee 3101 24th St').","schema":{"type":"string","example":"RustyBrick, Inc."}},{"name":"location","in":"query","required":true,"description":"City, region and country of the business, for example 'San Francisco, CA', 'Austin, Texas, United States' or 'Taichung, Taiwan'.","schema":{"type":"string","example":"New York, New York, United States"}},{"name":"domain","in":"query","required":true,"description":"The business's own website domain, used for the search-ranking and AI-citation checks.","schema":{"type":"string","example":"example.com"}},{"name":"keyword","in":"query","required":true,"description":"Search keyword to check this business's organic ranking for.","schema":{"type":"string","example":"best bubble tea taipei"}},{"name":"query","in":"query","required":true,"description":"Buyer-intent question to check whether an AI model mentions this business when answering. Max 500 characters.","schema":{"type":"string","example":"best web design agency in New York"}}]}},"/paid/lead-list":{"post":{"summary":"Audit-qualified lead list as CSV: takes up to 10 local businesses, checks each Google Business Profile (claimed statu...","description":"Audit-qualified lead list as CSV: takes up to 10 local businesses, checks each Google Business Profile (claimed status, photos, hours, website, description, rating, review count) and returns only those with at least one red flag. Cheaper per business than /gbp-audit when the full batch is used.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.60"}},"responses":{"200":{"description":"CSV file. Columns: business, location, domain, score, red_flags (semicolon-joined), rating, review_count. Only businesses with at least one red flag are included -- not every submitted business will appear.","content":{"text/csv":{"schema":{"type":"string","format":"binary"},"description":"CSV file. Columns: business, location, domain, score, red_flags (semicolon-joined), rating, review_count. Only businesses with at least one red flag are included -- not every submitted business will appear."}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"businesses":{"type":"object","example":"[{\"business\":\"RustyBrick, Inc.\",\"location\":\"New York, New York, United States\"}]","description":"Array of up to 10 objects, each { business, location }. Location is a city, region and country such as 'San Francisco, CA' or 'Austin, Texas, United States'."}},"required":["businesses"]}}}}}},"/paid/lead-discovery":{"get":{"summary":"Local lead discovery as CSV: finds businesses for a category and area from Google Maps data, checks each profile, and...","description":"Local lead discovery as CSV: finds businesses for a category and area from Google Maps data, checks each profile, and returns up to 10 with at least one red flag (unclaimed, missing photos, hours or website, low rating, few reviews). No starting list required.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.75"}},"responses":{"200":{"description":"CSV file. Columns: business, location, domain, red_flags (semicolon-joined), rating, review_count. Only businesses with at least one red flag are included.","content":{"text/csv":{"schema":{"type":"string","format":"binary"},"description":"CSV file. Columns: business, location, domain, red_flags (semicolon-joined), rating, review_count. Only businesses with at least one red flag are included."}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"category","in":"query","required":true,"description":"Business category to search for, matching a normal Google Maps search term.","schema":{"type":"string","example":"plumbers"}},{"name":"area","in":"query","required":true,"description":"Area to search in: a city, region and country such as 'Austin, TX', 'Austin, Texas, United States' or 'Taichung, Taiwan'.","schema":{"type":"string","example":"Austin, Texas, United States"}}]}},"/paid/a2a":{"post":{"summary":"Agent2Agent (A2A) protocol JSON-RPC endpoint supporting SendMessage. Authorizes up to $0.75, the highest skill price;...","description":"Agent2Agent (A2A) protocol JSON-RPC endpoint supporting SendMessage. Authorizes up to $0.75, the highest skill price; settlement charges the invoked skill's actual price. Base (EVM) only. The skill catalog and per-skill pricing are in /.well-known/agent-card.json.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.75 max"}},"responses":{"200":{"description":"JSON-RPC 2.0 response. Result shape depends on the invoked skill -- see /.well-known/agent-card.json for the skill catalog and each skill's output shape.","content":{"application/json":{"schema":{"type":"object","description":"JSON-RPC 2.0 response. Result shape depends on the invoked skill -- see /.well-known/agent-card.json for the skill catalog and each skill's output shape."}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}}}},"/paid/tw-reference":{"get":{"summary":"Taiwan government reference data: ARC and visa rules and all 15 WDA work-permit categories, translated to English and...","description":"Taiwan government reference data: ARC and visa rules and all 15 WDA work-permit categories, translated to English and structured into labelled sections. With no parameters it returns an index. Republished under Taiwan's Government Open Data License with attribution. Machine-translated; the linked original is authoritative.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.012"}},"responses":{"200":{"description":"JSON. Index mode: { mode: 'index', count, records: [{ id, category, title, source_agency, section_count }] }. Lookup mode: the full record including sections[], source_url, permitted_use_basis, and translation_notice.","content":{"application/json":{"schema":{"type":"object","description":"JSON. Index mode: { mode: 'index', count, records: [{ id, category, title, source_agency, section_count }] }. Lookup mode: the full record including sections[], source_url, permitted_use_basis, and translation_notice."}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"category","in":"query","required":false,"description":"Category to look up, e.g. 'work-permit-a12' or 'gold-card'. Omit to get the index.","schema":{"type":"string","example":"work-permit-a12"}},{"name":"id","in":"query","required":false,"description":"Exact record id, if you already have one from the index.","schema":{"type":"string","example":"wda-work-permit-a12-zh"}},{"name":"format","in":"query","required":false,"description":"'json' (default) or 'html' for the pre-rendered HTML version.","schema":{"type":"string","example":"json"}}]}},"/paid/verify-citation":{"get":{"summary":"Citation check: takes a claim and a cited source (URL or DOI) and returns supported, contradicted or not_addressed wi...","description":"Citation check: takes a claim and a cited source (URL or DOI) and returns supported, contradicted or not_addressed with the verbatim passage as evidence. The source is fetched with a full browser render. Dead, paywalled or PDF-only sources return source_unavailable, never a false contradicted.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.025"}},"responses":{"200":{"description":"JSON: { claim, url, verdict, evidence, reasoning, confidence, retracted, source_truncated }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { claim, url, verdict, evidence, reasoning, confidence, retracted, source_truncated }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"claim","in":"query","required":true,"description":"The claim to check against the source.","schema":{"type":"string","example":"Taiwan's Gold Card is valid for up to three years."}},{"name":"url","in":"query","required":true,"description":"The cited source: a URL, or a bare DOI such as 10.1234/abcd.","schema":{"type":"string","example":"https://example.com/article"}}]}},"/paid/verify-citations":{"post":{"summary":"Batch citation check for a whole document, up to 10 citations per call, with the same verdicts and verbatim evidence ...","description":"Batch citation check for a whole document, up to 10 citations per call, with the same verdicts and verbatim evidence as /verify-citation. Sources are deduplicated before fetching, so many claims against one paper cost one render. Flat rate: below about 8 citations the single endpoint is cheaper.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.20"}},"responses":{"200":{"description":"JSON: { count, distinct_sources, results, summary, notes }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { count, distinct_sources, results, summary, notes }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"citations":{"type":"object","example":"[{\"claim\":\"X is true\",\"url\":\"https://example.com\"}]","description":"Array of { claim, url } objects. Maximum 10; more is rejected rather than silently truncated."}},"required":["citations"]}}}}}},"/paid/crawler-diligence":{"get":{"summary":"AI crawler monetization check for a domain: per-crawler robots.txt rules for 18 named AI crawlers and whether access ...","description":"AI crawler monetization check for a domain: per-crawler robots.txt rules for 18 named AI crawlers and whether access is already sold through TollBit, RSL, x402 or a 402 response. Verdict: unmonetized-crawler-magnet, already-monetized, blocked-not-monetized or low-appeal. A revenue figure appears only when the caller supplies a rate and volume.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.04"}},"responses":{"200":{"description":"JSON: { domain, verdict, confidence, crawler_rules[], rules_summary, monetization, content_signals, regulatory_note, revenue_estimate|null, caveats[] }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { domain, verdict, confidence, crawler_rules[], rules_summary, monetization, content_signals, regulatory_note, revenue_estimate|null, caveats[] }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"domain","in":"query","required":true,"description":"Bare domain to screen, no scheme.","schema":{"type":"string","example":"example.com"}},{"name":"rate_per_crawl","in":"query","required":false,"description":"Your assumed USD per crawl. Required together with monthly_crawls. No rate is assumed for you: none is published industry-wide.","schema":{"type":"number","example":"0.002"}},{"name":"monthly_crawls","in":"query","required":false,"description":"Your assumed monthly AI crawler hits. Required together with rate_per_crawl.","schema":{"type":"number","example":"50000"}}]}},"/paid/work-permit-check":{"get":{"summary":"Taiwan work permit eligibility guidance (not a determination) for a foreign professional: checks the 2026 graduate Ex...","description":"Taiwan work permit eligibility guidance (not a determination) for a foreign professional: checks the 2026 graduate Extended Stay exemption, the general professional route (Article 5 qualification and the NT$47,971 salary floor), and lists points-route criteria as attributed reference without computing a total. Only Taiwan's Ministry of Labor decides applications.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.05"}},"responses":{"200":{"description":"JSON: { routes[], salary_check, points_route_reference, documents_typical[], disclaimer, sources[], verified_on }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { routes[], salary_check, points_route_reference, documents_typical[], disclaimer, sources[], verified_on }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"education","in":"query","required":false,"description":"Highest degree held: 'phd', 'masters', 'bachelors', 'associate', or 'none'.","schema":{"type":"string","example":"bachelors"}},{"name":"experience_years","in":"query","required":false,"description":"Years of relevant work experience.","schema":{"type":"number","example":"3"}},{"name":"monthly_salary_twd","in":"query","required":false,"description":"Offered monthly salary in New Taiwan Dollars.","schema":{"type":"number","example":"55000"}},{"name":"graduated_in_taiwan","in":"query","required":false,"description":"Graduated from a school in Taiwan.","schema":{"type":"boolean","example":"true"}},{"name":"extended_stay","in":"query","required":false,"description":"Currently on a post-graduation Extended Stay.","schema":{"type":"boolean","example":"false"}},{"name":"region","in":"query","required":false,"description":"Passport region. Used only to determine exemption length for Hong Kong/Macau.","schema":{"type":"string","example":"US"}},{"name":"licensed_professional","in":"query","required":false,"description":"Holds a professional/technical licence recognised under the Examinations Act.","schema":{"type":"boolean","example":"false"}},{"name":"multinational_transfer","in":"query","required":false,"description":"Assigned to Taiwan by a multinational after 1+ year of service.","schema":{"type":"boolean","example":"false"}},{"name":"job_category","in":"query","required":false,"description":"The A01-A15 work-permit category the job falls under, if known.","schema":{"type":"string","example":"A08"}}]}},"/paid/tax-residency-check":{"post":{"summary":"Taiwan tax residency guidance (not tax advice) from arrival and departure dates and income: resident (183+ days) or n...","description":"Taiwan tax residency guidance (not tax advice) from arrival and departure dates and income: resident (183+ days) or non-resident under the official day-counting rule, the 6% and 18% non-resident withholding threshold, and an estimated tax for residents using that year's brackets. Treaty rates and AMT are flagged, not computed. Only the National Taxation Bureau determines liability.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.06"}},"responses":{"200":{"description":"JSON: { calendar_year, days_present, residency_status, status_reasoning, offshore_90_day_flag, withholding, resident_tax_estimate, filing_required, filing_note, filing_jurisdiction, out_of_scope, disclaimer, sources, verified_on }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { calendar_year, days_present, residency_status, status_reasoning, offshore_90_day_flag, withholding, resident_tax_estimate, filing_required, filing_note, filing_jurisdiction, out_of_scope, disclaimer, sources, verified_on }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"calendar_year":{"type":"number","example":"2026","description":"Calendar year to evaluate, e.g. 2026. Must have a verified row in the tax_year_params table."},"stays":{"type":"object","example":"[{\"arrival\":\"2026-03-01\",\"departure\":\"2026-09-01\"}]","description":"Array of { arrival: 'YYYY-MM-DD', departure?: 'YYYY-MM-DD' }. Omit departure for a stay still ongoing."},"gross_income_twd":{"type":"number","example":"1200000","description":"Total gross income for the year in TWD."},"monthly_salary_twd":{"type":"number","example":"60000","description":"Full-month salary in TWD, for the non-resident 6%/18% withholding check."},"employer_location":{"type":"string","example":"offshore","description":"'taiwan' or 'offshore'. Affects the 90-day anti-avoidance rule for non-residents."},"tax_withheld_twd":{"type":"number","example":"50000","description":"Tax already withheld during the year, for a shortfall/refund estimate."},"age":{"type":"number","example":"45","description":"Filer's age, for the 70+ exemption tier."},"married":{"type":"boolean","example":"false","description":"Married filing status, affects the standard deduction."},"dependents":{"type":"number","example":"0","description":"Count of dependents claimed at the general exemption rate."},"has_offshore_income":{"type":"boolean","example":"false","description":"Whether material income was earned outside Taiwan. Only used to flag AMT as possibly relevant -- not computed."},"has_household_registration":{"type":"boolean","example":"false","description":"Whether the filer holds Taiwan household registration (戶籍). Most foreign ARC holders do not. Affects filing jurisdiction only, not residency status or tax owed."},"residence_county":{"type":"string","example":"臺北市","description":"County/city of the filer's household registration (if has_household_registration is true) or ARC-registered residence address (if not), e.g. '臺北市'. Used only to determine filing jurisdiction."},"spouse_is_taiwan_national":{"type":"boolean","example":"false","description":"Whether the filer's spouse is a Taiwan national. Affects the joint-filing jurisdiction choice available to residents."}},"required":["calendar_year","stays"]}}}}}},"/paid/healthcare-navigator":{"post":{"summary":"Taiwan healthcare navigator: NHI-contracted institutions by county and specialty, current copay by facility tier and ...","description":"Taiwan healthcare navigator: NHI-contracted institutions by county and specialty, current copay by facility tier and referral status, premium rate and dependent-cap rule, and NHI eligibility including the 6-month rule and its exceptions. Explains cost and routing, not medical advice. English capability at a clinic is not an official NHIA field and is never reported.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.06"}},"responses":{"200":{"description":"JSON: { institutions, copay_reference, premium_reference, eligibility, language_note, registration_note, disclaimer, sources, verified_on }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { institutions, copay_reference, premium_reference, eligibility, language_note, registration_note, disclaimer, sources, verified_on }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"county":{"type":"string","example":"臺中市","description":"County/city to search within, e.g. '臺中市'. Matched as a substring against the institution record."},"specialty":{"type":"string","example":"皮膚科","description":"Free-text specialty/department keyword."},"institution_type":{"type":"string","example":"clinic","description":"'clinic', 'district_hospital', 'regional_hospital', 'medical_center', or 'pharmacy'. Omit to search the consolidated roster."},"eligibility":{"type":"object","example":"{\"start_date\":\"2026-01-15\",\"basis\":\"unemployed_self_insured\"}","description":"{ start_date: 'YYYY-MM-DD', basis: 'employed'|'foreign_professional_or_employer_self_or_dependent'|'dependent_of_insured_spouse'|'unemployed_self_insured'|'newborn_in_taiwan', exits?: [{departure,return}] }. Omit to skip the eligibility calculation."},"limit":{"type":"number","example":"10","description":"Max institutions to return. Default 10, capped at 20."}}}}}}}},"/paid/tw-rental-check":{"post":{"summary":"Taiwan rental listing red-flag check from pasted listing or contract text, or a URL: extracts rent, deposit and elect...","description":"Taiwan rental listing red-flag check from pasted listing or contract text, or a URL: extracts rent, deposit and electricity terms and checks them against the 2-month deposit cap, the 2024-07-15 electricity billing rule, void household-registration and tax-deduction clauses, and known scam patterns. Verifies a named brokerage company against the MOI registry. Guidance, not a legal determination; MOI rental-price comparison is not included.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.05"}},"responses":{"200":{"description":"JSON: { extracted, true_monthly_cost, flags, price_comparison, agency_verification, disclaimer }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { extracted, true_monthly_cost, flags, price_comparison, agency_verification, disclaimer }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string","example":"月租15000，押金45000，電費另計一度6元，禁止遷入戶籍","description":"Pasted rental listing or lease-contract text. Provide this or 'url', not both required but at least one."},"url":{"type":"string","example":"https://example.com/listing/123","description":"A URL to a rental listing page, fetched with a real rendered browser."}}}}}}}},"/paid/tw-property-check":{"get":{"summary":"Taiwan property purchase due diligence from an address: parses county and district, compares against recent sale-pric...","description":"Taiwan property purchase due diligence from an address: parses county and district, compares against recent sale-price comparables (實價登錄) in that district, reports construction-year context against the Building Seismic Design Code history, and flags rooftop-addition mentions in supplied listing text. Per-address liquefaction risk is not included; the official map link is returned. Guidance, not a valuation.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.07"}},"responses":{"200":{"description":"JSON: { parsed_location, comparables, seismic_code_context, liquefaction, red_flags, disclaimer }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { parsed_location, comparables, seismic_code_context, liquefaction, red_flags, disclaimer }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"address","in":"query","required":true,"description":"Full Taiwan address including county/city and district, e.g. 臺中市西區公益路100號.","schema":{"type":"string","example":"臺中市西區公益路100號"}},{"name":"asking_price_twd","in":"query","required":false,"description":"Asking or listed price in TWD, for comparison against district comparables.","schema":{"type":"number","example":"15000000"}},{"name":"unit_area_sqm","in":"query","required":false,"description":"Unit floor area in square meters, used with asking_price_twd to compute a per-sqm comparison.","schema":{"type":"number","example":"100"}},{"name":"building_type_filter","in":"query","required":false,"description":"Restrict comparables to a building type substring, e.g. 住宅大樓, 公寓, 透天厝, 華廈.","schema":{"type":"string","example":"住宅大樓"}},{"name":"built_year","in":"query","required":false,"description":"Construction year (Gregorian calendar), for the seismic-code context note.","schema":{"type":"number","example":"1985"}},{"name":"listing_text","in":"query","required":false,"description":"Pasted listing text, checked for rooftop-addition/unregistered-structure mentions.","schema":{"type":"string","example":"頂樓另有加蓋空間可堆放雜物"}}]}},"/paid/crawler-diligence-logs":{"post":{"summary":"AI crawler traffic analysis from real server logs (up to 20,000 lines): hits by crawler and operator, with reverse-DN...","description":"AI crawler traffic analysis from real server logs (up to 20,000 lines): hits by crawler and operator, with reverse-DNS checks that flag IPs claiming a crawler User-Agent that do not belong to that operator. Optional revenue band from a rate the caller supplies.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.30"}},"responses":{"200":{"description":"JSON: { lines_parsed, ai_crawler_hits, by_crawler[], spoofing_summary, revenue_estimate|null, caveats[] }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { lines_parsed, ai_crawler_hits, by_crawler[], spoofing_summary, revenue_estimate|null, caveats[] }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"log":{"type":"string","example":"1.2.3.4 - - [01/Sep/2026] \"GET / HTTP/1.1\" 200 - \"GPTBot/1.0\"","description":"Raw server log lines as one string. Up to 20,000 lines are read."},"rate_per_crawl":{"type":"number","example":"0.002","description":"Your assumed USD per crawl. Omit for counts only."}},"required":["log"]}}}}}},"/paid/tw-localize-check":{"post":{"summary":"Taiwan localization check for Traditional Chinese text: flags mainland (PRC) wording in traditional characters that s...","description":"Taiwan localization check for Traditional Chinese text: flags mainland (PRC) wording in traditional characters that still reads as non-Taiwanese, with the Taiwan-correct replacement, category, severity and reason per flag. Optional fix=true returns corrected text. Uses a curated glossary of 47 terms; a judgment layer on top of simplified-to-traditional conversion, not a substitute for it.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.02"}},"responses":{"200":{"description":"JSON: { flags[], flag_count, terms_checked, corrected_text|null, disclaimer, sources[], verified_on }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { flags[], flag_count, terms_checked, corrected_text|null, disclaimer, sources[], verified_on }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","example":"這個軟件很好用，可以連接網絡。","description":"Traditional Chinese text to check for mainland/Hong Kong wording."},"fix":{"type":"boolean","example":"true","description":"If true, also return a corrected version of the text with flagged terms replaced."}},"required":["text"]}}}}}},"/paid/tw-fraud-check":{"post":{"summary":"Taiwan fraud check for a domain or URL: matches against the NPA list of fraud-suspended domains (83k+ entries) and a ...","description":"Taiwan fraud check for a domain or URL: matches against the NPA list of fraud-suspended domains (83k+ entries) and a report-volume dataset (45k+ sites), and optionally checks a claim against the 165 debunked-scam-story archive (89 entries, coverage ends April 2025). Informational only; 165 is the authoritative source.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.05"}},"responses":{"200":{"description":"JSON: { domain_check: { blocklist, reports } | null, rumor_check: { matches[] } | null, disclaimer, sources[], verified_on }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { domain_check: { blocklist, reports } | null, rumor_check: { matches[] } | null, disclaimer, sources[], verified_on }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string","example":"example-scam-site.top","description":"Domain or URL to check against the fraud blocklist and report-volume datasets. Provide this or 'url'."},"url":{"type":"string","example":"https://example-scam-site.top/login","description":"Alias for 'domain' -- a full URL is also accepted, only the hostname is used."},"claim":{"type":"string","example":"台電公司發電費未繳簡訊要求點選網址繳費","description":"A claim or rumor to check against 165's debunked-scam-story archive (coverage stops April 2025)."}}}}}}}},"/paid/tw-business-day-check":{"get":{"summary":"Taiwan business day check from the ROC government office calendar (via the TaiwanCalendar project): whether a date is...","description":"Taiwan business day check from the ROC government office calendar (via the TaiwanCalendar project): whether a date is a business day, with weekends and public holidays counted as non-business days, and optionally the business-day count across a range. Covers about 2017 onward; dates outside coverage return a clear not-found error.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005"}},"responses":{"200":{"description":"JSON: { date: {date, week, is_holiday, is_business_day, description}, range: {end, business_days_count, holidays_in_range[]}|null, data_note, attribution, disclaimer, sources[], verified_on }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { date: {date, week, is_holiday, is_business_day, description}, range: {end, business_days_count, holidays_in_range[]}|null, data_note, attribution, disclaimer, sources[], verified_on }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"date","in":"query","required":true,"description":"Date to check, format YYYY-MM-DD.","schema":{"type":"string","example":"2026-10-10"}},{"name":"range_end","in":"query","required":false,"description":"If provided, also returns a business-day count and holiday list for the range from 'date' to this date, inclusive. Must span at most 2 calendar years.","schema":{"type":"string","example":"2026-10-20"}}]}},"/paid/tw-transit-check":{"get":{"summary":"Taiwan real-time transit via TDX: bus arrival predictions, TRA rail live board, THSR high-speed rail daily train info...","description":"Taiwan real-time transit via TDX: bus arrival predictions, TRA rail live board, THSR high-speed rail daily train info, and MRT arrival boards (Taipei, Kaohsiung, Taoyuan, Kaohsiung Light Rail) for a given stop, route or station. Passes TDX data through and does not plan journeys. A bus estimate of -1 means the bus already passed. TRA, THSR and MRT return TDX's raw fields.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.05"}},"responses":{"200":{"description":"JSON: { mode, results[], count, data_note, attribution, disclaimer, sources[], verified_on }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { mode, results[], count, data_note, attribution, disclaimer, sources[], verified_on }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"mode","in":"query","required":true,"description":"'bus', 'tra', 'thsr', or 'mrt'.","schema":{"type":"string","example":"bus"}},{"name":"city","in":"query","required":false,"description":"Required for mode=bus. TDX city code, e.g. 'Taichung', 'Kaohsiung', 'Taipei'.","schema":{"type":"string","example":"Kaohsiung"}},{"name":"route_name","in":"query","required":false,"description":"Required for mode=bus. Route name as TDX has it, e.g. '紅56'.","schema":{"type":"string","example":"紅56"}},{"name":"station_id","in":"query","required":false,"description":"Required for mode=tra or mode=thsr. Look up via TDX's own /v2/Rail/TRA/Station or /v2/Rail/THSR/Station.","schema":{"type":"string","example":"1000"}},{"name":"rail_system","in":"query","required":false,"description":"Required for mode=mrt. One of: TRTC (Taipei), KRTC (Kaohsiung), TYMC (Taoyuan), KLRT (Kaohsiung Light Rail).","schema":{"type":"string","example":"TRTC"}},{"name":"station_name","in":"query","required":false,"description":"Optional for mode=mrt, to filter to one station. Omit to get the whole system's board (capped at 50 rows).","schema":{"type":"string","example":"台北車站"}}]}},"/paid/company-enrich":{"get":{"summary":"Company profile from a domain: name, description, logo, language, address, public contact emails and phones, social p...","description":"Company profile from a domain: name, description, logo, language, address, public contact emails and phones, social profiles, detected technologies, and registration facts (domain age, registrar, mail provider). Built only from what the company publishes on its own homepage (title, meta tags, schema.org markup, mailto/tel/social links) plus public RDAP and DNS. Fields not found are null, not guessed. No employee or personal data.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.01"}},"responses":{"200":{"description":"JSON: { domain, reachable, name, name_source, legal_name, description, language, logo, address, founded, contact: {emails[], phones[]}, social{}, technologies[], registration: {found, age_days, registrar, created, privacy_protected, mail_provider}, signals_found, confidence, notes[], sources[], disclaimer }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { domain, reachable, name, name_source, legal_name, description, language, logo, address, founded, contact: {emails[], phones[]}, social{}, technologies[], registration: {found, age_days, registrar, created, privacy_protected, mail_provider}, signals_found, confidence, notes[], sources[], disclaimer }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"domain","in":"query","required":true,"description":"Company domain, for example stripe.com. No path or IP address.","schema":{"type":"string","example":"stripe.com"}}]}},"/paid/agent-commerce-audit":{"get":{"summary":"Agentic-commerce readiness audit for a merchant domain: Google UCP profile at /.well-known/ucp, AP2 extension in the ...","description":"Agentic-commerce readiness audit for a merchant domain: Google UCP profile at /.well-known/ucp, AP2 extension in the agent card, schema.org Product/Offer markup, visible payment providers, and whether robots.txt blocks AI agents. Returns a 0-100 score, per-check results with fixes, and what was not checked. Static public-signal check, not a certification.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.05"}},"responses":{"200":{"description":"JSON: { domain, score, level: 'ready'|'partial'|'not_ready', summary, ucp_profile|null, ap2: {agent_card_found, extension_declared, skills}, checks[{id, protocol, status, points, max_points, detail, fix}], next_steps[], not_checked[], disclaimer, sources[], checked_at }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { domain, score, level: 'ready'|'partial'|'not_ready', summary, ucp_profile|null, ap2: {agent_card_found, extension_declared, skills}, checks[{id, protocol, status, points, max_points, detail, fix}], next_steps[], not_checked[], disclaimer, sources[], checked_at }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"domain","in":"query","required":true,"description":"Merchant domain to audit, for example allbirds.com.","schema":{"type":"string","example":"allbirds.com"}}]}},"/paid/tw-weather-check":{"get":{"summary":"Taiwan weather forecast and air quality for one county or city: the Central Weather Administration 36-hour forecast (...","description":"Taiwan weather forecast and air quality for one county or city: the Central Weather Administration 36-hour forecast (conditions, rain chance, min/max temperature, comfort) and real-time AQI readings from Ministry of Environment monitoring stations. Accepts Chinese or English city names. Government Open Data License v1.0 sources.","x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.005"}},"responses":{"200":{"description":"JSON: { city, forecast: {periods[{start, end, summary, rain_chance_pct, min_c, max_c, comfort}], note}, air_quality: {stations[], worst_aqi, average_aqi, note}|null, attribution, disclaimer, sources[], fetched_at }","content":{"application/json":{"schema":{"type":"object","description":"JSON: { city, forecast: {periods[{start, end, summary, rain_chance_pct, min_c, max_c, comfort}], note}, air_quality: {stations[], worst_aqi, average_aqi, note}|null, attribution, disclaimer, sources[], fetched_at }"}}}},"402":{"description":"Payment required. The PAYMENT-REQUIRED response header (base64, x402 v2) and the JSON response body (x402 v1 shape) both describe the same accepted payment options -- decode either to see accepted networks, asset, amount, and payTo per network. Retry with a signed payment.","content":{"application/json":{"schema":{"type":"object","description":"x402 v1-shaped payment-required challenge. See /agents.txt for the full pay-and-retry flow."}}}}},"parameters":[{"name":"city","in":"query","required":true,"description":"Taiwan county or city, in Chinese or English, for example 臺中市 or Taichung.","schema":{"type":"string","example":"臺中市"}},{"name":"air","in":"query","required":false,"description":"Set to 'false' to skip the air quality block. Default is to include it.","schema":{"type":"string","example":"true"}}]}}}}