> ## Documentation Index
> Fetch the complete documentation index at: https://firecrawl-claude-eager-dijkstra-27eiio.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Introdução

> Faça uma busca na web, faça scraping de qualquer página e interaja com ela, tudo por meio de uma única API.

export const AgentSetupButton = () => {
  const prompt = "Read and follow https://www.firecrawl.dev/agent-onboarding/SKILL.md";
  const writeClipboard = async text => {
    try {
      await navigator.clipboard.writeText(text);
      return true;
    } catch {
      const textarea = document.createElement("textarea");
      textarea.value = text;
      textarea.setAttribute("readonly", "");
      textarea.style.position = "fixed";
      textarea.style.top = "-9999px";
      document.body.appendChild(textarea);
      textarea.select();
      let copied = false;
      try {
        copied = document.execCommand("copy");
      } catch {
        copied = false;
      }
      document.body.removeChild(textarea);
      return copied;
    }
  };
  const [copied, setCopied] = useState(false);
  const [status, setStatus] = useState("");
  const timeoutRef = useRef(null);
  useEffect(() => () => window.clearTimeout(timeoutRef.current), []);
  const copyPrompt = async () => {
    const copied = await writeClipboard(prompt);
    if (copied) {
      window.clearTimeout(timeoutRef.current);
      setCopied(true);
      setStatus("Agent setup prompt copied to clipboard.");
      timeoutRef.current = window.setTimeout(() => {
        setCopied(false);
        setStatus("");
      }, 2000);
    } else {
      setCopied(false);
      setStatus("Could not copy the agent setup prompt.");
    }
  };
  const icon = copied ? <svg aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="m20 6-11 11-5-5" />
    </svg> : <svg aria-hidden="true" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <rect width="14" height="14" x="8" y="8" rx="2" />
      <path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2" />
    </svg>;
  return <div className="fc-agent-prompt not-prose">
      <button type="button" className={`fc-agent-prompt-button${copied ? " is-copied" : ""}`} onClick={copyPrompt} aria-label={copied ? "Copied agent setup prompt" : "Setup for agents"}>
        {icon}
        <span>{copied ? "Copied" : "Setup for agents"}</span>
      </button>
      <span className="fc-sr-only" aria-live="polite">
        {status}
      </span>
    </div>;
};

<div id="get-started">
  ## Primeiros passos
</div>

Conecte-se por Streamable HTTP. A URL do servidor sem chave (Busca, Scraping e Parse; sem necessidade de credenciais) é `https://mcp.firecrawl.dev/v2/mcp`.

* Codex: `codex mcp add firecrawl --url https://mcp.firecrawl.dev/v2/mcp`
* Claude Code: `claude mcp add --transport http firecrawl https://mcp.firecrawl.dev/v2/mcp`
* Cursor ou qualquer cliente com configuração JSON: `{"mcpServers": {"firecrawl": {"url": "https://mcp.firecrawl.dev/v2/mcp"}}}`
* OpenCode (`opencode.json`): `{"mcp": {"firecrawl": {"type": "remote", "url": "https://mcp.firecrawl.dev/v2/mcp", "enabled": true}}}`
* ChatGPT ou Claude.ai (login na conta): cole `https://mcp.firecrawl.dev/v2/mcp-oauth` nas configurações do conector do cliente.

Para todos os modos de conexão, configuração de chave de API e orientações de recuperação, consulte: [Configuração do MCP](/pt-BR/mcp-server.md).

<div id="build-directly-with-the-api">
  ### Desenvolva diretamente com a API
</div>

Faça o scraping da sua primeira página agora. Não é necessário ter uma conta nem uma chave de API para esta solicitação.

```bash cURL theme={null}
# Nenhuma API key necessária para começar — adicione -H "Authorization: Bearer $FIRECRAWL_API_KEY" para limites de taxa mais altos:
curl -s -X POST "https://api.firecrawl.dev/v2/scrape" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://firecrawl.dev",
    "formats": ["markdown", "html"]
  }'
```

Adicione uma [chave de API](https://www.firecrawl.dev/app/api-keys) quando precisar de limites maiores. Consulte o [SDK Python](/pt-BR/sdks/python), o [SDK de Node](/pt-BR/sdks/node) ou a [referência da API](/pt-BR/api-reference/endpoint/scrape) para integrá-la ao seu aplicativo.

<div id="other-ways-to-get-started">
  ## Outras formas de começar
</div>

<div id="install-the-firecrawl-cli">
  ### Instale a CLI do Firecrawl
</div>

Um único comando instala a CLI do Firecrawl, faz a autenticação no seu navegador e adiciona skills a todos os agentes de programação detectados.

```bash theme={null}
npx -y firecrawl-cli@latest init --all --browser
```

<Note>
  Reinicie o seu agente de programação após a configuração para que ele possa descobrir as novas skills. Consulte
  [CLI](/pt-BR/sdks/cli) para o guia completo de configuração.
</Note>

<div id="set-up-with-an-agent">
  ### Configure usando um agente
</div>

Forneça ao seu agente este prompt de configuração do Firecrawl ou veja [todas as opções de configuração do MCP](/pt-BR/mcp-server).

<AgentSetupButton />

<Note>
  **Para agentes de IA:** Use [llms.txt](https://docs.firecrawl.dev/llms.txt) para obter um índice da documentação ou [llms-full.txt](https://docs.firecrawl.dev/llms-full.txt) para acessar o texto completo.
</Note>

<div id="build-and-test-directly">
  ### Crie e teste diretamente
</div>

<CardGroup cols={2}>
  <Card title="Obtenha sua chave de API" icon="key" href="https://www.firecrawl.dev/app/api-keys">
    Crie uma conta gratuita para acesso direto à API e limites mais altos
  </Card>

  <Card title="Experimente no Playground" icon="play" href="https://www.firecrawl.dev/playground">
    Teste o Firecrawl no navegador sem escrever código
  </Card>
</CardGroup>

***

<div id="what-can-firecrawl-do">
  ## O que o Firecrawl pode fazer?
</div>

<CardGroup cols={3}>
  <Card title="busca" icon="magnifying-glass" href="#search">
    Faça uma busca na web e obtenha o conteúdo completo da página a partir dos resultados
  </Card>

  <Card title="scraping" icon="file-lines" href="#scrape">
    Extraia conteúdo de qualquer URL como markdown, HTML ou JSON estruturado
  </Card>

  <Card title="interagir" icon="hand-pointer" href="#interact">
    Continue trabalhando com qualquer página obtida por scraping: clique, preencha formulários e extraia conteúdo dinâmico
  </Card>
</CardGroup>

<div id="why-firecrawl">
  ### Por que Firecrawl?
</div>

* **Resultado pronto para LLM**: Markdown limpo, JSON estruturado, capturas de tela e muito mais.
* **Lida com o mais difícil**: Proxies, anti-bot, renderização de JavaScript e conteúdo dinâmico.
* **Confiável**: Projetado para produção, com alta disponibilidade e resultados consistentes.
* **Rápido**: Resultados em segundos, otimizado para alto throughput.
* **MCP Server**: Conecte o Firecrawl a qualquer ferramenta de IA via [Model Context Protocol](/pt-BR/mcp-server).

<div className="firecrawl-cta-box">
  <div style={{ display: "flex", alignItems: "flex-start", gap: "8px", marginBottom: "8px" }}>
    <Icon icon="sack-dollar" color="#ff4d00" size={22} />

    <div className="firecrawl-cta-title" style={{ margin: 0 }}>
      <span style={{ color: "#ff4d00" }}>Recompensa: 5.000 créditos</span>
      <span style={{ fontWeight: 400 }}> por feedback consistente sobre o Firecrawl</span>
    </div>
  </div>

  <p className="firecrawl-cta-description">
    Para se qualificar, participe de uma entrevista com informações relevantes (casos de uso concretos e bem elaborados etc.) com nosso Assistente de Feedback do Firecrawl. Leva apenas alguns minutos, pode ser interrompida a qualquer momento e funciona bem para humanos e agentes (basta colar o link no seu ambiente de agentes!). Novo no Firecrawl? Sua opinião também conta.
  </p>

  <a href={"https://www.firecrawl.dev/survey/dsag9?src=" + (props.src || "docs-introduction")} className="firecrawl-cta-btn-primary firecrawl-cta-btn-inline">
    Iniciar a entrevista
  </a>

  <p className="firecrawl-cta-description" style={{ fontSize: "12px", fontStyle: "italic", margin: "12px 0 0 0" }}>
    Inclua seu e-mail para se qualificar. As entrevistas são avaliadas quanto à qualidade ao fim de cada semana.
  </p>
</div>

***

<div id="search">
  ## Busca
</div>

Faça uma busca na web e obtenha o conteúdo completo da página a partir dos resultados em uma única chamada. Consulte a [documentação do recurso de busca](/pt-BR/features/search) para ver todas as opções.

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

  firecrawl = Firecrawl(
    # Nenhuma API key necessária para começar — adicione uma para limites de taxa maiores:
    # api_key="fc-YOUR-API-KEY",
  )

  results = firecrawl.search(
      query="firecrawl",
      limit=3,
  )
  print(results)
  ```

  ```js Node theme={null}
  import { Firecrawl } from 'firecrawl';

  const firecrawl = new Firecrawl({
    // Nenhuma API key necessária para começar — adicione uma para limites de taxa mais altos:
    // apiKey: "fc-YOUR-API-KEY",
  });

  const results = await firecrawl.search('firecrawl', {
    limit: 3,
    scrapeOptions: { formats: ['markdown'] }
  });
  console.log(results);
  ```

  ```bash cURL theme={null}
  # Nenhuma API key necessária para começar — adicione -H "Authorization: Bearer $FIRECRAWL_API_KEY" para limites de taxa maiores:
  curl -s -X POST "https://api.firecrawl.dev/v2/search" \
    -H "Content-Type: application/json" \
    -d '{
      "query": "firecrawl",
      "limit": 3
    }'
  ```

  ```bash CLI theme={null}
  # Buscar na web
  firecrawl search "firecrawl web scraping" --limit 5 --pretty
  ```
</CodeGroup>

<Accordion title="Resposta">
  Os SDKs retornarão diretamente o objeto de dados. O cURL retornará o payload completo.

  ```json JSON theme={null}
  {
    "success": true,
    "data": {
      "web": [
        {
          "url": "https://www.firecrawl.dev/",
          "title": "Firecrawl - The Web Data API for AI",
          "description": "The web crawling, scraping, and search API for AI. Built for scale. Firecrawl delivers the entire internet to AI agents and builders.",
          "position": 1
        },
        {
          "url": "https://github.com/firecrawl/firecrawl",
          "title": "mendableai/firecrawl: Turn entire websites into LLM-ready ... - GitHub",
          "description": "Firecrawl is an API service that takes a URL, crawls it, and converts it into clean markdown or structured data.",
          "position": 2
        },
        ...
      ],
      "images": [
        {
          "title": "Quickstart | Firecrawl",
          "imageUrl": "https://mintlify.s3.us-west-1.amazonaws.com/firecrawl/logo/logo.png",
          "imageWidth": 5814,
          "imageHeight": 1200,
          "url": "https://docs.firecrawl.dev/",
          "position": 1
        },
        ...
      ],
      "news": [
        {
          "title": "Y Combinator startup Firecrawl is ready to pay $1M to hire three AI agents as employees",
          "url": "https://techcrunch.com/2025/05/17/y-combinator-startup-firecrawl-is-ready-to-pay-1m-to-hire-three-ai-agents-as-employees/",
          "snippet": "It's now placed three new ads on YC's job board for “AI agents only” and has set aside a $1 million budget total to make it happen.",
          "date": "3 months ago",
          "position": 1
        },
        ...
      ]
    }
  }
  ```
</Accordion>

<div id="scrape">
  ## Scraping
</div>

Faça scraping de qualquer URL e obtenha seu conteúdo em markdown, HTML ou outros formatos. Veja a [documentação do recurso de scraping](/pt-BR/features/scrape) para ver todas as opções.

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

  firecrawl = Firecrawl(
    # Nenhuma API key necessária para começar — adicione uma para limites de taxa mais altos:
    # api_key="fc-YOUR-API-KEY",
  )

  # Raspar um site:
  doc = firecrawl.scrape("https://firecrawl.dev", formats=["markdown", "html"])
  print(doc)
  ```

  ```js Node theme={null}
  import { Firecrawl } from 'firecrawl';

  const firecrawl = new Firecrawl({
    // Nenhuma API key necessária para começar — adicione uma para limites de taxa mais altos:
    // apiKey: "fc-YOUR-API-KEY",
  });

  // Fazer a raspagem de um site:
  const doc = await firecrawl.scrape('https://firecrawl.dev', { formats: ['markdown', 'html'] });
  console.log(doc);
  ```

  ```bash cURL theme={null}
  # Nenhuma API key necessária para começar — adicione -H "Authorization: Bearer $FIRECRAWL_API_KEY" para limites de taxa mais altos:
  curl -s -X POST "https://api.firecrawl.dev/v2/scrape" \
    -H "Content-Type: application/json" \
    -d '{
      "url": "https://firecrawl.dev",
      "formats": ["markdown", "html"]
    }'
  ```

  ```bash CLI theme={null}
  # Scrape a URL and get markdown
  firecrawl https://firecrawl.dev

  # Com múltiplos formatos (retorna JSON)
  firecrawl https://firecrawl.dev --format markdown,html,links --pretty
  ```
</CodeGroup>

<Accordion title="Resposta">
  Os SDKs retornarão o objeto de dados diretamente. O cURL retornará o payload exatamente como mostrado abaixo.

  ```json theme={null}
  {
    "success": true,
    "data" : {
      "markdown": "A Launch Week I chegou! [Confira nosso lançamento do Dia 2 🚀](https://www.firecrawl.dev/blog/launch-week-i-day-2-doubled-rate-limits)[💥 Ganhe 2 meses grátis...",
      "html": "<!DOCTYPE html><html lang=\"en\" class=\"light\" style=\"color-scheme: light;\"><body class=\"__variable_36bd41 __variable_d7dc5d font-inter ...",
      "metadata": {
        "title": "Home - Firecrawl",
        "description": "O Firecrawl rastreia e converte qualquer site em markdown limpo.",
        "language": "en",
        "keywords": "Firecrawl,Markdown,Dados,Mendable,Langchain",
        "robots": "follow, index",
        "ogTitle": "Firecrawl",
        "ogDescription": "Transforme qualquer site em dados prontos para LLM.",
        "ogUrl": "https://www.firecrawl.dev/",
        "ogImage": "https://www.firecrawl.dev/og.png?123",
        "ogLocaleAlternate": [],
        "ogSiteName": "Firecrawl",
        "sourceURL": "https://firecrawl.dev",
        "statusCode": 200,
        "contentType": "text/html"
      }
    }
  }
  ```
</Accordion>

<div id="interact">
  ## Interagir
</div>

Faça o scraping de uma página e depois continue trabalhando com ela: clique em botões, preencha formulários, extraia conteúdo dinâmico ou navegue mais a fundo. Descreva o que você quer em inglês simples ou escreva código para ter controle total. Consulte a [documentação do recurso Interact](/pt-BR/features/interact) para ver todas as opções.

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

  app = Firecrawl(
    # Nenhuma API key necessária para começar — adicione uma para limites de taxa maiores:
    # api_key="fc-YOUR-API-KEY",
  )

  # 1. Fazer scraping da página inicial da Amazon
  result = app.scrape("https://www.amazon.com", formats=["markdown"])
  scrape_id = result.metadata.scrape_id

  # 2. Interagir — buscar um produto e obter seu preço
  app.interact(scrape_id, prompt="Search for iPhone 16 Pro Max")
  response = app.interact(scrape_id, prompt="Click on the first result and tell me the price")
  print(response.output)

  # 3. Encerrar a sessão
  app.stop_interaction(scrape_id)
  ```

  ```js Node theme={null}
  import { Firecrawl } from 'firecrawl';

  const app = new Firecrawl({
    // Nenhuma API key necessária para começar — adicione uma para limites de taxa mais altos:
    // apiKey: 'fc-YOUR-API-KEY',
  });

  // 1. Fazer scraping da página inicial da Amazon
  const result = await app.scrape('https://www.amazon.com', { formats: ['markdown'] });
  const scrapeId = result.metadata?.scrapeId;

  // 2. Interagir — buscar um produto e obter seu preço
  await app.interact(scrapeId, { prompt: 'Search for iPhone 16 Pro Max' });
  const response = await app.interact(scrapeId, { prompt: 'Click on the first result and tell me the price' });
  console.log(response.output);

  // 3. Encerrar a sessão
  await app.stopInteraction(scrapeId);
  ```

  ```bash cURL theme={null}
  # 1. Fazer scraping da página inicial da Amazon
  # Nenhuma API key necessária para começar — adicione -H "Authorization: Bearer $FIRECRAWL_API_KEY" para limites de taxa maiores:
  RESPONSE=$(curl -s -X POST "https://api.firecrawl.dev/v2/scrape" \
    -H "Content-Type: application/json" \
    -d '{"url": "https://www.amazon.com", "formats": ["markdown"]}')

  SCRAPE_ID=$(echo $RESPONSE | jq -r '.data.metadata.scrapeId')

  # 2. Interagir — buscar um produto e obter seu preço
  curl -s -X POST "https://api.firecrawl.dev/v2/scrape/$SCRAPE_ID/interact" \
    -H "Content-Type: application/json" \
    -d '{"prompt": "Search for iPhone 16 Pro Max"}'

  curl -s -X POST "https://api.firecrawl.dev/v2/scrape/$SCRAPE_ID/interact" \
    -H "Content-Type: application/json" \
    -d '{"prompt": "Click on the first result and tell me the price"}'

  # 3. Encerrar a sessão
  curl -s -X DELETE "https://api.firecrawl.dev/v2/scrape/$SCRAPE_ID/interact"
  ```

  ```bash CLI theme={null}
  # 1. Faça scraping da página inicial da Amazon (o ID de scraping é salvo automaticamente)
  firecrawl scrape https://www.amazon.com

  # 2. Interaja — busque um produto e obtenha seu preço
  firecrawl interact "Search for iPhone 16 Pro Max"
  firecrawl interact "Click on the first result and tell me the price"

  # 3. Encerre a sessão
  firecrawl interact stop
  ```
</CodeGroup>

<Accordion title="Resposta">
  ```json Response theme={null}
  {
    "success": true,
    "cdpUrl": "wss://browser.firecrawl.dev/...",
    "liveViewUrl": "https://liveview.firecrawl.dev/...",
    "interactiveLiveViewUrl": "https://liveview.firecrawl.dev/...",
    "output": "The iPhone 16 Pro Max (256GB) is priced at $1,199.00.",
    "exitCode": 0,
    "killed": false
  }
  ```
</Accordion>

***

<div id="more-capabilities">
  ## Mais recursos
</div>

<CardGroup cols={2}>
  <Card title="Interagir" icon="hand-pointer" href="/pt-BR/features/interact">
    Clique, preencha formulários e extraia conteúdo dinâmico
  </Card>

  <Card title="Webhooks" icon="webhook" href="/pt-BR/webhooks">
    Entrega assíncrona de eventos
  </Card>

  <Card title="Browser Sandbox" icon="browser" href="/pt-BR/features/browser">
    Sessões de navegador gerenciadas para fluxos de trabalho interativos
  </Card>

  <Card title="Parse" icon="file-magnifying-glass" href="/pt-BR/features/parse">
    Transforme PDFs, DOCX, XLSX, HTML e muito mais locais em Markdown ou JSON estruturado
  </Card>

  <Card title="Map" icon="map" href="/pt-BR/features/map">
    Descubra todas as URLs de um site
  </Card>

  <Card title="Crawl" icon="spider-web" href="/pt-BR/features/crawl">
    Colete conteúdo de sites inteiros de forma recursiva
  </Card>
</CardGroup>

***

<div id="resources">
  ## Recursos
</div>

<CardGroup cols={2}>
  <Card title="Referência da API" icon="code" href="/pt-BR/api-reference/v2-introduction">
    Documentação completa da API com exemplos interativos
  </Card>

  <Card title="SDKs" icon="boxes-stacked" href="/pt-BR/sdks/overview">
    SDKs para Python, Node.js, CLI e da comunidade
  </Card>

  <Card title="Open Source" icon="github" href="/pt-BR/contributing/open-source-or-cloud">
    Hospede o Firecrawl na sua própria infraestrutura ou contribua com o projeto
  </Card>

  <Card title="Integrações" icon="puzzle-piece" href="/pt-BR/developer-guides/llm-sdks-and-frameworks/openai">
    LangChain, LlamaIndex, OpenAI e mais
  </Card>
</CardGroup>
