Most agent projects start with the model and end with the plumbing. Your agent needs context — a competitor’s pricing page, a PDF contract, a prospect’s role — and getting it means writing a scraper here, a file parser there, and wiring up yet another enrichment API. Firecrawl’s answer, announced October 8, 2026, is Universal Scrape: a way to pull provider data through the same /scrape endpoint you already use for pages.
What changed
Previously, /scrape handled web pages and documents — rendering, retries, and parsing included. Universal Scrape extends that endpoint to reach Alexandria, Firecrawl’s provider marketplace, which lists more than 200 sources. Per Eric Ciarla’s announcement, supported categories include:
- People and company profiles via Apollo, FullEnrich, and Data Legion
- Financial data via Fiscal.ai and Benzinga
- Podcast search, lookup, and transcripts via Particle
- Web pages, PDFs, images, and — by URL — Word docs, spreadsheets, and presentations
Coverage is partial for now: the post says Universal Scrape works with “a growing selection” of Alexandria’s providers, with more being added daily.
Why one endpoint matters
The practical win isn’t the data categories themselves — enrichment APIs have existed for years. It’s the integration count. One API key, one SDK, one billing surface (provider calls bill in Firecrawl credits at each tool’s listed price). When you add a new source, you change a parameter, not your auth layer or your retry logic.
I covered a similar pattern when Alexandria’s people enrichment shipped: the value of a provider marketplace compounds when switching providers doesn’t mean rewriting your agent. Universal Scrape pushes that further by collapsing the boundary between “scraped the web” and “called a vendor” into a single call shape.
What the code looks like
A page and a podcast search, same client:
import { Firecrawl } from "firecrawl";
const firecrawl = new Firecrawl({
apiKey: process.env.FIRECRAWL_API_KEY,
});
const page = await firecrawl.scrape("https://www.firecrawl.dev", {
formats: ["markdown"],
});
const podcasts = await firecrawl.scrape({
alexandria: {
provider: "particle",
capability: "podcasts/episodes/search",
options: {
semantic_search: "AI agents",
limit: 2,
},
},
});
Two operational details worth noting before you ship: use the latest SDK, and some provider calls need upfront consent — an org admin must accept Particle’s provider terms before podcast search works. Some supported profile URLs also route automatically to your configured enrichment providers, so check the docs’ URL-routing rules if that surprises you.
Where to try it
Beyond the API, Firecrawl is available as a ChatGPT and Codex plugin, a Claude connection, a Claude Code plugin, an MCP server, and a CLI. The pitch is that a new data source gives your agent more context without becoming another integration to maintain.
That’s the right goal, and the mechanism is sound. The open question is coverage — how much of Alexandria’s 200-provider library actually lands behind /scrape, and how quickly. If you’re already paying for Firecrawl, the practical next step is small: check whether a provider you currently call separately is supported, and test replacing one integration this week.
