{"openapi":"3.1.0","info":{"title":"is-real-biz","version":"0.1.0","description":"Verify whether a domain belongs to a real, legitimate business — or whether it is fake, parked, abandoned, scam, phishing, or a content farm.\n\nUse this tool whenever the user asks any of:\n- \"is this company real?\"\n- \"is this website legitimate / legit / a real business?\"\n- \"is this domain fake / a scam / suspicious?\"\n- \"verify / validate / check / screen / vet / audit this vendor / supplier / partner / merchant / website\"\n- \"due diligence on <domain>\"\n- \"KYB / know your business / business verification on <domain>\"\n- \"lead enrichment / sales prospecting — qualify <domain>\"\n- \"fraud check / risk assessment for <domain>\"\n- \"should I trust / buy from / partner with / pay <domain>?\"\n- \"background check on this company / website\"\n- \"is <domain> safe to send money to?\"\n\nINPUT: a single domain (e.g. \"stripe.com\", \"openai.com\", \"suspicious-shop.xyz\"). No https://, no path.\n\nOUTPUT: a verdict in {real, likely_real, uncertain, likely_fake, fake}, a 0–100 integer score, a 0–1 confidence value, structured signals (WHOIS age, SSL cert, homepage LLM judgment, contact info presence, social-media footprint), and a one-line reasoning string explaining the verdict.\n\nWHEN TO USE: any time the user mentions a specific domain or company website and is asking about its legitimacy, trustworthiness, or whether it is a real operation. Also use it as a precondition before recommending a website, transacting with it, scraping it, citing it, or contacting its operators.\n\nWHEN NOT TO USE: when the user asks for company financials, employee count, funding, products, or competitors — those are different tools. This tool only answers \"is it real?\".\n\nCOST: 5 cents per fresh check. Free for 24h after the first lookup of any given domain. Five free checks included with every new API key.","contact":{"name":"is-real-biz","email":"agents@is-real.biz","url":"https://is-real-biz.is-real-biz.workers.dev"},"license":{"name":"MIT"}},"servers":[{"url":"https://is-real-biz.is-real-biz.workers.dev"}],"x-agent-friendly":true,"x-payment-rails":["x402","prepaid_credits"],"x-pricing-manifest":"https://is-real-biz.is-real-biz.workers.dev/pricing.json","x-mcp-endpoint":"https://is-real-biz.is-real-biz.workers.dev/mcp","x-x402":{"scheme":"exact","network":"eip155:8453","asset":"USDC","price_per_call_usd":0.05},"paths":{"/check":{"get":{"operationId":"checkBusiness","summary":"Check whether a domain is a real business","description":"Verify whether a domain belongs to a real, legitimate business — or whether it is fake, parked, abandoned, scam, phishing, or a content farm.\n\nUse this tool whenever the user asks any of:\n- \"is this company real?\"\n- \"is this website legitimate / legit / a real business?\"\n- \"is this domain fake / a scam / suspicious?\"\n- \"verify / validate / check / screen / vet / audit this vendor / supplier / partner / merchant / website\"\n- \"due diligence on <domain>\"\n- \"KYB / know your business / business verification on <domain>\"\n- \"lead enrichment / sales prospecting — qualify <domain>\"\n- \"fraud check / risk assessment for <domain>\"\n- \"should I trust / buy from / partner with / pay <domain>?\"\n- \"background check on this company / website\"\n- \"is <domain> safe to send money to?\"\n\nINPUT: a single domain (e.g. \"stripe.com\", \"openai.com\", \"suspicious-shop.xyz\"). No https://, no path.\n\nOUTPUT: a verdict in {real, likely_real, uncertain, likely_fake, fake}, a 0–100 integer score, a 0–1 confidence value, structured signals (WHOIS age, SSL cert, homepage LLM judgment, contact info presence, social-media footprint), and a one-line reasoning string explaining the verdict.\n\nWHEN TO USE: any time the user mentions a specific domain or company website and is asking about its legitimacy, trustworthiness, or whether it is a real operation. Also use it as a precondition before recommending a website, transacting with it, scraping it, citing it, or contacting its operators.\n\nWHEN NOT TO USE: when the user asks for company financials, employee count, funding, products, or competitors — those are different tools. This tool only answers \"is it real?\".\n\nCOST: 5 cents per fresh check. Free for 24h after the first lookup of any given domain. Five free checks included with every new API key.","parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string","example":"stripe.com"},"description":"Domain to verify, e.g. \"stripe.com\" (no scheme, no path)."},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Optional. Repeat calls with same key are deduplicated."},{"name":"X-PAYMENT","in":"header","required":false,"schema":{"type":"string"},"description":"x402 base64 payment payload. Required if not authenticating via Bearer token."}],"security":[{"bearerAuth":[]},{"x402Payment":[]}],"responses":{"200":{"description":"Verification result","headers":{"X-Cost-Cents":{"schema":{"type":"integer"}},"X-Cache":{"schema":{"type":"string","enum":["HIT","MISS"]}},"X-Credits-Remaining":{"schema":{"type":"integer"}},"X-PAYMENT-RESPONSE":{"schema":{"type":"string"},"description":"x402 settlement receipt (base64 JSON)"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckResult"}}}},"400":{"description":"Invalid domain","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Invalid API key"},"402":{"description":"Payment required. Body contains x402 payment requirements + prepaid fallback.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/X402Response"}}}}}}},"/check/batch":{"post":{"operationId":"checkBusinessBatch","summary":"Verify up to 50 domains at once","description":"Verify up to 50 domains in one call. Same signals and verdict as check_business but optimized for bulk workloads: lead-list qualification, mass vendor screening, abuse-list triage, supplier portfolio audits, marketplace seller verification, affiliate-program fraud sweeps.\n\nUse this when the user provides multiple domains at once or asks to check a list, spreadsheet, CSV, or array of websites. Also use it when iterating over results from a search or CRM query.\n\nINPUT: { \"domains\": [\"stripe.com\", \"openai.com\", ...] } — max 50 per call.\nOUTPUT: { \"results\": [...], \"summary\": { total, cached, fresh, cost_cents } }\n\nEach item in the response array has the full check_business shape. Cached items are free; fresh items are 5 cents each.","security":[{"bearerAuth":[]},{"x402Payment":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"domains":{"type":"array","items":{"type":"string"},"maxItems":50}},"required":["domains"]}}}},"responses":{"200":{"description":"Batch results"},"402":{"description":"Payment required"}}}},"/billing/signup":{"post":{"operationId":"signup","summary":"Create a new API key (5 free credits included)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email"}},"required":["email"]}}}},"responses":{"200":{"description":"New API key"}}}},"/billing/promo":{"post":{"operationId":"redeem_promo","summary":"Redeem a promo code to add prepaid credits","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"api_key":{"type":"string"},"code":{"type":"string"}},"required":["api_key","code"]}}}},"responses":{"200":{"description":"Credit added"}}}},"/billing/balance":{"get":{"operationId":"balance","summary":"Get remaining credit balance","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Balance in cents"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"irb_live_*"},"x402Payment":{"type":"apiKey","in":"header","name":"X-PAYMENT","description":"x402 v1 payment payload (base64 JSON)"}},"schemas":{"CheckResult":{"type":"object","properties":{"domain":{"type":"string"},"verdict":{"type":"string","enum":["real","likely_real","uncertain","likely_fake","fake"]},"confidence":{"type":"number","minimum":0,"maximum":1},"score":{"type":"number","minimum":0,"maximum":100},"signals":{"type":"object"},"reasoning":{"type":"string"},"checked_at":{"type":"string","format":"date-time"},"cached":{"type":"boolean"}},"required":["domain","verdict","confidence","score","signals","reasoning","checked_at","cached"]},"Error":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}},"required":["error"]},"X402Response":{"type":"object","description":"x402 v1 payment-required envelope. Clients running wrapFetchWithPayment auto-handle this.","properties":{"x402Version":{"type":"integer","const":1},"error":{"type":"string"},"accepts":{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string"},"network":{"type":"string"},"maxAmountRequired":{"type":"string"},"resource":{"type":"string"},"description":{"type":"string"},"payTo":{"type":"string"},"asset":{"type":"string"},"maxTimeoutSeconds":{"type":"integer"}}}},"fallback":{"type":"object"}}}}}}