{"openapi":"3.1.0","info":{"title":"Fireflare API","version":"1.0.0","description":"Cloudflare-native web extraction API. Search web, scrape content, map links, and run crawl jobs."},"tags":[{"name":"Scrape","description":"Single-page extraction endpoints"},{"name":"Extract","description":"Structured extraction jobs"},{"name":"Search","description":"Web search and search feedback"},{"name":"Map","description":"Site link discovery"},{"name":"Crawl","description":"Crawl jobs and crawl status"},{"name":"Batch","description":"Batch scrape jobs"}],"components":{"schemas":{},"parameters":{}},"paths":{"/scrape":{"post":{"tags":["Scrape"],"summary":"Scrape one URL","operationId":"post_ScrapeEndpoint","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"formats":{"type":"array","items":{"type":"string","enum":["markdown","html","rawHtml","screenshot","json","links"]}},"onlyMainContent":{"type":"boolean"},"waitFor":{"type":"integer","minimum":0,"maximum":30000},"timeout":{"type":"integer","minimum":1000,"maximum":300000},"browserProvider":{"type":"string","enum":["cloudflare","kernel","auto"]},"jsonPrompt":{"type":"string"},"maxAge":{"type":"integer","minimum":0,"maximum":604800},"engine":{"type":"string","enum":["browser","fetch"]}},"required":["url"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/scrape/{id}":{"get":{"tags":["Scrape"],"summary":"Get scrape status and result","operationId":"get_ScrapeStatusEndpoint","parameters":[{"schema":{"type":"string","description":"Job ID"},"required":true,"description":"Job ID","name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/extract":{"post":{"tags":["Extract"],"summary":"Extract structured content from URLs","operationId":"post_ExtractEndpoint","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"}},"prompt":{"type":"string"},"schema":{},"includeSubdomains":{"type":"boolean"},"ignoreInvalidURLs":{"type":"boolean"},"showSources":{"type":"boolean"},"waitFor":{"type":"integer"},"timeout":{"type":"integer"},"formats":{"type":"array","items":{"type":"string","enum":["markdown","html","rawHtml","screenshot","json","links"]}},"browserProvider":{"type":"string","enum":["cloudflare","kernel","auto"]},"scrapeOptions":{"type":"object","properties":{"formats":{"type":"array","items":{"type":"string","enum":["markdown","html","rawHtml","screenshot","json","links"]}},"onlyMainContent":{"type":"boolean"},"waitFor":{"type":"integer","minimum":0,"maximum":30000},"timeout":{"type":"integer","minimum":1000,"maximum":300000},"browserProvider":{"type":"string","enum":["cloudflare","kernel","auto"]},"jsonPrompt":{"type":"string"},"maxAge":{"type":"integer","minimum":0,"maximum":604800},"engine":{"type":"string","enum":["browser","fetch"]}},"additionalProperties":{}}},"additionalProperties":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/extract/{id}":{"get":{"tags":["Extract"],"summary":"Get extract status and result","operationId":"get_ExtractStatusEndpoint","parameters":[{"schema":{"type":"string","description":"Job ID"},"required":true,"description":"Job ID","name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/search":{"post":{"tags":["Search"],"summary":"Search web results","operationId":"post_SearchEndpoint","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":100},"scrapeOptions":{"type":"object","properties":{"formats":{"type":"array","items":{"type":"string","enum":["markdown","html","rawHtml","screenshot","json","links"]}},"onlyMainContent":{"type":"boolean"},"waitFor":{"type":"integer","minimum":0,"maximum":30000},"timeout":{"type":"integer","minimum":1000,"maximum":300000},"browserProvider":{"type":"string","enum":["cloudflare","kernel","auto"]},"jsonPrompt":{"type":"string"},"maxAge":{"type":"integer","minimum":0,"maximum":604800},"engine":{"type":"string","enum":["browser","fetch"]}},"additionalProperties":{}}},"required":["query"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/search/{jobId}/feedback":{"post":{"tags":["Search"],"summary":"Submit feedback for a search result set","operationId":"post_SearchFeedbackEndpoint","parameters":[{"schema":{"type":"string","description":"Search job ID"},"required":true,"description":"Search job ID","name":"jobId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"rating":{"type":"string","enum":["good","bad","partial"]},"valuableSources":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string"},"reason":{"type":"string"}},"required":["url"]}},"missingContent":{"type":"array","items":{"type":"object","properties":{"topic":{"type":"string"},"description":{"type":"string"}},"required":["topic"]}},"querySuggestions":{"type":"string"}},"required":["rating"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/map":{"post":{"tags":["Map"],"summary":"Discover links on a site","operationId":"post_MapEndpoint","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"limit":{"type":"integer","minimum":1,"maximum":100000},"includeSubdomains":{"type":"boolean"}},"required":["url"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/crawl":{"post":{"tags":["Crawl"],"summary":"Start a crawl job","operationId":"post_CrawlEndpoint","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"uri"},"limit":{"type":"integer","minimum":1,"maximum":25},"maxDepth":{"type":"integer","minimum":0,"maximum":3},"scrapeOptions":{"type":"object","properties":{"formats":{"type":"array","items":{"type":"string","enum":["markdown","html","rawHtml","screenshot","json","links"]}},"onlyMainContent":{"type":"boolean"},"waitFor":{"type":"integer","minimum":0,"maximum":30000},"timeout":{"type":"integer","minimum":1000,"maximum":300000},"browserProvider":{"type":"string","enum":["cloudflare","kernel","auto"]},"jsonPrompt":{"type":"string"},"maxAge":{"type":"integer","minimum":0,"maximum":604800},"engine":{"type":"string","enum":["browser","fetch"]}},"additionalProperties":{}},"async":{"type":"boolean"},"concurrency":{"type":"integer","minimum":1,"maximum":10}},"required":["url"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/crawl/ongoing":{"get":{"tags":["Crawl"],"summary":"List active crawl and batch jobs","operationId":"get_CrawlOngoingEndpoint","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/crawl/active":{"get":{"tags":["Crawl"],"summary":"List active crawl and batch jobs","operationId":"get_CrawlOngoingEndpoint","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/crawl/{id}/errors":{"get":{"tags":["Crawl"],"summary":"Get crawl job errors","operationId":"get_CrawlErrorsEndpoint","parameters":[{"schema":{"type":"string","description":"Job ID"},"required":true,"description":"Job ID","name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/crawl/{id}":{"get":{"tags":["Crawl"],"summary":"Get crawl status and result","operationId":"get_CrawlStatusEndpoint","parameters":[{"schema":{"type":"string","description":"Job ID"},"required":true,"description":"Job ID","name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}},"delete":{"tags":["Crawl"],"summary":"Cancel a crawl job","operationId":"delete_CrawlCancelEndpoint","parameters":[{"schema":{"type":"string","description":"Job ID"},"required":true,"description":"Job ID","name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/batch/scrape":{"post":{"tags":["Batch"],"summary":"Submit URLs for batch scraping","operationId":"post_BatchScrapeEndpoint","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"urls":{"type":"array","items":{"type":"string"}},"webhook":{},"ignoreInvalidURLs":{"type":"boolean"},"appendToId":{"type":"string"},"maxConcurrency":{"type":"integer","minimum":1,"maximum":25},"input":{},"scrapeOptions":{"type":"object","properties":{"formats":{"type":"array","items":{"type":"string","enum":["markdown","html","rawHtml","screenshot","json","links"]}},"onlyMainContent":{"type":"boolean"},"waitFor":{"type":"integer","minimum":0,"maximum":30000},"timeout":{"type":"integer","minimum":1000,"maximum":300000},"browserProvider":{"type":"string","enum":["cloudflare","kernel","auto"]},"jsonPrompt":{"type":"string"},"maxAge":{"type":"integer","minimum":0,"maximum":604800},"engine":{"type":"string","enum":["browser","fetch"]}},"additionalProperties":{}}},"required":["urls"],"additionalProperties":{}}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/batch/scrape/{id}/errors":{"get":{"tags":["Batch"],"summary":"Get batch scrape job errors","operationId":"get_BatchScrapeErrorsEndpoint","parameters":[{"schema":{"type":"string","description":"Job ID"},"required":true,"description":"Job ID","name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}},"/batch/scrape/{id}":{"get":{"tags":["Batch"],"summary":"Get batch scrape status and result","operationId":"get_BatchScrapeStatusEndpoint","parameters":[{"schema":{"type":"string","description":"Job ID"},"required":true,"description":"Job ID","name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}},"delete":{"tags":["Batch"],"summary":"Cancel a batch scrape job","operationId":"delete_BatchScrapeCancelEndpoint","parameters":[{"schema":{"type":"string","description":"Job ID"},"required":true,"description":"Job ID","name":"id","in":"path"}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}},"additionalProperties":{}}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"string"}},"additionalProperties":{}}}}}}}}},"webhooks":{}}