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

# Firecrawl: Search

> Search the web and scrape the result pages' content in one call. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Search the web and scrape the result pages' content in one call.

> [!NOTE]
>
> Tool ID: `firecrawl_search`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'firecrawl_search',
  {
    "query": "software companies hiring engineers"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute firecrawl_search --input '{
  "query": "software companies hiring engineers"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "web": [
      {
        "url": "https://example.com"
      }
    ],
    "images": [
      {}
    ],
    "news": [
      {}
    ]
  }
}
```

Use `deepline describe firecrawl_search --json` for the latest machine-readable contract.

## Input reference

Search the web and optionally scrape result pages.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.query` | `string` | Yes | — | Search query (max 500 chars) |
| `payload.limit` | `integer` | No | — | Max results (default 5, max 100) |
| `payload.country` | `string` | No | — | Country code (e.g. "us") |
| `payload.tbs` | `string` | No | — | Time-based search filter (e.g. "qdr:d" for past day) |
| `payload.location` | `string` | No | — | Geographic location string |
| `payload.sources` | `array` | No | — | Search source types |
| `payload.categories` | `array` | No | — | Search category filters |
| `payload.timeout` | `integer` | No | — | Request timeout in ms (default 60000) |
| `payload.ignoreInvalidURLs` | `boolean` | No | — | Skip invalid URLs instead of failing (default false) |
| `payload.scrapeOptions` | `object` | No | — | Options for scraping search results |

> [!NOTE]
>
> This input schema is too large for an inline display. Read the complete live contract with `deepline describe firecrawl_search --json`.

## Output reference

Web search results with optional scraped content.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.web` | `array` | No | — | — |
| `result.data.web[].url` | `string` | Yes | — | — |
| `result.data.web[].title` | `string` | No | — | — |
| `result.data.web[].description` | `string` | No | — | — |
| `result.data.web[].markdown` | `string` | No | — | — |
| `result.data.images` | `array` | No | — | — |
| `result.data.news` | `array` | No | — | — |
| `result.meta` | `record` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Web search results with optional scraped content.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Provider response payload.",
        "properties": {
          "web": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "markdown": {
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "additionalProperties": false
            }
          },
          "images": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          },
          "news": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": {}
            }
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": {}
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `per_result` (per result).
* Estimated Deepline credits: `0.03` per pricing unit.

## Related documentation

* [Firecrawl provider guide](https://deepline.com/docs/providers/firecrawl/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.