Web scraping,
handled.
Add, search, crawl, extract, and convert pages to markdown with one TypeScript client.
ScrapetheURL.Searchifyouneedto.Failoverbeforetheagentdies.
Everything your scraping flow needs. One API.
Scrape SDK keeps platform-specific APIs at the edge of your system and returns a clean markdown model your agent can consume directly.
import { createScrapeClient } from "scrape-sdk";
import { firecrawl } from "scrape-sdk/firecrawl";
import { jina } from "scrape-sdk/jina";
import { local } from "scrape-sdk/local";
const scraper = createScrapeClient({
providers: [
firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY! }),
jina(),
local(),
],
});
const page = await scraper.scrape("https://stripe.com", {
format: "markdown",
onlyMainContent: true,
});stripe.com/pricingreadyHonest failover
If your primary provider rate-limits or times out, Scrape SDK shifts to fallback providers before your agent crashes.
Change the adapter.
Keep the workflow.
firecrawl()jina()Standardized options and responses across all 6 scraping providers.
Clean markdown your UI and agent can trust
Explore model# Stripe Payment Intents APIclean ATX headerstitle, description, linksstructuredscripts & styles stripped0 wasted tokensYour complete scraping workflow, already handled.
Your application owns agent logic and orchestration. Scrape SDK talks to configured providers. The provider remains the source of truth.
Compare providersEverything needed for the lifecycle. Nothing pretending to be magic.
app.target.comaddedAttach a URL
Validate once, pass custom headers, and safely execute across configured adapters.
Return exact markdown
Strip navigation, styles, and boilerplate. Give your agent token-efficient text.
Auto-recover
Seamlessly route requests to backup providers if rate limits or timeouts occur.
Local fallback0 tokensZero token waste
Static Cheerio engine strips HTML clutter without consuming any external tokens.
Interactive Extraction Sandbox
Test live extraction directly in the browser.
Ready for agents & SDKs
import { createScrapeClient } from "scrape-sdk";
import { firecrawl } from "scrape-sdk/firecrawl";
import { jina } from "scrape-sdk/jina";
import { local } from "scrape-sdk/local";
const scraper = createScrapeClient({
providers: [
firecrawl({ apiKey: process.env.FIRECRAWL_API_KEY! }),
jina(),
local(),
],
});
const page = await scraper.scrape("https://stripe.com", {
format: "markdown",
onlyMainContent: true,
});
console.log(page.markdown);
console.log(`via ${page.provider} in ${page.latencyMs}ms`);Add the URL. Show the markdown. Never fail.
