# Firecrawl website map

Map multiple URLs based on options. Needs url.

Map multiple URLs based on options

- Tool ID: `firecrawl/map`
- Name in the catalog: Map multiple URLs based on options
- Provider: [Firecrawl](/providers/firecrawl.md)
- Capability: [Website crawl & map](/tools/web-scraping/crawl.md)
- Price: from $0.0025 per call
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

The provider’s price, with no markup. Billed for measured usage.


```json
{
  "model": "per_call",
  "amountUsd": 0.0025,
  "multipliers": [
    {
      "when": {
        "field": "threatProtection.mode",
        "equals": "normal"
      },
      "addUsd": 0.005
    }
  ]
}
```

Pricing source: [https://docs.firecrawl.dev/billing](https://docs.firecrawl.dev/billing). Standard monthly allowance $100/100,000 = $0.001/credit; marginal Standard overage $5/2,000 = $0.0025/credit. Gateway uses marginal cost; no automatic reload changed..

Price verification date: 2026-10-05.

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "The base URL to start crawling from"
    },
    "search": {
      "type": "string",
      "description": "Specify a search query to order the results by relevance. Example: 'blog' will return URLs that contain the word 'blog' in the URL ordered by relevance."
    },
    "sitemap": {
      "type": "string",
      "enum": [
        "skip",
        "include",
        "only"
      ],
      "description": "Sitemap mode when mapping. If you set it to `skip`, the sitemap won't be used to find URLs. If you set it to `only`, only URLs that are in the sitemap will be returned. By default (`include`), the sitemap and other methods will be used together to find URLs.",
      "default": "include"
    },
    "includeSubdomains": {
      "type": "boolean",
      "description": "Include subdomains of the website",
      "default": true
    },
    "ignoreQueryParameters": {
      "type": "boolean",
      "description": "Do not return URLs with query parameters",
      "default": true
    },
    "ignoreCache": {
      "type": "boolean",
      "description": "Bypass the sitemap cache to retrieve fresh URLs. Sitemap data is cached for up to 7 days; use this parameter when your sitemap has been recently updated.",
      "default": false
    },
    "limit": {
      "type": "integer",
      "description": "Maximum number of links to return",
      "default": 5000,
      "maximum": 100000
    },
    "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"
          }
        }
      }
    },
    "auditMetadata": {
      "type": "object",
      "description": "User attribution included with SIEM logging events when SIEM Logging is enabled for the organization.",
      "additionalProperties": false,
      "required": [
        "username"
      ],
      "properties": {
        "username": {
          "type": "string",
          "maxLength": 1024,
          "description": "The username associated with the request."
        }
      }
    },
    "threatProtection": {
      "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": "URL scanning mode for this request. `normal` checks URLs against Google Web Risk (+2 credits per URL scanned)."
        },
        "riskScoreThreshold": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100,
          "description": "Normalized risk score (0–100) at or above which a classifier verdict blocks the URL. Lower is stricter."
        },
        "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."
        }
      }
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}
```

## Published example

No example input is published for this tool. Ask for the inputs required by its schema.

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[Provider documentation](https://docs.firecrawl.dev/api-reference/v2-introduction)

[REST inspection](https://api.agentik.cc/v1/tools/firecrawl/map) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/firecrawl/map) · [Agent index](/llms.txt)
