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

# Map

> Note: A new [v2 version of this API](/api-reference/endpoint/map) is now available with improved features and performance.


## OpenAPI

````yaml api-reference/v1-openapi.json POST /map
openapi: 3.0.0
info:
  title: Firecrawl API
  version: v1
  description: >-
    API for interacting with Firecrawl services to perform web scraping and
    crawling tasks.
  contact:
    name: Firecrawl Support
    url: https://firecrawl.dev/support
    email: support@firecrawl.dev
servers:
  - url: https://api.firecrawl.dev/v1
security:
  - bearerAuth: []
paths:
  /map:
    post:
      tags:
        - Mapping
      summary: Map multiple URLs based on options
      operationId: mapUrls
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  format: uri
                  description: The base URL to start crawling from
                search:
                  type: string
                  description: >-
                    Search query to use for mapping. During the Alpha phase, the
                    'smart' part of the search functionality is limited to 500
                    search results. However, if map finds more results, there is
                    no limit applied.
                ignoreSitemap:
                  type: boolean
                  description: Ignore the website sitemap when crawling.
                  default: true
                sitemapOnly:
                  type: boolean
                  description: Only return links found in the website sitemap
                  default: false
                includeSubdomains:
                  type: boolean
                  description: Include subdomains of the website
                  default: true
                limit:
                  type: integer
                  description: Maximum number of links to return
                  default: 5000
                  maximum: 30000
                timeout:
                  type: integer
                  description: Timeout in milliseconds. There is no timeout by default.
                location:
                  type: object
                  description: >-
                    Location settings for the request. When specified, this will
                    use an appropriate proxy if available and emulate the
                    corresponding language and timezone settings. Defaults to
                    'US' if not specified.
                  properties:
                    country:
                      type: string
                      description: >-
                        ISO 3166-1 alpha-2 country code (e.g., 'US', 'AU', 'DE',
                        'JP')
                      pattern: ^[A-Z]{2}$
                      default: US
                    languages:
                      type: array
                      description: >-
                        Preferred languages and locales for the request in order
                        of priority. Defaults to the language of the specified
                        location. See
                        https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
                      items:
                        type: string
                        example: en-US
                threatProtection:
                  $ref: '#/components/schemas/ThreatProtectionOverride'
              required:
                - url
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MapResponse'
        '402':
          description: Payment required
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Payment required to access this resource.
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: >-
                      Request rate limit exceeded. Please wait and try again
                      later.
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: An unexpected error occurred on the server.
      security:
        - bearerAuth: []
components:
  schemas:
    ThreatProtectionOverride:
      type: object
      title: Threat Protection Override
      description: >-
        Per-request [Threat
        Protection](https://docs.firecrawl.dev/features/threat-protection)
        override. Fields you provide replace the corresponding fields of your
        organization's policy for this request only; omitted fields keep their
        organization-level values. Requires Threat Protection to be enabled for
        your team (enterprise feature) — otherwise the request is rejected with
        a 403. If your organization has disabled request overrides, any request
        that includes this object is rejected with a 403. If Threat Protection
        is enforced for your team, `mode` may not be set to `off`.
      properties:
        mode:
          type: string
          enum:
            - 'off'
            - normal
          description: >-
            Domain scanning mode for this request. `normal` checks domains
            against Google Web Risk (+2 credits per domain scanned).
        riskScoreThreshold:
          type: integer
          minimum: 0
          maximum: 100
          description: >-
            Normalized risk score (0–100) at or above which a classifier verdict
            blocks the domain. Lower is stricter.
          example: 75
        blacklist:
          type: array
          maxItems: 1000
          items:
            type: string
          description: >-
            Domains to always block, as plain domains (`example.com`) or
            wildcard globs (`*.example.com`). No protocol, path, or port.
        whitelist:
          type: array
          maxItems: 1000
          items:
            type: string
          description: >-
            Domains to always allow, as plain domains or wildcard globs. Wins
            over every other rule.
        blockedTlds:
          type: array
          maxItems: 1000
          items:
            type: string
          description: >-
            Top-level domains to block outright, lowercase without the leading
            dot (e.g. `zip`).
        failurePolicy:
          type: string
          enum:
            - open
            - closed
          description: >-
            What to do when the classifier can't be reached: `closed` blocks the
            request, `open` allows it.
    MapResponse:
      type: object
      properties:
        success:
          type: boolean
        links:
          type: array
          items:
            type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````