{"openapi":"3.1.0","info":{"title":"SnoopScan API","description":"Turn any public web page into clean markdown or structured JSON: scrape, crawl, map, search and extract. One bearer key for every endpoint.","version":"0.1.0"},"servers":[{"url":"https://api.snoopscan.com"}],"paths":{"/v1/scrape":{"post":{"tags":["scrape"],"summary":"Scrape","operationId":"scrape_v1_scrape_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScrapeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Scrape V1 Scrape Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/domain":{"post":{"tags":["domain"],"summary":"Domain Intelligence","operationId":"domain_intelligence_v1_domain_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Domain Intelligence V1 Domain Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/company":{"post":{"tags":["company"],"summary":"Company","operationId":"company_v1_company_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Company V1 Company Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/products":{"post":{"tags":["platforms"],"summary":"Products","description":"List every product a store publishes: title, price, variants, stock and link.","operationId":"products_v1_products_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Products V1 Products Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/posts":{"post":{"tags":["platforms"],"summary":"Posts","description":"List every post a blog or forum publishes, newest first.","operationId":"posts_v1_posts_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Posts V1 Posts Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/monitor":{"post":{"tags":["monitor"],"summary":"Create Monitor","operationId":"create_monitor_v1_monitor_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Monitor V1 Monitor Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["monitor"],"summary":"List Monitors","operationId":"list_monitors_v1_monitor_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Monitors V1 Monitor Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/monitor/{monitor_id}":{"get":{"tags":["monitor"],"summary":"Get Monitor","operationId":"get_monitor_v1_monitor__monitor_id__get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","title":"Monitor Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Monitor V1 Monitor  Monitor Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["monitor"],"summary":"Delete Monitor","operationId":"delete_monitor_v1_monitor__monitor_id__delete","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","title":"Monitor Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Monitor V1 Monitor  Monitor Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/monitor/{monitor_id}/run":{"post":{"tags":["monitor"],"summary":"Run Now","description":"Run a monitor's check now. Billed like a scheduled check.","operationId":"run_now_v1_monitor__monitor_id__run_post","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","title":"Monitor Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Run Now V1 Monitor  Monitor Id  Run Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/monitor/{monitor_id}/checks":{"get":{"tags":["monitor"],"summary":"List Checks","operationId":"list_checks_v1_monitor__monitor_id__checks_get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","title":"Monitor Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Checks V1 Monitor  Monitor Id  Checks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/crawl":{"post":{"tags":["crawl"],"summary":"Start Crawl","operationId":"start_crawl_v1_crawl_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrawlRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Start Crawl V1 Crawl Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/crawl/{job_id}":{"get":{"tags":["crawl"],"summary":"Crawl Status","operationId":"crawl_status_v1_crawl__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Crawl Status V1 Crawl  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["crawl"],"summary":"Cancel Crawl","operationId":"cancel_crawl_v1_crawl__job_id__delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Crawl V1 Crawl  Job Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/crawl/{job_id}/pages":{"get":{"tags":["crawl"],"summary":"Crawl Pages","operationId":"crawl_pages_v1_crawl__job_id__pages_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Crawl Pages V1 Crawl  Job Id  Pages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/crawl/{job_id}/errors":{"get":{"tags":["crawl"],"summary":"Crawl Errors","description":"List the pages a crawl could not read, with the error for each.","operationId":"crawl_errors_v1_crawl__job_id__errors_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Crawl Errors V1 Crawl  Job Id  Errors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/batch/scrape":{"post":{"tags":["crawl"],"summary":"Start Batch","operationId":"start_batch_v1_batch_scrape_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchScrapeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Start Batch V1 Batch Scrape Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/batch/{job_id}":{"get":{"tags":["crawl"],"summary":"Batch Status","operationId":"batch_status_v1_batch__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Batch Status V1 Batch  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/batch/{job_id}/pages":{"get":{"tags":["crawl"],"summary":"Batch Pages","operationId":"batch_pages_v1_batch__job_id__pages_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Batch Pages V1 Batch  Job Id  Pages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/map":{"post":{"tags":["crawl"],"summary":"Map Site","description":"List the URLs on a site without fetching the pages. One flat charge per call.","operationId":"map_site_v1_map_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MapRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Map Site V1 Map Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/extract":{"post":{"tags":["extract"],"summary":"Extract Structured","description":"Extract JSON in your schema from up to 100 pages.\n\nReturns one result per URL: `{url, data, confidence, error}`. A page that\nfails, or lacks the fields, gets an `error` without failing the request.","operationId":"extract_structured_v1_extract_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtractRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Extract Structured V1 Extract Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/search":{"post":{"tags":["extract"],"summary":"Search","description":"Search the web. Add `scrapeOptions` to get each result's page content too.","operationId":"search_v1_search_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search V1 Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/parse":{"post":{"tags":["parse"],"summary":"Parse Document","operationId":"parse_document_v1_parse_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_parse_document_v1_parse_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Parse Document V1 Parse Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fetch":{"get":{"tags":["fetch"],"summary":"Fetch Bytes","operationId":"fetch_bytes_v1_fetch_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","minLength":8,"maxLength":2048,"title":"Url"}},{"name":"proxy","in":"query","required":false,"schema":{"anyOf":[{"enum":["datacenter","residential","mobile"],"type":"string"},{"type":"null"}],"title":"Proxy"}},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"Country"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/source":{"get":{"tags":["source"],"summary":"Source Offer","description":"Where to get the source code for this running instance (AGPL-3.0). No key needed.","operationId":"source_offer_v1_source_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Source Offer V1 Source Get"}}}}}}},"/v1/places/search":{"post":{"tags":["places"],"summary":"Places Search","operationId":"places_search_v1_places_search_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Places Search V1 Places Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/leads":{"post":{"tags":["leads"],"summary":"Start Leads","operationId":"start_leads_v1_leads_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Start Leads V1 Leads Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/leads/sources":{"get":{"tags":["leads"],"summary":"Leads Sources","description":"List the sources a Find Leads search covers for a country. Free.\n\nPass `country` as a two-letter code (`US`, `GB`), or `where` as a place\n(\"Houston, TX\"). Returns the country used (null if it could not be\ndetermined) and, for each source, its `key`, `label` and `countries`\n(a list of codes, or \"*\" for everywhere).","operationId":"leads_sources_v1_leads_sources_get","parameters":[{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"name":"where","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Where"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Leads Sources V1 Leads Sources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/leads/{job_id}":{"get":{"tags":["leads"],"summary":"Leads Status","description":"Get a Find Leads run: its status, its leads and a summary.\n\nWhile `status` is `running`, `partial` is true and `leads` holds the leads\nfound so far, without contacts yet. Once `completed`, the leads are final.\nA run stopped with DELETE is `cancelled` and keeps the leads it had,\ncharged as usual. `summary.attribution` lists any license notices the\nleads carry: show each one with the results and in every export.","operationId":"leads_status_v1_leads__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Leads Status V1 Leads  Job Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["leads"],"summary":"Cancel Leads","description":"Stop a Find Leads run.\n\nA queued run never starts and costs nothing. A running one stops within a\nfew seconds and keeps the leads it had, charged per lead as usual. Its\nstatus becomes `cancelled`. A finished run is not changed.","operationId":"cancel_leads_v1_leads__job_id__delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Leads V1 Leads  Job Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/serp":{"post":{"tags":["serp"],"summary":"Serp Search","operationId":"serp_search_v1_serp_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SerpRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Serp Search V1 Serp Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/social":{"get":{"tags":["social"],"summary":"List Social","description":"Every social endpoint, its inputs and its price key. Free.","operationId":"list_social_v1_social_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Social V1 Social Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/social/{platform}/{endpoint}":{"post":{"tags":["social"],"summary":"Run Social","description":"Run one social endpoint. Charged only when data comes back.","operationId":"run_social_v1_social__platform___endpoint__post","parameters":[{"name":"platform","in":"path","required":true,"schema":{"type":"string","title":"Platform"}},{"name":"endpoint","in":"path","required":true,"schema":{"type":"string","title":"Endpoint"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Run Social V1 Social  Platform   Endpoint  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mentions/watches":{"post":{"tags":["mentions"],"summary":"Create Watch","operationId":"create_watch_v1_mentions_watches_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Watch V1 Mentions Watches Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["mentions"],"summary":"List Watches","operationId":"list_watches_v1_mentions_watches_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Watches V1 Mentions Watches Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mentions/watches/{watch_id}":{"get":{"tags":["mentions"],"summary":"Get Watch","operationId":"get_watch_v1_mentions_watches__watch_id__get","parameters":[{"name":"watch_id","in":"path","required":true,"schema":{"type":"string","title":"Watch Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Watch V1 Mentions Watches  Watch Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["mentions"],"summary":"Update Watch","operationId":"update_watch_v1_mentions_watches__watch_id__patch","parameters":[{"name":"watch_id","in":"path","required":true,"schema":{"type":"string","title":"Watch Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Watch V1 Mentions Watches  Watch Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["mentions"],"summary":"Delete Watch","operationId":"delete_watch_v1_mentions_watches__watch_id__delete","parameters":[{"name":"watch_id","in":"path","required":true,"schema":{"type":"string","title":"Watch Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Watch V1 Mentions Watches  Watch Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mentions/watches/{watch_id}/test":{"post":{"tags":["mentions"],"summary":"Test Saved Watch","description":"Run a saved watch against its sources now and show what it finds from the\nlast 7 days, where a source allows. Nothing is stored or sent.","operationId":"test_saved_watch_v1_mentions_watches__watch_id__test_post","parameters":[{"name":"watch_id","in":"path","required":true,"schema":{"type":"string","title":"Watch Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Test Saved Watch V1 Mentions Watches  Watch Id  Test Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mentions/test":{"post":{"tags":["mentions"],"summary":"Test Keywords","description":"Try a watch before saving it. Same answer as testing a saved one.","operationId":"test_keywords_v1_mentions_test_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchFields"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Test Keywords V1 Mentions Test Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mentions":{"get":{"tags":["mentions"],"summary":"List Mentions","operationId":"list_mentions_v1_mentions_get","parameters":[{"name":"watch_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Only this watch's mentions.","title":"Watch Id"},"description":"Only this watch's mentions."},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"One of: bug_report, complaint, question, buying_intent, praise, competitor, other.","title":"Category"},"description":"One of: bug_report, complaint, question, buying_intent, praise, competitor, other."},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"One of: reddit, hackernews, bluesky, youtube, threads, web, github, feeds.","title":"Platform"},"description":"One of: reddit, hackernews, bluesky, youtube, threads, web, github, feeds."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"new, seen, irrelevant or done.","title":"Status"},"description":"new, seen, irrelevant or done."},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Only mentions found at or after this time.","title":"Since"},"description":"Only mentions found at or after this time."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The `next` cursor of the previous page.","title":"Cursor"},"description":"The `next` cursor of the previous page."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Mentions V1 Mentions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mentions/{mention_id}":{"patch":{"tags":["mentions"],"summary":"Mark Mention","operationId":"mark_mention_v1_mentions__mention_id__patch","parameters":[{"name":"mention_id","in":"path","required":true,"schema":{"type":"string","title":"Mention Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Mark Mention V1 Mentions  Mention Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/templates":{"get":{"tags":["templates"],"summary":"List Templates","description":"List the named extraction templates and their fields. Free.","operationId":"list_templates_v1_templates_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Templates V1 Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/domain/report":{"post":{"tags":["domain"],"summary":"Domain Report","description":"Get a buyer's report on a domain: key findings, concerns, open questions\nfor the seller, and the evidence behind each.","operationId":"domain_report_v1_domain_report_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainReportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Domain Report V1 Domain Report Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/domain/history/snapshots":{"post":{"tags":["domain"],"summary":"Domain History Snapshots","description":"Load the archived snapshots a domain report left `pending`.\n\nAny still not loaded when the call returns stay in `pending`: call again.","operationId":"domain_history_snapshots_v1_domain_history_snapshots_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainSnapshotsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Domain History Snapshots V1 Domain History Snapshots Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/domain/screen":{"post":{"tags":["domain"],"summary":"Domain Screen","description":"Check which of up to 500 domain names can be registered.\n\nA long list takes a while: allow about a quarter second per name.","operationId":"domain_screen_v1_domain_screen_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainScreenRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Domain Screen V1 Domain Screen Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"BatchScrapeRequest":{"properties":{"urls":{"items":{"type":"string"},"type":"array","maxItems":10000,"minItems":1,"title":"Urls","description":"The pages to scrape as one job, 1 to 10,000."},"maxConcurrency":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Maxconcurrency","description":"How many pages to fetch at once, 1 to 50.","default":10},"scrapeOptions":{"$ref":"#/components/schemas/ScrapeOptions","description":"How each page is fetched and what comes back: the same options /v1/scrape takes."},"webhook":{"anyOf":[{"$ref":"#/components/schemas/WebhookConfig"},{"type":"null"}],"description":"Where to send job events as pages complete."}},"additionalProperties":false,"type":"object","required":["urls"],"title":"BatchScrapeRequest"},"Body_parse_document_v1_parse_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_parse_document_v1_parse_post"},"CaptchaCheckboxAction":{"properties":{"type":{"type":"string","const":"captchaCheckbox","title":"Type"},"frameSelector":{"type":"string","title":"Frameselector","default":"iframe[src*=\"/recaptcha/\"][src*=\"/anchor\"]"},"selector":{"type":"string","title":"Selector","default":"#recaptcha-anchor"},"successSelector":{"type":"string","minLength":1,"title":"Successselector"},"timeoutMs":{"type":"integer","maximum":15000.0,"minimum":500.0,"title":"Timeoutms","default":8000},"captureEvidence":{"type":"boolean","title":"Captureevidence","description":"Return a screenshot from before and after the click.","default":false}},"additionalProperties":false,"type":"object","required":["type","successSelector"],"title":"CaptchaCheckboxAction","description":"Click a challenge checkbox once, then wait for `successSelector` to appear."},"ChangeTrackingFormat":{"properties":{"type":{"type":"string","const":"changeTracking","title":"Type"},"modes":{"items":{"type":"string","enum":["git-diff","json"]},"type":"array","title":"Modes"}},"additionalProperties":false,"type":"object","required":["type"],"title":"ChangeTrackingFormat"},"ClickAction":{"properties":{"type":{"type":"string","const":"click","title":"Type"},"selector":{"type":"string","title":"Selector"}},"additionalProperties":false,"type":"object","required":["type","selector"],"title":"ClickAction"},"CompanyRequest":{"properties":{"url":{"type":"string","title":"Url","description":"A company domain, or any URL on it. `https://acme.com/about` and `acme.com` enrich the same company."},"contacts":{"type":"boolean","title":"Contacts","description":"Also return contact emails, the contact form and social links. Set `false` for company details only.","default":true}},"additionalProperties":false,"type":"object","required":["url"],"title":"CompanyRequest","description":"Enrich one company from its own website: name, phone, address, LinkedIn,\nheadcount and industry, plus the contact emails, social links and contact\nform the site publishes."},"CrawlRequest":{"properties":{"url":{"type":"string","title":"Url","description":"The page to start from. An absolute http or https URL."},"limit":{"type":"integer","maximum":100000.0,"minimum":1.0,"title":"Limit","description":"The most pages to crawl, 1 to 100,000.","default":100},"maxDepth":{"type":"integer","maximum":20.0,"minimum":0.0,"title":"Maxdepth","description":"How many links deep to follow from the start page. 0 is the start page alone.","default":3},"maxConcurrency":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Maxconcurrency","description":"How many pages to fetch at once, 1 to 50.","default":5},"includePaths":{"items":{"type":"string"},"type":"array","title":"Includepaths","description":"Only crawl URLs whose path and query match one of these regexes, e.g. `^/blog/`. Empty means every path."},"excludePaths":{"items":{"type":"string"},"type":"array","title":"Excludepaths","description":"Skip URLs whose path and query match any of these regexes. Wins over `includePaths`."},"allowExternalLinks":{"type":"boolean","title":"Allowexternallinks","description":"Follow links onto other domains. Off by default, since with a high `limit` a crawl can reach many unrelated sites.","default":false},"allowBackwardLinks":{"type":"boolean","title":"Allowbackwardlinks","description":"Follow links above the starting path on the same host.","default":false},"ignoreSitemap":{"type":"boolean","title":"Ignoresitemap","description":"Find pages by following links only, without reading the site's sitemap.","default":false},"ignoreQueryParameters":{"type":"boolean","title":"Ignorequeryparameters","description":"Treat URLs that differ only in their query string as the same page.","default":false},"deduplicateSimilarURLs":{"type":"boolean","title":"Deduplicatesimilarurls","description":"Collapse URLs that differ only in tracking parameters or a trailing slash.","default":true},"delay":{"type":"integer","maximum":60000.0,"minimum":0.0,"title":"Delay","description":"Minimum milliseconds between requests to the same host.","default":0},"respectRobots":{"type":"boolean","title":"Respectrobots","description":"Honor the site's robots.txt for this job.","default":false},"scrapeOptions":{"$ref":"#/components/schemas/ScrapeOptions","description":"How each page is fetched and what comes back: the same options /v1/scrape takes."},"webhook":{"anyOf":[{"$ref":"#/components/schemas/WebhookConfig"},{"type":"null"}],"description":"Where to send job events as the crawl progresses."}},"additionalProperties":false,"type":"object","required":["url"],"title":"CrawlRequest"},"DomainReportRequest":{"properties":{"domain":{"type":"string","title":"Domain","description":"A domain, or any URL on it. `https://www.example.com/a` and `example.com` are the same request."},"depth":{"type":"string","enum":["quick","buyer","deep"],"title":"Depth","description":"`quick` for registration, DNS and today's site; `buyer` adds history, backlinks and link checks; `deep` uses larger samples.","default":"buyer"},"snapshots":{"anyOf":[{"type":"integer","maximum":24.0,"minimum":0.0},{"type":"null"}],"title":"Snapshots","description":"How many archived homepage snapshots to read, one per year at most. Defaults to 6 for `buyer` and 12 for `deep`."},"verifyLinks":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Verifylinks","description":"How many linking pages to check for the link. Defaults to 20 for `buyer` and 50 for `deep`."}},"additionalProperties":false,"type":"object","required":["domain"],"title":"DomainReportRequest","description":"A buyer's report on a domain. Each depth includes the one before it.\n\n`quick`: registration, DNS, mail records and today's website. `buyer`: adds\narchive history, known backlinks and a check that a sample of linking pages\nstill link. `deep`: the buyer report with larger samples. One flat price per\ndepth, with archived snapshots included (6 for `buyer`, 12 for `deep`);\neach snapshot beyond those costs 1 credit."},"DomainRequest":{"properties":{"domain":{"type":"string","title":"Domain","description":"A domain, or any URL on it. `https://www.example.com/a` and `example.com` are the same request."},"registration":{"type":"boolean","title":"Registration","description":"Registration and expiry dates, age, registrar and nameservers.","default":true},"dns":{"type":"boolean","title":"Dns","description":"A, AAAA, MX, NS and TXT records.","default":true},"backlinks":{"type":"boolean","title":"Backlinks","description":"Domains known to link to this one.","default":true},"backlinkLimit":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Backlinklimit","description":"How many referring domains to list, busiest first.","default":100}},"additionalProperties":false,"type":"object","required":["domain"],"title":"DomainRequest","description":"Look up a domain's registration, DNS and backlinks. All three are on by default."},"DomainScreenRequest":{"properties":{"domains":{"items":{"type":"string"},"type":"array","maxItems":500,"minItems":1,"title":"Domains","description":"Up to 500 domains, or URLs on them. Duplicates are checked once."},"dns":{"type":"boolean","title":"Dns","description":"Check DNS for names the registry has no record of, so they can read `likely_available`. Off, they read `no_registry_record`.","default":true}},"additionalProperties":false,"type":"object","required":["domains"],"title":"DomainScreenRequest","description":"Check up to 500 domain names for availability, from each registry's\nrecord and DNS. 1 credit per name the registry answers for; invalid names,\nduplicates and names the registry does not answer for are free."},"DomainSnapshotsRequest":{"properties":{"domain":{"type":"string","title":"Domain","description":"The domain the report was for, or any URL on it."},"years":{"anyOf":[{"items":{"type":"integer","maximum":2100.0,"minimum":1990.0},"type":"array","maxItems":24},{"type":"null"}],"title":"Years","description":"Only these years (from the report's `evidence.history.pending`). Omit for every snapshot not yet read."},"snapshots":{"type":"integer","maximum":24.0,"minimum":1.0,"title":"Snapshots","description":"How many snapshots the report chose, one per year at most. Pass the report's own figure (6 for `buyer` unless you set `snapshots`).","default":6}},"additionalProperties":false,"type":"object","required":["domain"],"title":"DomainSnapshotsRequest","description":"Load the archived snapshots a `buyer` or `deep` domain report left `pending`.\n\nSnapshots included in the report are free here for 7 days. Beyond those,\neach snapshot loaded costs 1 credit, and one already loaded is free."},"ExecuteJavascriptAction":{"properties":{"type":{"type":"string","const":"executeJavascript","title":"Type"},"script":{"type":"string","title":"Script"}},"additionalProperties":false,"type":"object","required":["type","script"],"title":"ExecuteJavascriptAction"},"ExtractRequest":{"properties":{"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schema","description":"Your own JSON Schema for the fields you want. Give this or `template`, not both."},"template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template","description":"A named template instead of a schema — `product`, `article`, `jobPosting` and more. GET /v1/templates lists them with their fields."},"urls":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Urls","description":"The pages to extract from, 1 to 100. Each page gets its own result."},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt","description":"Plain-language guidance on what to pick out, e.g. \"the cheapest paid plan\"."},"scrapeOptions":{"$ref":"#/components/schemas/ScrapeOptions","description":"How each page is fetched: the same options /v1/scrape takes."},"model":{"anyOf":[{"$ref":"#/components/schemas/ModelSpec"},{"type":"null"}],"description":"Your own model provider and key. Model calls are billed to your key, at no credit cost."}},"additionalProperties":false,"type":"object","required":["urls"],"title":"ExtractRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"JsonFormat":{"properties":{"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Schema","description":"Your own JSON Schema for the fields you want. Give this or `template`, not both."},"template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template","description":"A named template instead of a schema — `product`, `article`, `jobPosting` and more. GET /v1/templates lists them with their fields."},"type":{"type":"string","const":"json","title":"Type"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"}},"additionalProperties":false,"type":"object","required":["type"],"title":"JsonFormat"},"ListingRequest":{"properties":{"url":{"type":"string","title":"Url","description":"The store or blog to read, e.g. `https://shop.example.com`."},"limit":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Limit","description":"The most items to return, 1 to 10,000.","default":500}},"additionalProperties":false,"type":"object","required":["url"],"title":"ListingRequest"},"Location":{"properties":{"country":{"type":"string","maxLength":2,"minLength":2,"title":"Country"},"languages":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Languages"}},"additionalProperties":false,"type":"object","required":["country"],"title":"Location"},"MapRequest":{"properties":{"url":{"type":"string","title":"Url","description":"The site to map. An absolute http or https URL."},"search":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Only return URLs whose address or page title contains this text. Not case-sensitive."},"limit":{"type":"integer","maximum":30000.0,"minimum":1.0,"title":"Limit","description":"The most URLs to return, 1 to 30,000.","default":5000},"includeSubdomains":{"type":"boolean","title":"Includesubdomains","description":"Include URLs on the site's subdomains.","default":false},"ignoreSitemap":{"type":"boolean","title":"Ignoresitemap","description":"Find URLs without reading the site's sitemap.","default":false}},"additionalProperties":false,"type":"object","required":["url"],"title":"MapRequest"},"ModelSpec":{"properties":{"provider":{"type":"string","enum":["anthropic","openai"],"title":"Provider"},"apiKey":{"type":"string","maxLength":300,"minLength":8,"title":"Apikey"},"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["provider","apiKey"],"title":"ModelSpec","description":"Your own model provider and key for /v1/extract. Used for this request only, never stored."},"MonitorRequest":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name","description":"A name for the monitor, up to 120 characters."},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url","description":"A page to watch. Give this, `urls`, or both."},"urls":{"items":{"type":"string"},"type":"array","title":"Urls","description":"Pages to watch in the one monitor, up to 50."},"intervalMinutes":{"type":"integer","maximum":10080.0,"minimum":5.0,"title":"Intervalminutes","description":"How often to check, in minutes: at least 5, at most a week (10,080).","default":60},"goal":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Goal","description":"What you are watching for, in your own words. Stored and returned with the monitor; it does not yet affect which changes are reported."},"webhook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook","description":"A URL to POST to when a check finds a page changed, new or failing."}},"additionalProperties":false,"type":"object","required":["name"],"title":"MonitorRequest"},"PressAction":{"properties":{"type":{"type":"string","const":"press","title":"Type"},"key":{"type":"string","title":"Key"}},"additionalProperties":false,"type":"object","required":["type","key"],"title":"PressAction"},"ProxyMode":{"type":"string","enum":["none","datacenter","residential","mobile","auto"],"title":"ProxyMode"},"ScrapeAction":{"properties":{"type":{"type":"string","const":"scrape","title":"Type"}},"additionalProperties":false,"type":"object","required":["type"],"title":"ScrapeAction"},"ScrapeOptions":{"properties":{"formats":{"items":{"anyOf":[{"type":"string","enum":["markdown","html","rawHtml","links","media","summary","screenshot","json","network"]},{"$ref":"#/components/schemas/ScreenshotFormat"},{"$ref":"#/components/schemas/JsonFormat"},{"$ref":"#/components/schemas/ChangeTrackingFormat"}]},"type":"array","title":"Formats","description":"What to return: `markdown`, `html`, `rawHtml`, `links`, `media`, `summary`, `screenshot`, or a `json` object carrying your schema. Ask for several in one call."},"onlyMainContent":{"type":"boolean","title":"Onlymaincontent","description":"Return the article and drop navigation, headers, footers and cookie banners. Turn it off to keep the whole page.","default":true},"includeTags":{"items":{"type":"string"},"type":"array","title":"Includetags","description":"CSS selectors to keep even when they sit outside the main content."},"excludeTags":{"items":{"type":"string"},"type":"array","title":"Excludetags","description":"CSS selectors to drop before the page is read."},"maxAge":{"type":"integer","minimum":0.0,"title":"Maxage","description":"Serve a cached copy if one was taken within this many milliseconds. A cache hit costs nothing. Set `0` to force a fresh fetch.","default":0},"storeInCache":{"type":"boolean","title":"Storeincache","description":"Keep this response in the cache so a later request can be served free.","default":true},"waitFor":{"type":"integer","maximum":120000.0,"minimum":0.0,"title":"Waitfor","description":"Milliseconds to wait after the page loads before reading it, for content that loads late. Renders the page in a browser, and is billed as a browser page.","default":0},"timeout":{"type":"integer","maximum":300000.0,"minimum":1000.0,"title":"Timeout","description":"Give up on this request after this many milliseconds.","default":90000},"actions":{"items":{"oneOf":[{"$ref":"#/components/schemas/WaitAction"},{"$ref":"#/components/schemas/ClickAction"},{"$ref":"#/components/schemas/CaptchaCheckboxAction"},{"$ref":"#/components/schemas/WriteAction"},{"$ref":"#/components/schemas/PressAction"},{"$ref":"#/components/schemas/ScrollAction"},{"$ref":"#/components/schemas/ScreenshotAction"},{"$ref":"#/components/schemas/ScrapeAction"},{"$ref":"#/components/schemas/ExecuteJavascriptAction"}],"discriminator":{"propertyName":"type","mapping":{"captchaCheckbox":"#/components/schemas/CaptchaCheckboxAction","click":"#/components/schemas/ClickAction","executeJavascript":"#/components/schemas/ExecuteJavascriptAction","press":"#/components/schemas/PressAction","scrape":"#/components/schemas/ScrapeAction","screenshot":"#/components/schemas/ScreenshotAction","scroll":"#/components/schemas/ScrollAction","wait":"#/components/schemas/WaitAction","write":"#/components/schemas/WriteAction"}}},"type":"array","title":"Actions","description":"Steps to run in a browser before the page is read: click, type, scroll, wait or `captchaCheckbox`. A `captchaCheckbox` step needs `successSelector`."},"captchaHandling":{"type":"string","enum":["auto","off"],"title":"Captchahandling","description":"Click a challenge checkbox once if one appears. Set `off` to never click.","default":"auto"},"captchaEvidence":{"type":"boolean","title":"Captchaevidence","description":"Return screenshots from before and after an automatic checkbox click.","default":false},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers","description":"Extra headers to send. `User-Agent` and other browser-identity headers are set for you and cannot be changed."},"mobile":{"type":"boolean","title":"Mobile","description":"Read the page as a phone would see it.","default":false},"location":{"anyOf":[{"$ref":"#/components/schemas/Location"},{"type":"null"}],"description":"Fetch from a country, in its language, e.g. `{\"country\": \"US\"}`."},"proxy":{"$ref":"#/components/schemas/ProxyMode","description":"Leave on `auto` and the route is chosen for you.","default":"auto"},"blockAssets":{"type":"boolean","title":"Blockassets","description":"Skip images, fonts and media when the page is rendered in a browser. Faster.","default":true},"removeBase64Images":{"type":"boolean","title":"Removebase64Images","description":"Strip inline base64 images out of the returned markdown and HTML.","default":true},"parsers":{"items":{"type":"string","const":"pdf"},"type":"array","title":"Parsers","description":"Which document parsers may run, for example `pdf`."}},"additionalProperties":false,"type":"object","title":"ScrapeOptions","description":"How a page is fetched and what comes back: every /v1/scrape field except `url`."},"ScrapeRequest":{"properties":{"formats":{"items":{"anyOf":[{"type":"string","enum":["markdown","html","rawHtml","links","media","summary","screenshot","json","network"]},{"$ref":"#/components/schemas/ScreenshotFormat"},{"$ref":"#/components/schemas/JsonFormat"},{"$ref":"#/components/schemas/ChangeTrackingFormat"}]},"type":"array","title":"Formats","description":"What to return: `markdown`, `html`, `rawHtml`, `links`, `media`, `summary`, `screenshot`, or a `json` object carrying your schema. Ask for several in one call."},"onlyMainContent":{"type":"boolean","title":"Onlymaincontent","description":"Return the article and drop navigation, headers, footers and cookie banners. Turn it off to keep the whole page.","default":true},"includeTags":{"items":{"type":"string"},"type":"array","title":"Includetags","description":"CSS selectors to keep even when they sit outside the main content."},"excludeTags":{"items":{"type":"string"},"type":"array","title":"Excludetags","description":"CSS selectors to drop before the page is read."},"maxAge":{"type":"integer","minimum":0.0,"title":"Maxage","description":"Serve a cached copy if one was taken within this many milliseconds. A cache hit costs nothing. Set `0` to force a fresh fetch.","default":0},"storeInCache":{"type":"boolean","title":"Storeincache","description":"Keep this response in the cache so a later request can be served free.","default":true},"waitFor":{"type":"integer","maximum":120000.0,"minimum":0.0,"title":"Waitfor","description":"Milliseconds to wait after the page loads before reading it, for content that loads late. Renders the page in a browser, and is billed as a browser page.","default":0},"timeout":{"type":"integer","maximum":300000.0,"minimum":1000.0,"title":"Timeout","description":"Give up on this request after this many milliseconds.","default":90000},"actions":{"items":{"oneOf":[{"$ref":"#/components/schemas/WaitAction"},{"$ref":"#/components/schemas/ClickAction"},{"$ref":"#/components/schemas/CaptchaCheckboxAction"},{"$ref":"#/components/schemas/WriteAction"},{"$ref":"#/components/schemas/PressAction"},{"$ref":"#/components/schemas/ScrollAction"},{"$ref":"#/components/schemas/ScreenshotAction"},{"$ref":"#/components/schemas/ScrapeAction"},{"$ref":"#/components/schemas/ExecuteJavascriptAction"}],"discriminator":{"propertyName":"type","mapping":{"captchaCheckbox":"#/components/schemas/CaptchaCheckboxAction","click":"#/components/schemas/ClickAction","executeJavascript":"#/components/schemas/ExecuteJavascriptAction","press":"#/components/schemas/PressAction","scrape":"#/components/schemas/ScrapeAction","screenshot":"#/components/schemas/ScreenshotAction","scroll":"#/components/schemas/ScrollAction","wait":"#/components/schemas/WaitAction","write":"#/components/schemas/WriteAction"}}},"type":"array","title":"Actions","description":"Steps to run in a browser before the page is read: click, type, scroll, wait or `captchaCheckbox`. A `captchaCheckbox` step needs `successSelector`."},"captchaHandling":{"type":"string","enum":["auto","off"],"title":"Captchahandling","description":"Click a challenge checkbox once if one appears. Set `off` to never click.","default":"auto"},"captchaEvidence":{"type":"boolean","title":"Captchaevidence","description":"Return screenshots from before and after an automatic checkbox click.","default":false},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers","description":"Extra headers to send. `User-Agent` and other browser-identity headers are set for you and cannot be changed."},"mobile":{"type":"boolean","title":"Mobile","description":"Read the page as a phone would see it.","default":false},"location":{"anyOf":[{"$ref":"#/components/schemas/Location"},{"type":"null"}],"description":"Fetch from a country, in its language, e.g. `{\"country\": \"US\"}`."},"proxy":{"$ref":"#/components/schemas/ProxyMode","description":"Leave on `auto` and the route is chosen for you.","default":"auto"},"blockAssets":{"type":"boolean","title":"Blockassets","description":"Skip images, fonts and media when the page is rendered in a browser. Faster.","default":true},"removeBase64Images":{"type":"boolean","title":"Removebase64Images","description":"Strip inline base64 images out of the returned markdown and HTML.","default":true},"parsers":{"items":{"type":"string","const":"pdf"},"type":"array","title":"Parsers","description":"Which document parsers may run, for example `pdf`."},"url":{"type":"string","title":"Url","description":"The absolute http or https URL to read."}},"additionalProperties":false,"type":"object","required":["url"],"title":"ScrapeRequest"},"ScreenshotAction":{"properties":{"type":{"type":"string","const":"screenshot","title":"Type"},"fullPage":{"type":"boolean","title":"Fullpage","default":false}},"additionalProperties":false,"type":"object","required":["type"],"title":"ScreenshotAction"},"ScreenshotFormat":{"properties":{"type":{"type":"string","const":"screenshot","title":"Type"},"fullPage":{"type":"boolean","title":"Fullpage","default":false},"quality":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Quality","default":80}},"additionalProperties":false,"type":"object","required":["type"],"title":"ScreenshotFormat"},"ScrollAction":{"properties":{"type":{"type":"string","const":"scroll","title":"Type"},"direction":{"type":"string","enum":["up","down"],"title":"Direction","default":"down"},"amount":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Amount","default":1}},"additionalProperties":false,"type":"object","required":["type"],"title":"ScrollAction"},"SearchRequest":{"properties":{"query":{"type":"string","title":"Query","description":"What to search for."},"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","description":"How many results, 1 to 50.","default":10},"sources":{"items":{"type":"string","enum":["web","news","images"]},"type":"array","title":"Sources","description":"Which kinds of result: `web`, `news`, `images`."},"location":{"anyOf":[{"$ref":"#/components/schemas/Location"},{"type":"null"}],"description":"The country to search from, which changes the results, e.g. `{\"country\": \"GB\"}`."},"scrapeOptions":{"anyOf":[{"$ref":"#/components/schemas/ScrapeOptions"},{"type":"null"}],"description":"Also fetch every result page with these options. Each page fetched is charged like a scrape."},"place":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Place","description":"Where the searcher is standing, in free text, e.g. \"Austin, Texas, United States\". Finer than `location`."},"language":{"anyOf":[{"type":"string","maxLength":8,"minLength":2},{"type":"null"}],"title":"Language","description":"The language results should be in, e.g. `en`."},"device":{"anyOf":[{"type":"string","enum":["desktop","mobile"]},{"type":"null"}],"title":"Device","description":"`desktop` or `mobile`. Mobile results can differ from desktop ones."},"freshness":{"anyOf":[{"type":"string","enum":["hour","day","week","month","year"]},{"type":"null"}],"title":"Freshness","description":"Only results from the last `hour`, `day`, `week`, `month` or `year`."},"safeSearch":{"anyOf":[{"type":"string","enum":["off","moderate","strict"]},{"type":"null"}],"title":"Safesearch","description":"`off`, `moderate` or `strict`."},"page":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Page","description":"Which page of results, starting at 1.","default":1},"autoCorrect":{"type":"boolean","title":"Autocorrect","description":"Set `false` to search the query exactly as typed, e.g. a part number or a brand name.","default":true}},"additionalProperties":false,"type":"object","required":["query"],"title":"SearchRequest","description":"Search the web. Filters after `location` are optional; when set, every result matches."},"SerpRequest":{"properties":{"keyword":{"type":"string","maxLength":700,"minLength":1,"title":"Keyword","description":"The search to look up, as it would be typed into Google."},"country":{"type":"string","maxLength":2,"minLength":2,"title":"Country","description":"Two-letter code of the country whose results you want, e.g. `gb`.","default":"us"},"locationCode":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Locationcode","description":"Google's own geographic target ID, for somewhere finer than a country. Overrides `country`."},"language":{"type":"string","maxLength":10,"minLength":2,"title":"Language","description":"The language code of the results, e.g. `en`.","default":"en"},"device":{"type":"string","enum":["desktop","mobile"],"title":"Device","description":"`desktop` or `mobile`.","default":"desktop"},"depth":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Depth","description":"How many results to read, 1 to 100.","default":10},"aiOverview":{"type":"boolean","title":"Aioverview","description":"Include Google's AI Overview and the pages it cites. On by default.","default":true},"domain":{"anyOf":[{"type":"string","maxLength":253},{"type":"null"}],"title":"Domain","description":"Your site. When given, the answer says where it ranks and whether the AI Overview cites it."}},"additionalProperties":false,"type":"object","required":["keyword"],"title":"SerpRequest"},"StatusUpdate":{"properties":{"status":{"type":"string","title":"Status","description":"new, seen, irrelevant or done."}},"additionalProperties":false,"type":"object","required":["status"],"title":"StatusUpdate"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WaitAction":{"properties":{"type":{"type":"string","const":"wait","title":"Type"},"milliseconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Milliseconds"},"selector":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selector"}},"additionalProperties":false,"type":"object","required":["type"],"title":"WaitAction"},"WatchFields":{"properties":{"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"Words or phrases to look for, up to 20 with `competitors`. Whole words, any case."},"competitors":{"items":{"type":"string"},"type":"array","title":"Competitors","description":"Keywords for a competitor. A post that matches one of these and none of `keywords` is sorted as `competitor`."},"exclude":{"items":{"type":"string"},"type":"array","title":"Exclude","description":"Words that remove a post from the results when it contains any of them."},"platforms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Platforms","description":"Where to look: reddit, hackernews, bluesky, youtube, threads, web, github, feeds. Default is all of them."},"feeds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Feeds","description":"RSS or Atom feed addresses to read (a Substack, a blog, a forum), up to 10. Read when `platforms` includes feeds; new entries that name a keyword as a whole word become mentions."},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories","description":"Categories to keep: bug_report, complaint, question, buying_intent, praise, competitor, other. Posts sorted elsewhere are dropped. Default is all."},"customWords":{"anyOf":[{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Customwords","description":"Your own words for a category, added to the built-in ones. Example: {\"buying_intent\": [\"any tips\"]}."},"intervalMinutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Intervalminutes","description":"How often to check, in minutes: 5 to 10,080. Default 15."}},"additionalProperties":false,"type":"object","title":"WatchFields"},"WatchRequest":{"properties":{"keywords":{"items":{"type":"string"},"type":"array","title":"Keywords","description":"Words or phrases to look for, up to 20 with `competitors`. Whole words, any case."},"competitors":{"items":{"type":"string"},"type":"array","title":"Competitors","description":"Keywords for a competitor. A post that matches one of these and none of `keywords` is sorted as `competitor`."},"exclude":{"items":{"type":"string"},"type":"array","title":"Exclude","description":"Words that remove a post from the results when it contains any of them."},"platforms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Platforms","description":"Where to look: reddit, hackernews, bluesky, youtube, threads, web, github, feeds. Default is all of them."},"feeds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Feeds","description":"RSS or Atom feed addresses to read (a Substack, a blog, a forum), up to 10. Read when `platforms` includes feeds; new entries that name a keyword as a whole word become mentions."},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories","description":"Categories to keep: bug_report, complaint, question, buying_intent, praise, competitor, other. Posts sorted elsewhere are dropped. Default is all."},"customWords":{"anyOf":[{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Customwords","description":"Your own words for a category, added to the built-in ones. Example: {\"buying_intent\": [\"any tips\"]}."},"intervalMinutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Intervalminutes","description":"How often to check, in minutes: 5 to 10,080. Default 15."},"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name","description":"A name for the watch."},"webhook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook","description":"A URL to POST to with `mention.created` for each new mention. Signed with your key's webhook secret."}},"additionalProperties":false,"type":"object","required":["name"],"title":"WatchRequest"},"WatchUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"A new name."},"keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Keywords","description":"Replaces the keywords."},"competitors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Competitors","description":"Replaces the competitor keywords."},"exclude":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Exclude","description":"Replaces the excluded words."},"platforms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Platforms","description":"Replaces the platforms."},"feeds":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Feeds","description":"Replaces the feed addresses."},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Categories","description":"Replaces the categories kept."},"customWords":{"anyOf":[{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object"},{"type":"null"}],"title":"Customwords","description":"Replaces your own category words."},"intervalMinutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Intervalminutes","description":"Minutes between checks."},"webhook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook","description":"A new webhook URL; empty removes it."},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active","description":"Pause (false) or resume (true) the watch."}},"additionalProperties":false,"type":"object","title":"WatchUpdate"},"WebhookConfig":{"properties":{"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string","enum":["started","page","completed","failed"]},"type":"array","title":"Events"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"}},"additionalProperties":false,"type":"object","required":["url"],"title":"WebhookConfig"},"WriteAction":{"properties":{"type":{"type":"string","const":"write","title":"Type"},"selector":{"type":"string","title":"Selector"},"text":{"type":"string","title":"Text"}},"additionalProperties":false,"type":"object","required":["type","selector","text"],"title":"WriteAction"}}}}