{"service":"toolvend","description":"toolvend: a portfolio of small, fast, machine-payable utility APIs. No accounts, no API keys — pay per call with USDC via the x402 protocol.","protocol":"x402","payment":{"network":"eip155:8453","currency":"USDC","payTo":"0x55ae5d177cdc9493391a632794fd048e8dba4e20","accepts":[{"scheme":"exact","network":"eip155:8453","currency":"USDC","payTo":"0x55ae5d177cdc9493391a632794fd048e8dba4e20"},{"scheme":"exact","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","currency":"USDC","payTo":"FSnwAPTNNSxqnR8MtuNrtwLkyYusZ4hncp684HxYpdLb"}]},"pricingModel":"per-call, no accounts, no API keys","endpoints":[{"id":"dns","method":"GET","route":"/dns","price":"$0.005","description":"DNS lookup over DoH. Common record types (A, AAAA, MX, TXT, NS, CAA, ...) as clean JSON.","tags":["dns","domains","infrastructure"],"inputSchema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":253,"description":"DNS name to resolve"},"type":{"type":"string","enum":["A","AAAA","CNAME","MX","NS","TXT","SOA","SRV","CAA","DS","DNSKEY","TLSA","HTTPS"],"description":"Record type, default A"}},"required":["name"]},"inputExample":{"name":"example.com","type":"MX"}},{"id":"email-auth","method":"GET","route":"/email-auth/:domain","price":"$0.015","priceExperiment":{"id":"email-auth-2026-07","variants":[{"id":"control","price":"$0.01"},{"id":"up50","price":"$0.015"}]},"description":"Email authentication posture for a domain: DMARC + SPF records fetched, parsed, scored 0-100, with findings and fix recommendations.","tags":["email","dmarc","spf","security","deliverability"],"inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to analyse (path parameter)"}},"required":["domain"]},"inputExample":{"domain":"example.com"}},{"id":"rdap","method":"GET","route":"/rdap/:domain","price":"$0.005","description":"Domain registration data (modern WHOIS) via RDAP: registrar, created/expiry dates, status, nameservers, DNSSEC.","tags":["domains","whois","rdap"],"inputSchema":{"type":"object","properties":{"domain":{"type":"string","description":"Domain to look up (path parameter)"}},"required":["domain"]},"inputExample":{"domain":"example.com"}},{"id":"lei","method":"GET","route":"/lei/:lei","price":"$0.008","description":"Global legal-entity/KYB lookup by LEI: official identity, jurisdiction, addresses, registration and renewal standing, risk flags, and GLEIF data freshness.","tags":["lei","kyb","compliance","finance","companies"],"inputSchema":{"type":"object","properties":{"lei":{"type":"string","pattern":"^[A-Za-z0-9]{18}[0-9]{2}$","description":"20-character Legal Entity Identifier (path parameter); checksum is verified before payment"}},"required":["lei"]},"inputExample":{"lei":"5493001KJTIIGC8Y1R12"}},{"id":"sitemap","method":"GET","route":"/parse/sitemap","price":"$0.005","description":"Fetch and parse sitemap XML or gzip into JSON. For an index, follow the first N children with ?follow=N. Caps merged output at 500 URLs.","tags":["seo","crawling","sitemap"],"inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Public HTTP(S) sitemap URL, including .xml.gz, or a site origin to try /sitemap.xml"},"follow":{"type":"integer","minimum":0,"maximum":10,"description":"For a sitemap index, fetch and merge the first N children (default 0)"}},"required":["url"]},"inputExample":{"url":"https://example.com/sitemap.xml","follow":3}},{"id":"robots","method":"GET","route":"/parse/robots","price":"$0.005","description":"Fetch and parse robots.txt (+ llms.txt if present) into structured JSON, including which AI crawlers are blocked.","tags":["seo","crawling","robots","ai"],"inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Public HTTP(S) site origin or URL"}},"required":["url"]},"inputExample":{"url":"https://example.com"}},{"id":"extract","method":"POST","route":"/extract","price":"$0.01","priceVariants":[{"query":{"render":"true"},"price":"$0.03","description":"Execute JavaScript with Cloudflare Browser Run before extracting content."}],"description":"Fetch a web page and return structured content: title, meta/OpenGraph, canonical, headings, links, readable text (boilerplate stripped). Add ?render=true for JavaScript-rendered pages ($0.03).","tags":["scraping","content","extraction","web"],"inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Public HTTP(S) page URL to extract"},"includeLinks":{"type":"boolean","description":"Include outbound links (default true)"},"maxTextChars":{"type":"number","exclusiveMinimum":0,"description":"Cap on extracted text length, default 20000"}},"required":["url"]},"inputExample":{"url":"https://example.com/article"}},{"id":"text-clean","method":"POST","route":"/text/clean","price":"$0.003","description":"Clean text: strip HTML, normalise unicode/whitespace, dedupe lines. Returns cleaned text plus stats.","tags":["text","cleaning","preprocessing"],"inputSchema":{"type":"object","properties":{"text":{"type":"string","maxLength":500000,"description":"Input text (max 500,000 characters)"},"options":{"type":"object","properties":{"stripHtml":{"type":"boolean"},"normalizeWhitespace":{"type":"boolean"},"normalizeUnicode":{"type":"boolean"},"dedupeLines":{"type":"boolean"},"lowercase":{"type":"boolean"}}}},"required":["text"]},"inputExample":{"text":"Hello   <b>world</b>\nHello   <b>world</b>","options":{"stripHtml":true,"dedupeLines":true}}},{"id":"vat","method":"GET","route":"/vat","price":"$0.002","description":"VAT calculator for EU-27 + UK: net→gross or gross→net at standard or reduced rate. Includes rates table snapshot date.","tags":["finance","vat","tax","europe"],"inputSchema":{"type":"object","properties":{"amount":{"type":"number","minimum":0},"country":{"type":"string","description":"ISO 3166-1 alpha-2, e.g. DE, FR, GB"},"direction":{"type":"string","enum":["net_to_gross","gross_to_net"],"description":"default net_to_gross"},"rate":{"type":"string","enum":["standard","reduced"],"description":"default standard"}},"required":["amount","country"]},"inputExample":{"amount":100,"country":"DE","direction":"net_to_gross"}},{"id":"qr","method":"GET","route":"/qr","price":"$0.003","description":"QR code generator. Returns a crisp SVG for any text/URL payload up to 2KB.","tags":["qr","images","utility"],"inputSchema":{"type":"object","properties":{"data":{"type":"string","minLength":1,"maxLength":2048,"description":"Payload to encode (max 2,048 characters)"},"size":{"type":"number","minimum":64,"maximum":1024,"description":"SVG width/height in px, default 256"},"ecl":{"type":"string","enum":["L","M","Q","H"],"description":"Error correction, default M"}},"required":["data"]},"inputExample":{"data":"https://example.com","size":256}}],"health":"/health","docs":"/docs"}