Back to tools
6 endpoints

Firecrawl

Web data for agents — scrape any URL to clean markdown or schema-shaped JSON, crawl whole sites as durable jobs, batch-scrape URL lists, search the live web, and run autonomous extraction agents. Anti-bot proxies at no surcharge.

Part of Web Tools

Get started by giving this to your agent
$Set up https://monid.ai/SKILL.md, and then use Monid to show me what I can do with Firecrawl.
Firecrawl
Firecrawl Scrape
/scrape

Scrape one URL into clean, LLM-ready markdown or JSON.

from $0.0010per call
0 Markup
Firecrawl
Firecrawl Search
/search

Search the web and optionally scrape every result.

from $0.00020per result
0 Markup
Firecrawl
Firecrawl Crawl
/crawl

Crawl a whole website into clean content, page by page.

from $0.0010per result
0 Markup
Firecrawl
Firecrawl Map
/map

List a website's URLs, fast, without scraping content.

$0.0010per call
0 Markup
Firecrawl
Firecrawl Batch Scrape
/batch/scrape

Scrape up to 500 known URLs as one durable job.

from $0.0010per result
0 Markup
Firecrawl
Firecrawl Agent
/agent

Autonomous multi-page web research into structured JSON.

$0.001per credit
0 Markup

Try it with your agents

01
Map a product's competitors
Set up https://monid.ai/SKILL.md, and then use Monid to search the web for the strongest alternatives to Notion and build a comparison table from the top sources.

How-to guides

How do I read any web page as clean text?free route first, escalate on a thin answerread <url> as markdown with context.dev on monid and keep the code blocks, then count the fenced blocks against the page and tell me the number. do not judge it by the character count: link syntax and page chrome are included by default and can make the output larger than the visible text the cheap one: 15,312 characters with all three code samples intact, plus the page metadata the 66x one: 9,948 characters and every code fence stripped to prose what that means: on a documentation page, the expensive extractor lost exactly the part you came for count blocks, not characters: on a second page all 32 code blocks came back and twenty sampled ones were verbatim, while the character count was 74% larger than the visible text because link markup and chrome are on by default and made up two fifths of the output and the length field is bytes: the endpoint's own content length is counted in utf-8 bytes rather than characters, so it will not match a character count either the tie: on a news article the cheap one and a near-free one returned the same text, neither blockedHow do I read a page that blocks a plain fetch?a real browser session, and what it costs per stepread <url> with tinyfish on monid and give me the items on it. it is a page where nothing is in the html until javascript runs, so tell me how many items came back with real values in them. do not judge it by the byte count or by the status: judge it by whether the fields are populated the comparison: on one page the $0.011 route and plain curl returned the same 5,806 bytes and a string equality check said true; on another the bytes differed by 367 and nothing had rendered either way what that means: the script that builds the page was still sitting there unexecuted, so an agent that strips tags and reads text gets nothing back the free one: returned all ten items as 1,080 bytes of clean markdown, which is the whole job, for $0.0000 do not diff the bytes: that 367-byte gap was a CDN performance beacon injected because the request looked like a browser, so on any fronted site the byte check reports a difference that means nothing the rule: count the populated fields. Both routes answered HTTP 200 on both pages, and on two different targets the paid one rendered 0 of 12 and 0 of 10Which local businesses still have no website?businesses with no website, screened for the chainssearch google maps for <trade> in <city> with litescrape on monid and tell me how many of the results already have a website and a rating above 4.5. if almost all of them do, say so and stop before i build a list the answer: forty results and not one of them had a missing website the ratings: nineteen of the first twenty sat at 4.5 or above it degrades as you page: the first page carried a website and a rating on all twenty rows, but across 75 unique rows the website was present on 69 and the rating on 72, so the deeper you go the more rows the screen cannot judge the verdict: the category is saturated, so a no-website lead list here would be empty what it cost: three hundredths of a cent to avoid building the wrong list