{"name":"TariffMonkee","description":"Pay-per-call web data APIs for AI agents over the x402 protocol. Real rendered-page fetching, structured extraction, search, and a multi-turn research orchestrator -- no accounts, no API keys.","supportedInterfaces":[{"url":"https://tariffmonkee.com/paid/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"provider":{"organization":"TariffMonkee","url":"https://tariffmonkee.com"},"version":"1.0.0","documentationUrl":"https://tariffmonkee.com/docs","capabilities":{"streaming":false,"pushNotifications":false,"extendedAgentCard":false,"extensions":[{"uri":"github.com/google-agentic-commerce/ap2/tree/v0.1","description":"Payment authorization via Google's Agent Payments Protocol. Mandate verification happens on the calling agent's side; settlement terminates in a standard x402 payment on Base or Solana mainnet, the same rail every endpoint on this service already uses.","required":false}]},"defaultInputModes":["application/json"],"defaultOutputModes":["application/json"],"skills":[{"id":"tariffmonkee-content","name":"Content","description":"Use this when you need the readable text of a specific web page and either don't have your own scraper, or the page needs real JavaScript execution to render correctly (single-page apps, client-side-rendered docs, dynamically loaded articles) -- a plain HTTP fetch of the raw HTML would miss that content. Requires knowing the URL already; use tariffmonkee-search first if you don't. Returns Markdown, not structured data -- pair with tariffmonkee-extract if you need specific fields pulled out of the result rather than the whole page. Repeat calls for the same URL within 24 hours are served from cache, so re-checking a page you already fetched is cheap.","tags":["content","browser","markdown","scraping"],"examples":["{\"skill\":\"tariffmonkee-content\",\"params\":{\"url\":\"https://example.com\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-screenshot","name":"Screenshot","description":"Use this when you need a visual capture of a page, not its text -- confirming what a page actually looks like, checking that a UI or layout change took visible effect, or producing visual evidence of a page's state at a point in time. The HTTP response body is the raw PNG image itself, not JSON. Renders with real JavaScript execution first, same as tariffmonkee-content, so client-side-rendered pages capture correctly rather than showing a blank or loading state.","tags":["screenshot","browser","visual","png"],"examples":["{\"skill\":\"tariffmonkee-screenshot\",\"params\":{\"url\":\"https://example.com\"}}"],"inputModes":["application/json"],"outputModes":["image/png"]},{"id":"tariffmonkee-pdf","name":"Pdf","description":"Use this when you need an archival or printable snapshot of a full page as a file -- a record of a page's content and layout at a point in time, suitable for saving, sharing, or printing. The HTTP response body is the raw PDF file itself, not JSON. If you only need the text content and not a file, tariffmonkee-content is cheaper and returns Markdown directly.","tags":["pdf","browser","archival"],"examples":["{\"skill\":\"tariffmonkee-pdf\",\"params\":{\"url\":\"https://example.com\"}}"],"inputModes":["application/json"],"outputModes":["application/pdf"]},{"id":"tariffmonkee-extract","name":"Extract","description":"Use this when you already have raw text or Markdown content in hand -- from a prior tariffmonkee-content call, or text already in your own context -- and want specific structured fields pulled out of it against a JSON Schema you supply. Pure AI extraction with no browser render involved, so it's cheaper and faster than tariffmonkee-extract-url. Use tariffmonkee-extract-url instead if you only have a URL and haven't fetched the page content yet.","tags":["extraction","structured-data","ai"],"examples":["{\"skill\":\"tariffmonkee-extract\",\"params\":{\"content\":\"Example Domain. This domain is for use in illustrative examples in documents.\",\"schema\":\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"title\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"title\\\"]}\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-extract-url","name":"Extract Url","description":"Use this when you have a URL but not the page content yet, and want structured data extracted from it in a single call -- fetches with a real rendered browser and extracts against your JSON Schema in one round trip, trying multiple AI models in sequence for reliability. If you already have the content in hand, tariffmonkee-extract is cheaper since it skips the browser render entirely. Results are cached for 24 hours per URL+schema combination, so repeating the same extraction on the same page is cheap.","tags":["extraction","structured-data","ai","browser"],"examples":["{\"skill\":\"tariffmonkee-extract-url\",\"params\":{\"url\":\"https://example.com\",\"schema\":\"{\\\"type\\\":\\\"object\\\",\\\"properties\\\":{\\\"title\\\":{\\\"type\\\":\\\"string\\\"}},\\\"required\\\":[\\\"title\\\"]}\",\"prompt\":\"Extract the main heading and the first paragraph.\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-aeo-audit","name":"Aeo Audit","description":"Use this when you want to know how ready a page is for AI and agent consumption specifically, not human browsing -- it checks schema.org structured data, crawlability (robots.txt, meta robots, canonical tags), and llms.txt presence, then returns a 0-100 score with specific, actionable fixes. Useful for auditing your own site, a client's site, or deciding how much to trust a page as a citable source.","tags":["audit","seo","aeo","schema.org"],"examples":["{\"skill\":\"tariffmonkee-aeo-audit\",\"params\":{\"url\":\"https://example.com\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-search","name":"Search","description":"Use this when you need to find pages on a topic and don't already know a specific URL -- this is the entry point, not tariffmonkee-content, when you're starting from a question rather than a known page. Backed by three search providers with automatic failover, so a single provider outage doesn't take it down. Pass region=tw for a Traditional Chinese / Taiwan-region search lane instead of the global default. Returns titles, URLs, and snippets only -- pair with tariffmonkee-content for full page text, or use tariffmonkee-research instead if you want both search and fetch done for you in one call.","tags":["search","discovery"],"examples":["{\"skill\":\"tariffmonkee-search\",\"params\":{\"query\":\"best bubble tea taipei\",\"region\":\"tw\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-research","name":"Research","description":"Use this instead of chaining tariffmonkee-search followed by several tariffmonkee-content calls yourself -- it does both in one call, deduping sources by domain and packing up to 10 rendered sources into a single roughly-8,000-token bundle sized for direct use in your context. Requires at least 3 successfully fetched sources to succeed, and reports sources_requested vs. sources_returned so you can see how many of the candidate set actually came back. Costs more than a single search or content call, but replaces several of them -- reach for this when you want a research bundle for a topic, not a single page or a single search results list.","tags":["api"],"examples":["{\"skill\":\"tariffmonkee-research\",\"params\":{\"query\":\"electric scooter import regulations Taiwan\",\"region\":\"tw\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-linkcheck","name":"Linkcheck","description":"Use this when you need a safety verdict on a specific URL before fetching it, sharing it, or acting on it -- checks the redirect chain, detects homograph/punycode hostname tricks, and cross-references the destination against the URLhaus threat feed. Not a domain-wide audit; use tariffmonkee-sitegrade for configuration quality or tariffmonkee-domain-intel for ownership facts. If you need all three synthesized together, use tariffmonkee-trust-audit instead.","tags":["security","url","reputation","threat-intel"],"examples":["{\"skill\":\"tariffmonkee-linkcheck\",\"params\":{\"url\":\"https://example.com\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-sitegrade","name":"Sitegrade","description":"Use this when you need to grade how well a domain is technically configured -- HTTPS reachability, security headers (HSTS, CSP, X-Frame-Options, and more), and CAA records, returned as a 0-100 score with an A-F letter grade. Reports HTTPS connect success/failure, not raw certificate expiry -- Cloudflare Workers can't read a remote server's certificate metadata directly. Not for ownership/registration facts (use tariffmonkee-domain-intel) or single-URL reputation (use tariffmonkee-linkcheck).","tags":["security","headers","tls","audit"],"examples":["{\"skill\":\"tariffmonkee-sitegrade\",\"params\":{\"domain\":\"example.com\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-domain-intel","name":"Domain Intel","description":"Use this when you need registration and ownership facts for a domain -- age, registrar, privacy-proxy status, nameservers, and mail provider, via RDAP. A domain younger than 30 days is flagged directly in the result. Not a configuration grade (use tariffmonkee-sitegrade) or URL-specific reputation check (use tariffmonkee-linkcheck).","tags":["security","whois","rdap","domain"],"examples":["{\"skill\":\"tariffmonkee-domain-intel\",\"params\":{\"domain\":\"example.com\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-email-verify","name":"Email Verify","description":"Use this when you need a deliverability verdict on a single email address -- syntax, MX record presence, disposable-domain match, and SPF/DMARC presence on its domain. Scoped to one address, not a domain-wide audit; use tariffmonkee-sitegrade if you need the sending domain's broader security posture.","tags":["security","email","deliverability","verification"],"examples":["{\"skill\":\"tariffmonkee-email-verify\",\"params\":{\"email\":\"test@example.com\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-trust-audit","name":"Trust Audit","description":"Use this instead of calling tariffmonkee-linkcheck, tariffmonkee-sitegrade, and tariffmonkee-domain-intel separately when you want one synthesized trust read -- it runs all three (plus tariffmonkee-email-verify if you supply an email) and returns a confidence-weighted verdict that explicitly flags disagreement between sources, e.g. a brand-new domain paired with an unusually mature TLS/header setup, rather than just concatenating four results. Costs more than any single check, but replaces several of them -- reach for this when you want the full picture, not one signal. Supply at least one of domain, url, or email.","tags":["security","audit","orchestration","synthesis"],"examples":["{\"skill\":\"tariffmonkee-trust-audit\",\"params\":{\"domain\":\"example.com\",\"url\":\"https://example.com\",\"email\":\"test@example.com\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-gbp-audit","name":"Gbp Audit","description":"Use this when you need to audit a business's Google Business Profile -- missing fields (phone, website, description, category, photos, hours), claimed status, and review health (rating, review count, low-rating share). Requires a location string, not just a business name, since common business names are ambiguous without one. AI-readiness in the result reuses tariffmonkee-aeo-audit against the listing's own domain when one exists.","tags":["local-seo","google-business-profile","audit","reviews"],"examples":["{\"skill\":\"tariffmonkee-gbp-audit\",\"params\":{\"business\":\"RustyBrick, Inc.\",\"location\":\"New York,New York,United States\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-serp-check","name":"Serp Check","description":"Use this when you need to know whether and where a specific domain ranks for a specific keyword in Google's organic results -- not a list of top results (use tariffmonkee-search for that), a targeted rank check for one domain you already have in mind.","tags":["local-seo","rank-tracking","serp"],"examples":["{\"skill\":\"tariffmonkee-serp-check\",\"params\":{\"keyword\":\"best bubble tea taipei\",\"domain\":\"example.com\",\"region\":\"tw\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-ai-visibility","name":"Ai Visibility","description":"Use this when you need to know whether a business actually gets mentioned or cited when a real AI model with web search answers a specific question -- sends the real query to a live model and checks the real response, not a prediction. Costs more than most flat endpoints since it pays for an underlying AI model call; use it when the specific query matters, not for broad monitoring.","tags":["local-seo","geo","ai-search","brand-monitoring"],"examples":["{\"skill\":\"tariffmonkee-ai-visibility\",\"params\":{\"business\":\"RustyBrick, Inc.\",\"query\":\"best web design agency in New York\",\"domain\":\"example.com\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"tariffmonkee-research-orchestrator","name":"Research Orchestrator","description":"Multi-turn research: checks your query is specific enough to search, automatically broadens and retries once if the first pass returns too few sources, and asks a clarifying question -- pausing the task, resumable with a follow-up message carrying the same taskId -- only if that isn't enough. Wraps the same research engine as tariffmonkee-research, with real iterative reasoning around it rather than a single fixed call.","tags":["research","search","orchestration","multi-turn","agentic"],"examples":["{\"skill\":\"tariffmonkee-research-orchestrator\",\"params\":{\"query\":\"electric scooter import regulations taiwan\"}}"],"inputModes":["application/json"],"outputModes":["application/json"]}]}