# Marketplace da Vercel (/pt-BR/quickstarts/vercel-marketplace)

<!-- agent-signals: reading_time_min: 6 · est_tokens: 2774 · updated: 2026-07-30 -->
Related: [Node.js](/pt-BR/quickstarts/nodejs.md), [Next.js](/pt-BR/quickstarts/nextjs.md), [Express](/pt-BR/quickstarts/express.md), [NestJS](/pt-BR/quickstarts/nestjs.md), [Fastify](/pt-BR/quickstarts/fastify.md), [Hono](/pt-BR/quickstarts/hono.md)

O Firecrawl está disponível como uma [integração nativa no Marketplace da Vercel](https://vercel.com/marketplace/firecrawl). Ao instalá-lo, o Firecrawl é provisionado para o seu projeto na Vercel, e a variável `FIRECRAWL_API_KEY` é adicionada automaticamente às variáveis de ambiente do projeto.

Use este guia quando quiser que a cobrança do Firecrawl, a configuração da chave de API e a configuração do projeto sejam feitas pela Vercel.

<div id="what-the-integration-does">
  ## O que a integração faz [#o-que-a-integração-faz]
</div>

Quando você instala o Firecrawl pelo Marketplace da Vercel, a Vercel conecta o Firecrawl ao projeto selecionado e disponibiliza a chave de API como variável de ambiente.

* Cria uma conta do Firecrawl e uma chave de API pelo fluxo do Marketplace
* Adiciona `FIRECRAWL_API_KEY` às variáveis de ambiente do seu projeto na Vercel
* Mantém a cobrança do Firecrawl na sua fatura da Vercel
* Permite abrir o Firecrawl na Vercel depois que a integração é conectada

<Note>
  Se você já tiver uma chave de API do Firecrawl e quiser configurar a Vercel manualmente, use o [guia de início rápido do Vercel Functions](/pt-BR/quickstarts/vercel-functions).
</Note>

<div id="install-from-vercel">
  ## Instalar pela Vercel [#instalar-pela-vercel]
</div>

1. Abra a [página do Firecrawl no Marketplace da Vercel](https://vercel.com/marketplace/firecrawl).
2. Clique em **Connect Account**.
3. Escolha o plano do Firecrawl que deseja usar.
4. Selecione o projeto da Vercel que deve receber a variável de ambiente.
5. Conclua o processo de instalação.

Após a instalação, faça um novo deploy do seu projeto para que as Vercel Functions e o código de servidor do framework possam ler a nova variável de ambiente.

<div id="install-the-sdk">
  ## Instale o SDK [#instale-o-sdk]
</div>

No seu projeto da Vercel, instale o SDK de Node da Firecrawl:

```bash
npm install firecrawl
```

Você não precisa colar uma chave de API no seu código. Leia `process.env.FIRECRAWL_API_KEY` do lado do servidor.

<div id="scrape-a-page">
  ## Fazer scraping de uma página [#fazer-scraping-de-uma-página]
</div>

Crie um route handler em `app/api/scrape/route.ts`:

```typescript
import { NextResponse } from "next/server";
import { Firecrawl } from "firecrawl";

const firecrawl = new Firecrawl({
  apiKey: process.env.FIRECRAWL_API_KEY,
});

export async function POST(request: Request) {
  const { url } = await request.json();
  const result = await firecrawl.scrape(url, {
    formats: ["markdown"],
  });

  return NextResponse.json(result);
}
```

Teste a rota após o deploy:

```bash
curl -X POST https://your-project.vercel.app/api/scrape \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.firecrawl.dev"}'
```

<div id="search-the-web">
  ## Faça uma busca na web [#faça-uma-busca-na-web]
</div>

Use `search` quando seu app precisar de resultados atualizados da web e do conteúdo das páginas:

```typescript
import { NextResponse } from "next/server";
import { Firecrawl } from "firecrawl";

const firecrawl = new Firecrawl({
  apiKey: process.env.FIRECRAWL_API_KEY,
});

export async function POST(request: Request) {
  const { query } = await request.json();
  const results = await firecrawl.search(query, {
    limit: 5,
    scrapeOptions: {
      formats: ["markdown"],
    },
  });

  return NextResponse.json(results);
}
```

<div id="interact-with-dynamic-pages">
  ## Interaja com páginas dinâmicas [#interaja-com-páginas-dinâmicas]
</div>

Use `interact` quando seu app precisar clicar, rolar a página ou preencher formulários antes de extrair conteúdo.

```typescript
import { NextResponse } from "next/server";
import { Firecrawl } from "firecrawl";

const firecrawl = new Firecrawl({
  apiKey: process.env.FIRECRAWL_API_KEY,
});

export async function POST() {
  const result = await firecrawl.scrape("https://news.ycombinator.com", {
    formats: ["markdown"],
  });
  const scrapeId = result.metadata?.scrapeId;

  if (!scrapeId) {
    return NextResponse.json(
      { error: "No interactive scrape session was created" },
      { status: 500 }
    );
  }

  const response = await firecrawl.interact(scrapeId, {
    prompt: "Open the first story and summarize the page.",
  });

  await firecrawl.stopInteraction(scrapeId);

  return NextResponse.json({ output: response.output });
}
```

<Note>
  Interações mais longas podem exceder os tempos limite curtos em ambientes serverless. Para fluxos de trabalho de produção que possam levar mais tempo, execute a tarefa em um job em segundo plano ou use as APIs assíncronas do Firecrawl com webhooks.
</Note>

<div id="use-firecrawl-with-the-vercel-ai-sdk">
  ## Use o Firecrawl com o Vercel AI SDK [#use-o-firecrawl-com-o-vercel-ai-sdk]
</div>

Se você estiver criando um agente com o [Vercel AI SDK](/pt-BR/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk), instale as ferramentas do Firecrawl AI SDK:

```bash
npm install firecrawl-aisdk ai
```

Em seguida, passe as ferramentas do Firecrawl para o seu modelo. A `FIRECRAWL_API_KEY` instalada pelo Marketplace é obtida do ambiente.

<Note>
  O exemplo abaixo usa o formato de string de modelo do Vercel AI Gateway. Configure separadamente o provedor de modelo do AI SDK ou as credenciais do AI Gateway.
</Note>

```typescript
import { generateText, stepCountIs } from "ai";
import { FirecrawlTools } from "firecrawl-aisdk";

const { text } = await generateText({
  model: "anthropic/claude-sonnet-4-5",
  tools: FirecrawlTools(),
  stopWhen: stepCountIs(20),
  prompt: "Search for recent Vercel AI SDK examples, scrape the best sources, and summarize them.",
});

console.log(text);
```

<div id="next-steps">
  ## Próximos passos [#próximos-passos]
</div>

<CardGroup cols="2">
  <Card title="Guia de início rápido do Vercel Functions" icon="<svg xmlns=&#x22;http://www.w3.org/2000/svg&#x22; viewBox=&#x22;0 0 24 24&#x22; fill=&#x22;none&#x22;><path d=&#x22;M21 13.9563V10.0437C21 8.33384 21 7.47888 20.5856 6.77939C20.1712 6.0799 19.4188 5.6647 17.9139 4.83429L14.9139 3.1789C13.4895 2.39297 12.7774 2 12 2C11.2226 2 10.5105 2.39297 9.08614 3.1789L6.08614 4.83429C4.58123 5.6647 3.82877 6.0799 3.41439 6.77939C3 7.47888 3 8.33384 3 10.0437V13.9563C3 15.6662 3 16.5211 3.41439 17.2206C3.82877 17.9201 4.58123 18.3353 6.08614 19.1657L9.08614 20.8211C10.5105 21.607 11.2226 22 12 22C12.7774 22 13.4895 21.607 14.9139 20.8211L17.9139 19.1657C19.4188 18.3353 20.1712 17.9201 20.5856 17.2206C21 16.5211 21 15.6662 21 13.9563Z&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/><path d=&#x22;M12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16Z&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/></svg>" href="/pt-BR/quickstarts/vercel-functions">
    Use o Firecrawl no Vercel Functions com configuração manual de ambiente
  </Card>

  <Card title="Guia do Vercel AI SDK" icon="<svg xmlns=&#x22;http://www.w3.org/2000/svg&#x22; viewBox=&#x22;0 0 24 24&#x22; fill=&#x22;none&#x22;><path d=&#x22;M12.828 6.00096C12.9388 5.68791 12.999 5.35099 12.999 5C12.999 3.34315 11.6559 2 9.99904 2C8.34219 2 6.99904 3.34315 6.99904 5C6.99904 5.35099 7.05932 5.68791 7.17008 6.00096C4.88532 6.0093 3.66601 6.09039 2.87772 6.87868C2.08951 7.66689 2.00836 8.88603 2 11.1704C2.31251 11.06 2.64876 11 2.99904 11C4.6559 11 5.99904 12.3431 5.99904 14C5.99904 15.6569 4.6559 17 2.99904 17C2.64876 17 2.31251 16.94 2 16.8296C2.00836 19.114 2.08951 20.3331 2.87772 21.1213C3.66593 21.9095 4.88508 21.9907 7.16941 21.999C7.05908 21.6865 6.99904 21.3503 6.99904 21C6.99904 19.3431 8.34219 18 9.99904 18C11.6559 18 12.999 19.3431 12.999 21C12.999 21.3503 12.939 21.6865 12.8287 21.999C15.113 21.9907 16.3322 21.9095 17.1204 21.1213C17.9086 20.333 17.9897 19.1137 17.9981 16.829C18.3111 16.9397 18.648 17 18.999 17C20.6559 17 21.999 15.6569 21.999 14C21.999 12.3431 20.6559 11 18.999 11C18.648 11 18.3111 11.0603 17.9981 11.171C17.9897 8.88627 17.9086 7.66697 17.1204 6.87868C16.3321 6.09039 15.1128 6.0093 12.828 6.00096Z&#x22; stroke=&#x22;currentColor&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/></svg>" href="/pt-BR/developer-guides/llm-sdks-and-frameworks/vercel-ai-sdk">
    Adicione ferramentas do Firecrawl aos agentes do Vercel AI SDK
  </Card>

  <Card title="Documentação de scraping" icon="<svg xmlns=&#x22;http://www.w3.org/2000/svg&#x22; viewBox=&#x22;0 0 24 24&#x22; fill=&#x22;none&#x22;><path d=&#x22;M8 7L16 7&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/><path d=&#x22;M8 11L12 11&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/><path d=&#x22;M13 21.5V21C13 18.1716 13 16.7574 13.8787 15.8787C14.7574 15 16.1716 15 19 15H19.5M20 13.3431V10C20 6.22876 20 4.34315 18.8284 3.17157C17.6569 2 15.7712 2 12 2C8.22877 2 6.34315 2 5.17157 3.17157C4 4.34314 4 6.22876 4 10L4 14.5442C4 17.7892 4 19.4117 4.88607 20.5107C5.06508 20.7327 5.26731 20.9349 5.48933 21.1139C6.58831 22 8.21082 22 11.4558 22C12.1614 22 12.5141 22 12.8372 21.886C12.9044 21.8623 12.9702 21.835 13.0345 21.8043C13.3436 21.6564 13.593 21.407 14.0919 20.9081L18.8284 16.1716C19.4065 15.5935 19.6955 15.3045 19.8478 14.9369C20 14.5694 20 14.1606 20 13.3431Z&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/></svg>" href="/pt-BR/features/scrape">
    Converta páginas da web em Markdown, JSON, capturas de tela e muito mais
  </Card>

  <Card title="Documentação de busca" icon="<svg xmlns=&#x22;http://www.w3.org/2000/svg&#x22; viewBox=&#x22;0 0 24 24&#x22; fill=&#x22;none&#x22;><path d=&#x22;M8 7L16 7&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/><path d=&#x22;M8 11L12 11&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/><path d=&#x22;M13 21.5V21C13 18.1716 13 16.7574 13.8787 15.8787C14.7574 15 16.1716 15 19 15H19.5M20 13.3431V10C20 6.22876 20 4.34315 18.8284 3.17157C17.6569 2 15.7712 2 12 2C8.22877 2 6.34315 2 5.17157 3.17157C4 4.34314 4 6.22876 4 10L4 14.5442C4 17.7892 4 19.4117 4.88607 20.5107C5.06508 20.7327 5.26731 20.9349 5.48933 21.1139C6.58831 22 8.21082 22 11.4558 22C12.1614 22 12.5141 22 12.8372 21.886C12.9044 21.8623 12.9702 21.835 13.0345 21.8043C13.3436 21.6564 13.593 21.407 14.0919 20.9081L18.8284 16.1716C19.4065 15.5935 19.6955 15.3045 19.8478 14.9369C20 14.5694 20 14.1606 20 13.3431Z&#x22; stroke=&#x22;currentColor&#x22; stroke-linecap=&#x22;round&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/></svg>" href="/pt-BR/features/search">
    Faça uma busca na web e obtenha o conteúdo das páginas a partir dos resultados
  </Card>
</CardGroup>
