Search, scrape, map, and crawl are live

Web extraction
made simple

One API call turns a public page into clean Markdown. Search, scrape, map, and crawl with source URLs, metadata, and explicit limits.

[ 200 OK ]
# Scrape a website and get clean markdown
from firecrawl import Firecrawl
app = Firecrawl(api_key="fc-YOUR_KEY")

result = app.scrape(
  "rounderone.app",
  formats=["markdown", "json"]
)
.JSON.MD
01 / THE API

Extraction you can drop into any agent

Search finds sources, Scrape cleans a page, and Crawl explores a site. Test every primitive directly in the live playground.

Find anything on the web

Query public search providers and get source URLs, titles, and snippets in a consistent JSON response.

POST /api/search { query, limit }
Try Search

Turn pages into clean data

Turn a public HTML page into cleaned Markdown, metadata, normalized links, and retrieval statistics.

POST /api/scrape { url }
Try Scrape

Explore a site within clear limits

Discover same-origin pages and extract a bounded crawl with page, depth, timeout, and response-size limits.

POST /api/crawl { url, maxPages, maxDepth }
Try Crawl
02 / LIVE RETRIEVAL

Watch pages turn into usable context

Pages are discovered, fetched, cleaned, and returned with clear timing for every step.

URLCrawlScrape
rounderone.app/docs531 ms387 ms
rounderone.app/pricing481 ms668 ms
rounderone.app/blog697 ms560 ms
rounderone.app/products543 ms546 ms
rounderone.app/playground480 ms696 ms
rounderone.app/resources715 ms753 ms

Retrieval timings updated

05 / USE CASES

Transform web data into AI-powered solutions

01

Deep research agents

Give autonomous agents live, reliable web context to reason over.

02

RAG pipelines

Feed retrieval systems clean, chunk-ready content.

03

Lead enrichment

Build firmographic context from public company websites.

04

Competitive intelligence

Collect comparable public product and pricing pages for analysis.

05

Price monitoring

Retrieve catalog and pricing pages as inputs for your own scheduled comparison workflow.

07 / PRICING

Simple pricing that scales with you

Start free. Upgrade with a plan code when you ship. Card checkout is on the roadmap.

Free

$0/mo

For side projects and testing the waters.

  • 500 credits/mo
  • Scrape, Search, Map, Crawl
  • 10 req/min, 5-page crawls
  • Community support
Start for free
Most popular

Standard

$49/mo

For production apps and growing teams.

  • 100,000 credits/mo
  • Structured Extract endpoint
  • 120 req/min, 50-page crawls
  • 25s scrape timeout, deeper crawls
  • Search with page content
Get started

Enterprise

Custom

For high volume and custom needs.

  • Unmetered credits
  • 600 req/min, 200-page crawls
  • Concurrency 10, 5,000-URL maps
  • Private deployment options
  • Direct support channel
Contact sales

Frequently asked questions

Endpoints, credits, plan limits, and billing.

RounderOne is a web extraction API with five endpoints: Search finds public sources, Scrape turns one HTML page into clean Markdown, Map lists a site's URLs, Crawl retrieves a bounded set of same-origin pages, and Extract returns structured JSON from selectors or regex patterns.

Teams use RounderOne for deep research agents, RAG pipelines, lead enrichment, competitive intelligence, content generation, and price monitoring. Anywhere your application needs reliable live web data.

The web was built for humans, not machines. Raw HTML is full of navigation, scripts, and ads that waste model context. RounderOne strips that away and returns Markdown, metadata, and links, so you skip the post-processing layer entirely.

Create an API key in your dashboard and send it as a bearer token: Authorization: Bearer ro-your-key. Keys are displayed once, stored only as hashes, and can be revoked at any time. Session cookies also work for the dashboard and playground.

Yes. The playground runs the real production endpoints in demo mode, capped at 20 requests per day per IP with reduced limits: 6 requests per minute, 3-page crawls, and 8 search results. Extract needs a Standard key, so it returns 402 in demo mode.

Scrape, Search, and Map cost 1 credit per call. Crawl costs 1 credit per page actually fetched. Extract costs 3 credits. Search with scrapeResults enabled adds 1 credit per page it reads. Failed requests are refunded automatically, and credits reset on the first day of each UTC month. Enterprise is unmetered, so credits are not deducted.

Three plans. Free is $0 per month with 500 credits. Standard is $49 per month with 100,000 credits and the full endpoint set. Enterprise is custom priced with unmetered credits and higher ceilings; email lets@rounderone.app for a quote.

Free: 500 credits per month, 10 requests per minute, 5-page crawls, 10 search results, concurrency 1, 15 second scrape timeout. Standard: 100,000 credits, 120 requests per minute, 50-page crawls at depth 5, 20 search results, concurrency 4, 25 second scrape timeout. Enterprise: unmetered credits, 600 requests per minute, 200-page crawls, concurrency 10, and 5,000-URL maps.

Extract is Standard and above, and so is Search with scrapeResults enabled, since both read page content. The deeper crawl depth, 5,000-URL maps, longer scrape timeout, and higher concurrency are also paid. Scrape, Search, Map, and Crawl all work on Free within its limits.

Upgrades run on redemption codes today. Email lets@rounderone.app to buy Standard or Enterprise, then paste the RO- code into your dashboard to activate the plan for the paid period immediately. Card checkout is on the roadmap.

The account falls back to Free limits at the next request. Your API keys, usage history, and account stay intact, so redeeming a new code restores the paid ceilings without any code changes on your side.

Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and X-Credits-Remaining headers so clients can back off precisely. Errors return a JSON code: 400 for invalid or blocked URLs, 401 for bad keys, 402 when the endpoint needs a paid plan, 429 when rate limited, and 503 when the monthly credit quota is exhausted.

Outbound requests are made directly from the API with a descriptive RounderOneBot user agent, a bounded timeout, and one retry on transient upstream failures. There is no proxy layer, so sites that block datacenter egress or require JavaScript rendering can still refuse a request, and the API returns the upstream status instead of masking it.

Only public http and https URLs are accepted. Private, loopback, link-local, and reserved address ranges are blocked before connecting and rechecked after every redirect, so the API cannot be used to reach internal networks or cloud metadata endpoints. Response sizes and timeouts are bounded on every request.

Start extracting today

Point it at a URL and get clean Markdown back in seconds. Free to start, no credit card required.