{"openapi":"3.1.0","info":{"title":"Tavily via Locus MPP","version":"1.0.0","description":"AI-optimized web search, content extraction, site mapping, and crawling API.","contact":{"email":"api@paywithlocus.com"},"x-guidance":"Use the documented POST operations for Tavily. Send JSON matching each requestBody schema. Unpaid public x402 requests return an x402 v2 payment challenge; retry the same body with PAYMENT-SIGNATURE and the returned x-locus-request-id."},"x-agentcash-guidance":{"llmsTxtUrl":"https://paywithlocus.com/mpp/tavily.md"},"x-service-info":{"categories":["search"],"docs":{"homepage":"https://tavily.com","apiReference":"https://docs.tavily.com","llms":"https://paywithlocus.com/mpp/tavily.md"}},"paths":{"/tavily/search":{"post":{"operationId":"tavily_search","summary":"Search","description":"Execute a web search query optimized for AI agents. Returns relevant results with optional AI-generated answer.","tags":["Web Search & Scraping"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":null,"currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.09 (basic) / $0.16 (advanced)"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","description":"Search query"},"search_depth":{"type":"string","description":"Search depth: 'basic' (default) or 'advanced'"},"topic":{"type":"string","description":"Topic category: 'general' (default) or 'news'"},"max_results":{"type":"number","description":"Maximum number of results (default 5)"},"include_answer":{"anyOf":[{"type":"boolean"},{"type":"string"}],"description":"Include AI-generated answer: true, false, or 'advanced'"},"include_raw_content":{"type":"boolean","description":"Include raw HTML content in results"},"include_images":{"type":"boolean","description":"Include related images in results"},"include_domains":{"type":"array","items":{"type":"string"},"description":"Only include results from these domains"},"exclude_domains":{"type":"array","items":{"type":"string"},"description":"Exclude results from these domains"},"days":{"type":"number","description":"Only return results from the last N days"},"country":{"type":"string","description":"Country code for search results (e.g. \"us\", \"gb\")"}},"required":["query"],"additionalProperties":true},"example":{"query":"x402 discovery"}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/tavily/extract":{"post":{"operationId":"tavily_extract","summary":"Extract","description":"Extract clean content from one or more URLs. Returns parsed text optimized for LLM consumption.","tags":["Web Search & Scraping"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":null,"currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.11+ (scales with URL count)"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"},"description":"URLs to extract content from (max 20)"},"extract_depth":{"type":"string","description":"Extraction depth: 'basic' (default) or 'advanced'"}},"required":["urls"],"additionalProperties":true},"example":{"urls":["https://example.com"]}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/tavily/map":{"post":{"operationId":"tavily_map","summary":"Map","description":"Discover and enumerate all URLs on a website. Returns a comprehensive sitemap without scraping content.","tags":["Web Search & Scraping"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":"90000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.09"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Website URL to map"},"max_depth":{"type":"number","description":"Maximum crawl depth for discovery"},"max_breadth":{"type":"number","description":"Maximum breadth per level"},"limit":{"type":"number","description":"Maximum number of URLs to return"},"instructions":{"type":"string","description":"Natural language instructions to guide URL discovery"}},"required":["url"],"additionalProperties":true},"example":{"url":"https://docs.tavily.com","limit":3}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}},"/tavily/crawl":{"post":{"operationId":"tavily_crawl","summary":"Crawl","description":"Crawl a website and extract content from discovered pages. Combines mapping and extraction in a single call.","tags":["Web Search & Scraping"],"security":[],"x-payment-info":{"intent":"charge","method":"tempo","amount":null,"currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"$0.21+ (scales with page limit)"},"parameters":[{"name":"x-locus-request-id","in":"header","required":false,"description":"UUID returned by the initial 402. Echo it on the paid retry and later recovery attempts.","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Starting URL to crawl"},"max_depth":{"type":"number","description":"Maximum crawl depth"},"max_breadth":{"type":"number","description":"Maximum breadth per level"},"limit":{"type":"number","description":"Maximum number of pages to crawl (default 10)"},"instructions":{"type":"string","description":"Natural language instructions to guide crawling"},"extract_depth":{"type":"string","description":"Extraction depth: 'basic' (default) or 'advanced'"}},"required":["url"],"additionalProperties":true},"example":{"url":"https://docs.tavily.com","limit":1,"max_depth":1}}}},"responses":{"200":{"description":"Successful response with PAYMENT-RESPONSE and durable request receipt"},"202":{"description":"The supplied request ID is already in progress"},"400":{"description":"Invalid request"},"402":{"description":"Payment Required"},"409":{"description":"Request ID conflict or terminal failed request"}}}}}}