{"x402Version":2,"resources":[{"resource":"https://assetfactory-jobs-x402.sigrunner.workers.dev/web/extract","type":"http","method":"GET","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xE601c3FeCbf9Fe9DacAC10b8b87167944cfe93A2","maxAmountRequired":"3000","price":"$0.003","maxTimeoutSeconds":300,"description":"Web content retrieval: the live-page read primitive. Fetches any public URL at request time and returns boilerplate-stripped main-content text, a light Markdown rendering, page metadata and the absolute outbound-link graph. Recovers real content from JS-rendered / SPA pages (React, Next.js, custom app shells) by reading embedded JSON-LD and hydration state with no headless browser, where a static reader returns empty. Keyless, SSRF-guarded, bounded; non-HTML raw. Up to 10 URLs per call."}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"urls":"https://blog.cloudflare.com/,https://news.ycombinator.com/","includeLinks":true,"includeMarkdown":true}},"output":{"type":"json","example":{"count":1,"stats":{"requested":1,"extracted":1,"ok":1,"failed":0},"records":[{"url":"https://blog.cloudflare.com/","final_url":"https://blog.cloudflare.com/","status":200,"content_type":"text/html; charset=utf-8","ok":true,"kind":"html","framework":"static","recovered_from":null,"structured":{"jsonld":[{"type":"Article","name":"What took the Internet offline"}],"jsonld_count":1},"title":"Cloudflare Blog","description":"Technical deep dives, product updates, and insights...","site_name":"The Cloudflare Blog","author":null,"published":null,"lang":"en","canonical":"https://blog.cloudflare.com/","headings":[{"level":2,"text":"What took the Internet offline in Q3 2026"}],"text":"October 30, 2026 ... clean main-content prose ...","markdown":"## What took the Internet offline in Q3 2026\n\n...","links":[{"url":"https://blog.cloudflare.com/post/","text":"Read more"}],"word_count":858,"reading_time_min":4,"char_count":6188,"truncated":false},{"url":"https://jobs.ashbyhq.com/openai","status":200,"ok":true,"kind":"html","framework":"static","recovered_from":"inline_state","title":"OpenAI Jobs","text":"Account Associate — Singapore ... $200K–$261K • Offers Equity ...","word_count":2190,"truncated":false}],"generated_at":"2026-10-30T00:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"urls":{"type":"string","description":"Comma-separated page URLs to fetch and clean (up to 10). Each is fetched LIVE at request time (never a cached snapshot), boilerplate-stripped, and returned as clean main-content text + light Markdown + metadata + links. The \"read a live page before reasoning\" primitive for an agent."},"includeMarkdown":{"type":"boolean","default":true,"description":"Return a light Markdown rendering of the main content."},"includeLinks":{"type":"boolean","default":true,"description":"Return absolute outbound links (url + anchor text) from the main content."},"maxChars":{"type":"integer","default":40000,"maximum":200000,"description":"Per-URL ceiling on returned text / markdown length."}},"required":["urls"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://assetfactory-jobs-x402.sigrunner.workers.dev/web/monitor","type":"http","method":"GET","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xE601c3FeCbf9Fe9DacAC10b8b87167944cfe93A2","maxAmountRequired":"3000","price":"$0.003","maxTimeoutSeconds":300,"description":"Web change-detection: the page-changed primitive. Fetches any public URL live and returns a compact content fingerprint (hashes + counts, never the body); given the prior fingerprint via `since`, it returns a changed verdict plus a category diff (content / headings / title / word-count / status). Suits a pricing page, docs changelog or status page. Stateless (the agent holds the fingerprints), keyless, SSRF-guarded. Selector/ignore rules; JSON-pointer + OpenAPI diff."}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"urls":"https://openai.com/pricing,https://docs.stripe.com/changelog","since":"<base64 JSON map url->prior fingerprint from a previous call>"}},"output":{"type":"json","example":{"count":1,"stats":{"requested":1,"ok":1,"failed":0,"changed":1,"unchanged":0,"baseline":0},"records":[{"url":"https://openai.com/pricing","final_url":"https://openai.com/pricing","ok":true,"status":200,"title":"Pricing","fingerprint":{"content_hash":"0a080719be9fbb82a86a45b80dc8c2a4","headings_hash":"e3b0c44298fc1c149afbf4c8996fb924","title":"Pricing","word_count":512,"heading_count":8,"link_count":null,"status":200},"changed":true,"diff":{"content_changed":true,"headings_changed":false,"title_changed":false,"word_count_delta":14,"status_changed":false},"checked_at":"2026-10-31T00:00:00.000Z"}],"generated_at":"2026-10-31T00:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"urls":{"type":"string","description":"Comma-separated page URLs to check for changes (up to 10). Each is fetched LIVE and reduced to a compact content fingerprint (hashes + counts, never the body). Watch a pricing page, docs changelog, status page, job board or a competitor's site and be told WHAT changed since you last looked."},"since":{"type":"string","description":"Optional base64-encoded JSON object mapping each url to the prior fingerprint returned by a previous call (or a bare prior content_hash string). Supply it to get a changed verdict + category diff; omit it to establish a baseline to store. STATELESS — the agent holds the fingerprints, the service holds no snapshot."},"selector":{"type":"string","description":"Optional CSS selector scoping the watch to one region of the page (price table, changelog list)."},"ignore":{"type":"string","description":"Optional pipe-separated CSS selectors dropped before fingerprinting (cookie banner, last-updated stamp)."},"ignoreText":{"type":"string","description":"Optional '|||'-separated regexes blanked from the text before hashing (timestamps, counters)."},"pointer":{"type":"string","description":"JSON endpoints: optional RFC-6901 JSON-Pointer scoping the structured diff to a subtree (e.g. /paths for OpenAPI)."},"maxChars":{"type":"integer","default":40000,"maximum":200000,"description":"Per-URL ceiling on the text region fingerprinted."}},"required":["urls"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://assetfactory-jobs-x402.sigrunner.workers.dev/web/sitemap","type":"http","method":"GET","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xE601c3FeCbf9Fe9DacAC10b8b87167944cfe93A2","maxAmountRequired":"3000","price":"$0.003","maxTimeoutSeconds":300,"description":"Site URL enumeration: discovers a domain's sitemaps via robots.txt (fallback /sitemap.xml), follows sitemap indexes, and returns page URLs with lastmod, optionally filtered by substring. The crawl-planning step before bulk page extraction. Keyless, SSRF-guarded, bounded."}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"site":"stripe.com","contains":"/docs"}},"output":{"type":"json","example":{"ok":true,"site":"https://stripe.com","sitemaps_fetched":2,"count":1,"truncated":false,"urls":[{"url":"https://stripe.com/docs","lastmod":"2026-10-01","sitemap":"https://stripe.com/sitemap.xml"}],"skipped":[],"errors":[],"generated_at":"2026-10-31T00:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"site":{"type":"string","description":"Domain, site URL or a direct sitemap .xml URL. Sitemaps are discovered via robots.txt Sitemap: lines, falling back to /sitemap.xml."},"contains":{"type":"string","description":"Optional case-insensitive substring filter applied to page URLs (e.g. /blog, /docs)."},"maxUrls":{"type":"integer","default":500,"maximum":5000,"description":"Ceiling on page URLs returned."},"maxSitemaps":{"type":"integer","default":5,"maximum":10,"description":"Ceiling on sitemap files fetched when following a sitemap index."}},"required":["site"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://assetfactory-jobs-x402.sigrunner.workers.dev/web/crawl","type":"http","method":"GET","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xE601c3FeCbf9Fe9DacAC10b8b87167944cfe93A2","maxAmountRequired":"4000","price":"$0.004","maxTimeoutSeconds":300,"description":"Web site crawl: from one seed URL, follow same-domain links breadth-first and return clean main-content text + light Markdown + metadata for every page reached. The buyer does not pre-know the page list — what extract (needs URLs) and sitemap (only enumerates) cannot do. One payment fans out to a bounded recursive crawl (<=50 pages, depth <=4), domain-scoped, with include/exclude filters and SPA/JS recovery. Keyless pay-per-call equivalent of a key-gated crawl API."}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"url":"https://blog.cloudflare.com/","limit":15,"maxDepth":2}},"output":{"type":"json","example":{"seed":"https://blog.cloudflare.com/","ok":true,"stats":{"seed_host":"blog.cloudflare.com","scope":"same_domain","discovered":55,"crawled":15,"ok":15,"failed":0,"max_depth_reached":2,"limit":15,"max_depth":2,"frontier_truncated":true},"pages":[{"url":"https://blog.cloudflare.com/","depth":0,"status":200,"ok":true,"kind":"html","title":"The Cloudflare Blog","text":"clean main-content prose ...","markdown":"## ...","word_count":858,"char_count":6248,"recovered_from":null,"injection_suspected":false},{"url":"https://blog.cloudflare.com/dns-targeted-zone-builds/","depth":1,"status":200,"ok":true,"kind":"html","title":"How we halved DNS build delay","text":"...","word_count":2100,"char_count":14000}],"generated_at":"2026-11-04T00:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"url":{"type":"string","description":"Seed page URL. The crawl starts here, follows same-domain links breadth-first and returns clean content for every page it reaches. The buyer does not need to know the page list in advance."},"limit":{"type":"integer","default":15,"maximum":50,"description":"Hard ceiling on pages crawled (and billed as one call). Bounded downside."},"maxDepth":{"type":"integer","default":2,"maximum":4,"description":"Link-follow depth from the seed (0 = seed only)."},"sameHost":{"type":"boolean","default":false,"description":"true restricts the crawl to the seed's exact host; default follows the whole registrable domain (e.g. jobs.stripe.com from stripe.com)."},"include":{"type":"string","description":"Only crawl URLs whose path/query contains this case-insensitive substring (e.g. /docs)."},"exclude":{"type":"string","description":"Skip URLs whose path/query contains this substring (e.g. /author/)."},"useSitemap":{"type":"boolean","default":false,"description":"Also seed the frontier from the site's sitemap so a link-sparse SPA still reaches real pages."},"includeMarkdown":{"type":"boolean","default":true,"description":"Return a light Markdown rendering per page."},"includeLinks":{"type":"boolean","default":false,"description":"Include each page's outbound-link graph in the output (always used internally for discovery)."},"maxChars":{"type":"integer","default":20000,"maximum":200000,"description":"Per-page ceiling on returned text / markdown length."}},"required":["url"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://assetfactory-jobs-x402.sigrunner.workers.dev/jobs/search","type":"http","method":"GET","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xE601c3FeCbf9Fe9DacAC10b8b87167944cfe93A2","maxAmountRequired":"4000","price":"$0.004","maxTimeoutSeconds":300,"description":"Jobs read live from each company's own board at request time — every role is authoritatively open now, not a resold cached-database snapshot. Each row carries structured depth: parsed geography (location_parsed), canonical employment_type, mapped seniority, extracted requirements (skills / min-years / education) and a ghost_candidate flag for evergreen listings. Company-domain auto-detection across 10 ATS (Greenhouse, Lever, Ashby, Workday + 6 more). A maintained, drift-monitored feed."}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"companies":"stripe.com,lever:palantir,bunq.com","maxPerCompany":25,"includeDescription":false}},"output":{"type":"json","example":{"count":2,"jobs":[{"id":"gh-4012345","title":"Senior Backend Engineer","company":"Stripe","location":"Remote - US","location_parsed":{"city":null,"state":null,"country":"United States","country_code":"US","countries":["US"],"workplace":"remote","is_remote":true,"multi_location":false,"raw":"Remote - US"},"remote":true,"employment_type":"full_time","employment_type_source":"description","seniority":"senior","seniority_source":"title","department":"Engineering","url":"https://job-boards.greenhouse.io/stripe/jobs/4012345","posted_at":"2026-10-21T00:00:00.000Z","age_days":9,"days_open":9,"ghost_candidate":false,"ghost_signals":[],"requirements":{"skills":[{"name":"Go","category":"language"},{"name":"PostgreSQL","category":"data"},{"name":"Kubernetes","category":"devops"},{"name":"AWS","category":"cloud"}],"skill_names":["Go","PostgreSQL","Kubernetes","AWS"],"skills_count":4,"categories":["cloud","data","devops","language"],"years_experience_min":5,"education_level":"bachelors","source":"description"},"source_platform":"greenhouse"}],"resolutions":[{"input":"stripe.com","platform":"greenhouse","token":"stripe","ok":true}],"generated_at":"2026-10-29T00:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"companies":{"type":"string","description":"Comma-separated company domains / slugs / \"platform:token\" (e.g. \"stripe.com,lever:palantir\"). Up to 25. The ATS + board token are auto-detected across all 10 supported platforms."},"maxPerCompany":{"type":"integer","minimum":1,"maximum":200,"default":50,"description":"Max normalized postings returned per company."},"includeDescription":{"type":"boolean","default":false,"description":"Include the full job description text in each posting."}},"required":["companies"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://assetfactory-jobs-x402.sigrunner.workers.dev/hiring/signal","type":"http","method":"GET","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xE601c3FeCbf9Fe9DacAC10b8b87167944cfe93A2","maxAmountRequired":"3000","price":"$0.003","maxTimeoutSeconds":300,"description":"Is this company hiring right now, ramping or stale? Live hiring / buying-intent signal per company (open-req count, intensity grade, a posting-recency verdict surging|active|steady|stale with fresh_7d/fresh_30d/stale_90d + median posting age, and department + location histograms) derived from the maintained 10-ATS layer. One aggregate record per company — live freshness no resold firmographics DB carries."}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"companies":"stripe.com,bunq.com,lever:palantir","maxScan":500}},"output":{"type":"json","example":{"count":1,"signals":[{"input":"stripe.com","resolved":true,"ats_vendor":"greenhouse","board_token":"stripe","open_reqs":724,"intensity":"very_high","recency":{"dated_reqs":724,"fresh_7d":81,"fresh_30d":232,"stale_90d":197,"median_age_days":44,"fresh_share_30d":0.32,"verdict":"active"},"remote_reqs":410,"remote_share":0.57,"distinct_locations":38,"top_departments":[{"name":"Engineering","count":210}],"top_locations":[{"name":"Remote - US","count":180}],"newest_post":"2026-10-29T00:00:00.000Z"}],"generated_at":"2026-10-29T00:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"companies":{"type":"string","description":"Comma-separated company domains / slugs / \"platform:token\" (e.g. \"stripe.com,bunq.com\"). Up to 25. The ATS + board token are auto-detected across all 10 supported platforms."},"maxScan":{"type":"integer","minimum":1,"maximum":1000,"default":500,"description":"Max postings scanned per company to compute the signal (bounds compute; the response is one aggregate record per company, never listings)."}},"required":["companies"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://assetfactory-jobs-x402.sigrunner.workers.dev/jobs/comp","type":"http","method":"GET","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xE601c3FeCbf9Fe9DacAC10b8b87167944cfe93A2","maxAmountRequired":"10000","price":"$0.01","maxTimeoutSeconds":300,"description":"Normalized compensation layer across 10 ATS platforms: unifies structured salary fields AND pay-transparency text in descriptions into {min,max,currency,period,annualized} per posting + per-company disclosure rate + median band. A live read no resold DB carries."}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"companies":"stripe.com,lever:palantir,ashby:openai","maxPerCompany":100,"disclosedOnly":false}},"output":{"type":"json","example":{"count":1,"disclosed_count":1,"jobs":[{"id":"ashby-abc123","company":"openai","title":"Research Engineer","location":"San Francisco","url":"https://jobs.ashbyhq.com/openai/abc123","source_platform":"ashby","comp":{"min":245000,"max":385000,"currency":"USD","period":"year","source":"structured","annualized":{"min":245000,"max":385000}}}],"summary":[{"company":"openai","postings":1,"disclosed":1,"disclosure_rate":1,"currency":"USD","median_annual_min":245000,"median_annual_max":385000}],"generated_at":"2026-10-29T00:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"companies":{"type":"string","description":"Comma-separated company domains / slugs / \"platform:token\" (up to 25). The ATS + board token are auto-detected across all 10 supported platforms."},"maxPerCompany":{"type":"integer","minimum":1,"maximum":200,"default":100,"description":"Max postings scanned per company (bounds compute)."},"disclosedOnly":{"type":"boolean","default":false,"description":"When true, drop postings with no disclosed comp."}},"required":["companies"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://assetfactory-jobs-x402.sigrunner.workers.dev/company/enrich","type":"http","method":"GET","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xE601c3FeCbf9Fe9DacAC10b8b87167944cfe93A2","maxAmountRequired":"10000","price":"$0.01","maxTimeoutSeconds":300,"description":"Company enrichment: one firmographic record per domain from a bounded keyless site crawl + tech-stack fingerprint + keyless DNS/RDAP depth (email provider, SaaS-from-DNS, domain age + registrar) + the live multi-ATS hiring block. A maintained capability no resold DB carries."}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"companies":"stripe.com,bunq.com","maxPerCompany":1,"includeHiring":true}},"output":{"type":"json","example":{"count":1,"stats":{"requested":1,"processed":1,"emitted":1,"ok":1,"thin":0},"records":[{"canonical_domain":"stripe.com","company_name":"Stripe","industry":"Financial Services","tech_stack":[{"name":"Next.js","category":"js-framework"}],"email_provider":"Google Workspace","dns_saas":[{"name":"Atlassian","category":"dev-tools"}],"domain_age_years":31.1,"registrar":"SafeNames Ltd.","office_address":{"locality":"London","postal_code":"EC2A 2AG","country":"GB","formatted":"Broadwalk House, 5 Appold St, London, EC2A 2AG","source":"jsonld"},"legal_registration":{"vat_number":"GB123456789","vat_country":"GB","company_number":"09446231","registry":"UK-Companies-House"},"hiring":{"ats_vendor":"greenhouse","open_reqs_count":738,"hiring_intensity":"high"},"enrichment_status":"ok"}],"generated_at":"2026-10-30T00:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"companies":{"type":"string","description":"Comma-separated company domains (up to 25). One enriched firmographic record per company, deduped by canonical domain."},"includeHiring":{"type":"boolean","default":true,"description":"Attach the live multi-ATS hiring block (open-req count, ATS vendor, intensity)."},"includeTech":{"type":"boolean","default":true,"description":"Attach the detected tech stack fingerprint from the crawl."},"includeDns":{"type":"boolean","default":true,"description":"Attach keyless DNS/RDAP depth: email provider, SaaS-from-DNS, domain age + registrar."},"maxPages":{"type":"integer","minimum":1,"maximum":8,"default":4,"description":"Pages crawled per company (bounds compute)."}},"required":["companies"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}},{"resource":"https://assetfactory-jobs-x402.sigrunner.workers.dev/email/verify","type":"http","method":"GET","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0xE601c3FeCbf9Fe9DacAC10b8b87167944cfe93A2","maxAmountRequired":"2000","price":"$0.002","maxTimeoutSeconds":60,"description":"Email verification: one deliverability record per address — MX / implicit-MX routing, SPF + DMARC posture, disposable / role / free-provider flags against a loop-maintained throwaway-domain corpus, a derived typo \"did-you-mean\" and an A-F grade. Keyless, no SMTP probe."}],"extensions":{"bazaar":{"info":{"input":{"type":"http","method":"GET","queryParams":{"emails":"jane@stripe.com,info@acme.com"}},"output":{"type":"json","example":{"count":1,"stats":{"requested":1,"verified":1,"deliverable":1,"risky":0,"undeliverable":0},"records":[{"email":"jane@stripe.com","domain":"stripe.com","valid_syntax":true,"mx_found":true,"email_provider":"Google Workspace","provider_class":"hosted_suite","catch_all_risk":"medium","is_disposable":false,"is_role_account":false,"is_free_provider":false,"spf_present":true,"dmarc_present":true,"dmarc_policy":"reject","did_you_mean":null,"deliverable":"deliverable","score":100,"grade":"A","reasons":["clean"]}],"generated_at":"2026-10-30T00:00:00.000Z"}}},"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"input":{"type":"object","properties":{"type":{"type":"string","const":"http"},"method":{"type":"string","enum":["GET","HEAD","DELETE"]},"queryParams":{"type":"object","properties":{"emails":{"type":"string","description":"Comma-separated email addresses (up to 100). One deliverability record per address: MX/implicit-MX routing, SPF + DMARC posture, disposable / role / free-provider flags, a derived \"did-you-mean\" typo suggestion, and an A-F grade. Keyless (DoH) — no SMTP mailbox probe (reported honestly)."},"checkSenderPosture":{"type":"boolean","default":true,"description":"Include SPF + DMARC presence/policy (spoofability signal)."}},"required":["emails"]}},"required":["type","method"],"additionalProperties":false},"output":{"type":"object","properties":{"type":{"type":"string"},"example":{"type":"object"}},"required":["type"]}},"required":["input"]}}}}],"facilitator":"https://facilitator.payai.network"}