# Mapa (/es/features/map)

<!-- agent-signals: reading_time_min: 6 · est_tokens: 2781 · updated: 2026-07-30 -->
Related: [Búsqueda](/es/features/search.md), [Highlights de búsqueda](/es/features/search-highlights.md), [Índice de investigación](/es/features/research.md), [scraping](/es/features/scrape.md), [Scraping más rápido](/es/features/fast-scraping.md), [Raspado en lote](/es/features/batch-scrape.md)

<div id="introducing-map">
  ## Presentamos /map [#presentamos-map]
</div>

La forma más fácil de pasar de una sola URL a un mapa de todo el sitio web. Esto es especialmente útil para:

* Cuando necesitas pedir al usuario final que elija qué enlaces extraer
* Necesitas conocer rápidamente los enlaces de un sitio web
* Necesitas extraer páginas de un sitio web relacionadas con un tema específico (usa el parámetro `search`)
* Solo necesitas extraer páginas específicas de un sitio web

<Card title="Pruébalo en el Playground" 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;M18.8906 12.846C18.5371 14.189 16.8667 15.138 13.5257 17.0361C10.296 18.8709 8.6812 19.7884 7.37983 19.4196C6.8418 19.2671 6.35159 18.9776 5.95624 18.5787C5 17.6139 5 15.7426 5 12C5 8.2574 5 6.3861 5.95624 5.42132C6.35159 5.02245 6.8418 4.73288 7.37983 4.58042C8.6812 4.21165 10.296 5.12907 13.5257 6.96393C16.8667 8.86197 18.5371 9.811 18.8906 11.154C19.0365 11.7084 19.0365 12.2916 18.8906 12.846Z&#x22; stroke=&#x22;currentColor&#x22; stroke-linejoin=&#x22;round&#x22; stroke-width=&#x22;1.5&#x22;/></svg>" href="https://www.firecrawl.dev/playground?endpoint=map">
  Prueba el mapeo en el playground interactivo — sin necesidad de escribir código.
</Card>

<div id="mapping">
  ## Mapeo [#mapeo]
</div>

<div id="map-endpoint">
  ### punto de conexión /map [#punto-de-conexión-map]
</div>

Se usa para mapear una URL y obtener las URL del sitio web. Devuelve la mayoría de los enlaces presentes en el sitio.

Las URL se descubren principalmente desde el sitemap del sitio web, complementadas con resultados de motores de búsqueda (SERP) y páginas rastreadas previamente para mejorar la cobertura. Puedes controlar el comportamiento del sitemap con el parámetro `sitemap`.

<div id="installation">
  ### Instalación [#instalación]
</div>

<CodeGroup>
  <CodeBlockTabs defaultValue="Python" groupId="cli+node+python">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="Python">
        Python
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Node">
        Node
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="CLI">
        CLI
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="Python">
      ```python  
      # pip install firecrawl-py

      from firecrawl import Firecrawl

      firecrawl = Firecrawl(
        # No se necesita API key para comenzar — agrega una para límites de tasa más altos:
        # api_key="fc-YOUR-API-KEY",
      )
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Node">
      ```js  
      // npm install firecrawl

      import { Firecrawl } from 'firecrawl';

      const firecrawl = new Firecrawl({
        // No se necesita API key para comenzar — agrega una para obtener límites de tasa más altos:
        // apiKey: "fc-YOUR-API-KEY",
      });
      ```
    </CodeBlockTab>

    <CodeBlockTab value="CLI">
      ```bash  
      # Instalar globalmente con npm
      npm install -g firecrawl

      # Autenticar (configuración de una sola vez)
      firecrawl login
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

<div id="usage">
  ### Uso [#uso]
</div>

<CodeGroup>
  <CodeBlockTabs defaultValue="Python" groupId="cli+curl+node+python">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="Python">
        Python
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Node">
        Node
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="cURL">
        cURL
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="CLI">
        CLI
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="Python">
      ```python  
      from firecrawl import Firecrawl

      firecrawl = Firecrawl(api_key="fc-TU-API-KEY")
      res = firecrawl.map(url="https://firecrawl.dev", limit=50, sitemap="include")
      print(res)
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Node">
      ```js  
      import { Firecrawl } from 'firecrawl';

      const firecrawl = new Firecrawl({ apiKey: "fc-TU-API-KEY" });

      const res = await firecrawl.map('https://firecrawl.dev', { limit: 50, sitemap: 'include' });
      console.log(res);
      ```
    </CodeBlockTab>

    <CodeBlockTab value="cURL">
      ```bash  
      curl -X POST https://api.firecrawl.dev/v2/map \
          -H 'Content-Type: application/json' \
          -H 'Authorization: Bearer YOUR_API_KEY' \
          -d '{
            "url": "https://firecrawl.dev"
          }'
      ```
    </CodeBlockTab>

    <CodeBlockTab value="CLI">
      ```bash  
      # Map a website to discover URLs
      firecrawl map https://firecrawl.dev

      # Salida en JSON con límite
      firecrawl map https://firecrawl.dev --json --limit 100 --pretty
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

<Info>
  Cada solicitud de mapeo consume 1 crédito por llamada, sin importar la cantidad de URL devueltas. Por ejemplo, establecer `limit` en 100.000 sigue usando 1 crédito.
</Info>

<div id="response">
  ### Respuesta [#respuesta]
</div>

Los SDK devolverán el objeto de datos directamente. cURL devolverá el payload exactamente como se muestra a continuación.

```json
{
  "success": true,
  "links": [
    {
      "url": "https://docs.firecrawl.dev/features/scrape",
      "title": "Scrape | Firecrawl",
      "description": "Convierte cualquier URL en datos limpios"
    },
    {
      "url": "https://www.firecrawl.dev/blog/5_easy_ways_to_access_glm_4_5",
      "title": "5 maneras sencillas de acceder a GLM-4.5",
      "description": "Descubre cómo acceder a los modelos GLM-4.5 localmente, mediante aplicaciones de chat, a través de la API oficial y usando la API de los marketplaces de LLM para una integración sin fricciones..."
    },
    {
      "url": "https://www.firecrawl.dev/playground",
      "title": "Playground - Firecrawl",
      "description": "Previsualiza la respuesta de la API y obtén fragmentos de código para la API"
    },
    {
      "url": "https://www.firecrawl.dev/?testId=2a7e0542-077b-4eff-bec7-0130395570d6",
      "title": "Firecrawl - La API de datos web para IA",
      "description": "La API de rastreo, scraping y búsqueda web para IA. Diseñada para escalar. Firecrawl pone todo internet al alcance de agentes y desarrolladores de IA. Limpio, estructurado y ..."
    },
    {
      "url": "https://www.firecrawl.dev/?testId=af391f07-ca0e-40d3-8ff2-b1ecf2e3fcde",
      "title": "Firecrawl - La API de datos web para IA",
      "description": "La API de rastreo, scraping y búsqueda web para IA. Diseñada para escalar. Firecrawl pone todo internet al alcance de agentes y desarrolladores de IA. Limpio, estructurado y ..."
    },
    ...
  ]
}
```

<Warning>
  El título y la descripción no siempre están presentes, ya que dependen del sitio web.
</Warning>

<div id="map-with-search">
  #### Map con búsqueda [#map-con-búsqueda]
</div>

Map con el parámetro `search` te permite buscar URLs específicas dentro de un sitio web.

```bash title="cURL"
curl -X POST https://api.firecrawl.dev/v2/map \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer TU_API_KEY' \
  -d '{
    "url": "https://firecrawl.dev",
    "search": "docs"
  }'
```

La respuesta será una lista ordenada, de la más relevante a la menos relevante.

```json
{
  "status": "success",
  "links": [
    {
      "url": "https://docs.firecrawl.dev",
      "title": "Firecrawl Docs",
      "description": "Documentación de Firecrawl",
    },
    {
      "url": "https://docs.firecrawl.dev/sdks/python",
      "title": "SDK de Firecrawl para Python",
      "description": "Documentación del SDK de Firecrawl para Python"
    },
    ...
  ]
}
```

<div id="location-and-language">
  ## Ubicación e idioma [#ubicación-e-idioma]
</div>

Especifica el país y los idiomas preferidos para obtener contenido relevante según tu ubicación y preferencias de idioma, de forma similar al punto de conexión /scrape.

<div id="how-it-works">
  ### Cómo funciona [#cómo-funciona]
</div>

Cuando especificas la configuración de ubicación, Firecrawl usará, si está disponible, un proxy adecuado y emulará la configuración de idioma y zona horaria correspondientes. De forma predeterminada, la ubicación se establece en "US" si no se especifica.

<div id="usage">
  ### Uso [#uso-1]
</div>

Para usar la configuración de ubicación e idioma, incluye el objeto `location` en el cuerpo de la solicitud con las siguientes propiedades:

* `country`: código de país ISO 3166-1 alfa-2 (p. ej., 'US', 'AU', 'DE', 'JP'). Valor predeterminado: 'US'.
* `languages`: un arreglo de idiomas y configuraciones regionales preferidos para la solicitud, en orden de prioridad. Por defecto, el idioma de la ubicación especificada.

<CodeGroup>
  <CodeBlockTabs defaultValue="Python" groupId="curl+node+python">
    <CodeBlockTabsList>
      <CodeBlockTabsTrigger value="Python">
        Python
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="Node">
        Node
      </CodeBlockTabsTrigger>

      <CodeBlockTabsTrigger value="cURL">
        cURL
      </CodeBlockTabsTrigger>
    </CodeBlockTabsList>

    <CodeBlockTab value="Python">
      ```python  
      from firecrawl import Firecrawl

      firecrawl = Firecrawl(api_key="fc-TU-API-KEY")

      res = firecrawl.map('https://example.com',
          location={
              'country': 'US',
              'languages': ['en']
          }
      )

      print(res)
      ```
    </CodeBlockTab>

    <CodeBlockTab value="Node">
      ```js  
      import { Firecrawl } from 'firecrawl';

      const firecrawl = new Firecrawl({ apiKey: "fc-YOUR-API-KEY" });

      const res = await firecrawl.map('https://example.com', {
        location: { country: 'US', languages: ['en'] },
      });

      console.log(res.metadata);
      ```
    </CodeBlockTab>

    <CodeBlockTab value="cURL">
      ```bash  
      curl -X POST "https://api.firecrawl.dev/v2/map" \
        -H "Autorización: Bearer $FIRECRAWL_API_KEY" \
        -H "Tipo-Contenido: application/json" \
        -d '{
          "url": "https://example.com",
          "location": { "country": "US", "languages": ["en"] }
        }'
      ```
    </CodeBlockTab>
  </CodeBlockTabs>
</CodeGroup>

Para más detalles sobre las ubicaciones compatibles, consulta la [documentación de proxies](/es/features/proxies).

<div id="considerations">
  ## Consideraciones [#consideraciones]
</div>

Este punto de conexión prioriza la velocidad, por lo que es posible que no capture todos los enlaces del sitio web. Se basa principalmente en el sitemap del sitio web, complementado con datos de rastreo en caché y resultados de motores de búsqueda. Para obtener una lista de URL más completa y actualizada, considera usar el punto de conexión [/crawl](/es/features/crawl) en su lugar.

> ¿Eres un agente de IA que necesita una clave de API de Firecrawl? Consulta [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) para obtener instrucciones de incorporación automatizada.
