> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brandfetch.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Firecrawl

> How Firecrawl's branding extraction compares to Brandfetch's brand data APIs

Firecrawl is a web scraping and crawling API built for AI agents. It turns any URL into markdown, structured JSON, or a screenshot, and its "branding" format extracts a logo, color palette, fonts, and spacing from a live page. That output overlaps with what Brandfetch serves, so this page compares the two on brand data: what you get, how it's sourced, and what it costs.

## Brand quality & time to value

Firecrawl doesn't maintain a brand dataset. A branding scrape extracts whatever is in the page's current HTML, results are cached for up to two days by default, then re-rendered, with no published coverage numbers either way. Brandfetch maintains verified brand records and [publishes its coverage openly](/accuracy/coverage-and-quality): in its core distribution, logos resolve for 95% of brands, colors for 97%, and company descriptions for 94%, and logo coverage holds at 86% even at the extreme long tail of small, non-tech businesses.

That difference compounds at scale. Firecrawl bills a credit on every request, even when the response comes from its cache. Brandfetch's lookup is instant and consistent, the hundredth request for a domain gets the same verified record as the first.

## Quick comparison

|                           | Brandfetch                                                                                                                                     | Firecrawl                                                                |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |
| Core product              | Dedicated brand data platform                                                                                                                  | Web scraping/crawling API for AI agents                                  |
| How brand data is sourced | Pre-indexed, verified brand records                                                                                                            | Rendered live from the page's HTML                                       |
| Brand data returned       | Typed logos (icon, logo, symbol), full color palette, fonts, banners, description, firmographics (industry, employees, location, founded year) | Page-derived logo, palette, fonts, typography, spacing, favicon/og:image |
| Request type              | REST `GET` returning JSON, plus hotlinkable logo CDN URLs                                                                                      | Server-side POST, returns JSON                                           |
| Speed                     | Instant, pre-indexed lookup                                                                                                                    | Seconds for a fresh render, faster from its short-lived cache            |
| Published coverage        | 95% logos, 97% colors in core distribution                                                                                                     | None published                                                           |
| Free tier                 | Brand API: 100 requests to try it; Logo API: 500,000 requests/mo                                                                               | 1,000 credits/mo (a branding scrape is 1 credit, JSON extraction is 5)   |
| Identifiers               | Domain, ticker, ISIN, crypto                                                                                                                   | URL only                                                                 |

## How requests compare

One branding scrape against one Brand API lookup for the same company:

**Firecrawl**

<CodeGroup>
  ```python theme={null}
  from firecrawl import Firecrawl

  firecrawl = Firecrawl(api_key="FIRECRAWL_API_KEY")
  result = firecrawl.scrape(url="https://nike.com", formats=["branding"])
  print(result.branding.logo)
  ```
</CodeGroup>

**Brandfetch**

<CodeGroup>
  ```bash theme={null}
  curl "https://api.brandfetch.io/v2/brands/domain/nike.com" \
    -H "Authorization: Bearer BRANDFETCH_API_KEY"
  ```
</CodeGroup>

One response carries the brand's logos in every format and theme, the full color palette, fonts, banners, description, and company firmographics. And when all you need is the logo image itself, the [Logo API](/logo-api/overview) skips the JSON entirely, `https://cdn.brandfetch.io/nike.com?c=BRANDFETCH_CLIENT_ID` drops straight into an `img` tag.

<Note>
  Firecrawl is a good fit if you're already scraping pages for other content and want brand hints as a byproduct, or if the data you need only exists on a rendered page. If brand data is the actual goal, a verified, pre-indexed record avoids rendering pages to reconstruct it.
</Note>

## Build vs. buy

Reaching for a scraper to get brand data is really a decision to build. Firecrawl hands you raw extraction, and everything that makes it production-grade is yours to own: designing the extraction schema, catching pages that return the wrong logo or none at all, choosing fallback behavior, deciding when cached results are stale, and re-running the pipeline as sites redesign. None of that work ends, because the web keeps changing underneath it.

Buying the data means that pipeline already exists and is someone else's job to maintain. Brandfetch indexes, verifies, and refreshes brand records continuously, publishes [the coverage you can expect](/accuracy/coverage-and-quality), and serves the result as a single lookup. Your engineering time goes into your product instead of into keeping a scraper honest.

## Why teams choose Brandfetch

* **Verified records, not page guesses.** Brandfetch's dataset is pre-indexed and curated, not extracted on the fly from whatever a page's HTML happens to expose.
* **The whole brand in one call.** Typed logos, palette, fonts, banners, description, and firmographics come back together, no schema to design, no extraction to tune.
* **Hotlinkable logos on top.** The Logo API serves the image directly from a CDN with size, theme, and fallback control, something a scraping response can't do.
* **Published coverage.** Coverage numbers are [measured and published](/accuracy/coverage-and-quality), so you know how it behaves beyond the domains you demo.

## Beyond brand data

Firecrawl's core product is a general-purpose web scraping and crawling API: turning any URL into markdown, HTML, a screenshot, or schema-guided structured JSON, with search and agent-style page interaction on top. Brand extraction is one format among many, and Brandfetch doesn't compete with the rest of it, there's no scraping, crawling, or page interaction in its APIs.

If you need arbitrary content off arbitrary pages, Firecrawl is the right tool. If you need brand data specifically, Brandfetch's pre-indexed dataset ([Brand API](/brand-api/overview): logos, colors, fonts, banners, firmographics) plus the [Brand Context API](/brand-context-api/overview) for narrative, LLM-ready brand context avoids re-scraping the same sites on every request.

## Get started

<CardGroup cols={2}>
  <Card title="Brand API overview" icon="layer-group" href="/brand-api/overview" iconType="light" cta="Learn more">
    See everything a brand record contains and how to query it
  </Card>

  <Card title="Get your API key" icon="key" href="https://developers.brandfetch.com/register" iconType="light" cta="Register">
    Free account, no credit card required
  </Card>
</CardGroup>
