Can Firecrawl Scrape Social Media? What It Can and Cannot Do
Firecrawl is one of the best tools for turning websites into clean Markdown for LLMs. People naturally try it on social media next. The results are mixed, and Firecrawl does not publish a full list of sites it skips. This post sticks to what Firecrawl's own docs and team have said, and shows how to test your own URLs.
What Firecrawl's docs say
The scrape docs say plainly: "Firecrawl doesn't scrape LinkedIn." Instead, a scrape of a LinkedIn profile or company page is answered by third-party data providers that an org admin turns on in enrichment settings. Only the root page is served. Sub-pages such as a profile's experience page or a company's jobs page fail with THIRD_PARTY_DATA_UNSUPPORTED_URL. If no enabled provider has a record, you get THIRD_PARTY_DATA_NOT_FOUND. Some providers need an admin to accept their terms first.
Unsupported sites
The errors reference lists UNSUPPORTED_SITE, a 403 meaning "Firecrawl does not scrape this site, and no third-party data provider serves the URL." It is marked as not retryable, and the suggested fix is to use a different source for that data.
YouTube
The scrape docs name YouTube as a supported site for the audio and video formats, which extract an MP3 or the best-quality video at 5 credits per page. History is mixed: in April 2025 a self-hosting user reported a 403 with "This website is no longer supported" on a YouTube URL, and a Firecrawl team member replied that "as a company, we made the decision to block the scraping of certain sites." Behavior can differ between the hosted service and self-hosting, and it changes over time.
Instagram, TikTok, X, Facebook, Reddit
The docs we checked do not list these sites as supported or unsupported. Test before you build on them.
Test your own URLs in five minutes
const urls = [
"https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"https://www.tiktok.com/@duolingo",
"https://www.instagram.com/nike/",
"https://x.com/nasa",
"https://www.reddit.com/r/espresso/",
];
for (const url of urls) {
const res = await fetch("https://api.firecrawl.dev/v2/scrape", {
method: "POST",
headers: { Authorization: "Bearer " + process.env.FIRECRAWL_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ url, formats: ["markdown"] }),
});
const body = await res.json();
console.log(res.status, url, body.code ?? body.error ?? "", (body.data?.markdown ?? "").length);
}
Look at three things for each URL: the status code, the error message or code, and the length of the Markdown. A 200 with very little Markdown often means you got a login prompt, not the content.
Why a page scraper is a weak fit for social data
- The numbers you need are not in the text. Play counts, follower counts and timestamps are often in scripts or loaded later. Markdown of the page may not include them.
- Lists are paginated. A creator's 200 videos or a post's 2,000 comments are not on one URL.
- Logged-out views are thin. Many platforms show a prompt to sign in instead of the content.
- Each platform has its own shape. You still need a parser per site to get structured fields.
Where Firecrawl is the right tool
- Documentation, blogs, news and company sites.
- Crawling or mapping a whole site.
- Web search with page content attached.
- PDFs and documents.
- Giving an agent clean Markdown through its MIT-licensed MCP server.
A pairing that works
| Job | Use |
|---|---|
| A competitor's website and blog | Firecrawl |
| The same competitor's TikTok, Instagram and YouTube stats | A social data API |
| Press coverage about a launch | Firecrawl search |
| Comments and transcripts from launch videos | A social data API |
The rule of thumb: if the URL is a page someone wrote to be read, use Firecrawl. If it is a feed, a profile or a post on a social platform, and you need numbers or lists from it, use a social data API. Many research tasks need both.
In an agent, connect both MCP servers and let the agent pick. Tell it in the system prompt to use the social tools for platform URLs.
Doing it with ScrapeIO
ScrapeIO covers the social side: the LinkedIn profile API and LinkedIn company posts API, the YouTube video API with views, likes and duration, and the TikTok profile API, all as JSON with the same field names. It runs as a hosted MCP server next to Firecrawl's, and only reads public data.
Sources
Checked on 8 November 2026 from each vendor's own pages. Prices and limits change; follow the links before you decide.
- https://docs.firecrawl.dev/features/scrape
- https://docs.firecrawl.dev/api-reference/errors
- https://github.com/firecrawl/firecrawl/issues/1485
- https://github.com/firecrawl/firecrawl-mcp-server
- https://www.firecrawl.dev/pricing
100 free credits, no card. Credits never expire.
Get API key