Crawl
Every page of a site as markdown or JSON, each one sent as soon as it is read. 1 credit a page, about $0.0032 to $0.0049, and you set the limit.
1,000 free credits every month. No card needed.
How it works
It starts from your link.
It reads the site's sitemap, then follows the links on every page it reads, staying on the site and inside the paths you allow.
Each page comes back as soon as it is read.
In the formats you asked for, with its URL, status and how many links from your first page it was found. Nothing waits for the last page.
It ends with a summary.
Pages delivered, pages found, the credits spent, and every URL it could not read, with the reason.
What comes back
markdown
Clean text with headings, lists and links kept. The default, and the best thing to hand a model.
page.markdown
json
The fields you name, read off every page. Send a JSON Schema and each result follows it.
page.json
html
Each page's HTML, cleaned, with its structure kept.
page.html
rawHtml
Exactly the HTML the browser had, untouched.
page.rawHtml
links
Every link on the page, as full URLs.
page.links
screenshot
A PNG of what a visitor sees first, as base64.
page.screenshot
screenshot@fullPage
A PNG of the whole page, top to bottom.
page.screenshot
depth
How many links from your first page it was found, and the page that linked to it.
page.depth · page.discoveredFrom
You get each page’s main content by default, without menus, ads and footers. Send onlyMainContent: false for the whole page.
What you can build
Crawl a docs site into embedded chunks, then re-embed only the pages that changed.
Pricing
Tool
Dollars on
Crawl
Every page on a site, from one link.
1 credit a page
$4.90 per 1,000 pages
You pay for pages delivered, not for the limit. A site with nine pages costs nine credits, whatever limit you set.
A page it could not read costs nothing. It is listed in the summary with the reason.
Stopping a crawl stops the spend. Every page already delivered stays yours.
More formats cost nothing extra. A copy read in the last two days may come from our cache, at the same price. Send maxAge: 0 to read every page live.
Scope
limitincludePaths/docs/** takes everything under /docs; /docs/* stops one level down.excludePathsmaxDepthallowSubdomainsallowExternalLinksschemawebhookFAQ
outcrawl_crawl and gets every page back in one answer when the crawl ends. The same crawl is in the CLI (outcrawl crawl <url>), the TypeScript and Python SDKs, and plain HTTP, where pages stream in as they are read.webhook if it needs them sooner.outcrawl crawl results <id> in the CLI, oc.crawl.results(id) in the SDKs, or plain HTTP.ignoreSitemap: true to follow links only.