Skip to content

Batch scrape progress, credits used and pages by job id.

Get the status of a batch scrape job

Job web.page.batch.status

Your AI asks

checks the price first
telipot run firecrawl.web.page.batch.status \
  --input-json '{"id":"123e4567-e89b-12d3-a456-426614174000"}' \
  --quote

Price

Free
Priced· before it runs

firecrawl.web.page.batch.status

FreeYour plan

Whose account it uses

1The person asking
not needed
2Your company’s Firecrawl plan
Selected identity for this example
3Our account
not used

What it sends

{
  "id": "123e4567-e89b-12d3-a456-426614174000"
}

Your Firecrawl login is added for you. Your AI never sees it.

What it costs

Free

no charge from the provider

Preview the price first. --quote runs nothing.

For developers · run it

Shell · runs the task on the named account

telipot run firecrawl.web.page.batch.status \
  --input-json '{"id":"123e4567-e89b-12d3-a456-426614174000"}'

id

string · required · path

The ID of the batch scrape job (a UUID)

skip

integer · at least 0 · query

Offset into the pages, as in the next URL of a truncated response; the docs describe it, the OpenAPI document does not list it

status

string

total

integer

Pages attempted

completed

integer

Pages scraped so far

creditsUsed

integer

Credits the batch has used so far

expiresAt

string

createdAt

string

completedAt

string

Present only once the batch has ended

duration

number

Seconds

next

string | null

URL of the next 10MB of pages

data

object[]

Full output schema · JSONNested fields and constraints

Output JSON Schema

{
  "type": "object",
  "required": [
    "status",
    "total",
    "completed",
    "creditsUsed"
  ],
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "scraping",
        "completed",
        "failed",
        "cancelled"
      ]
    },
    "total": {
      "type": "integer",
      "description": "Pages attempted"
    },
    "completed": {
      "type": "integer",
      "description": "Pages scraped so far"
    },
    "creditsUsed": {
      "type": "integer",
      "description": "Credits the batch has used so far"
    },
    "expiresAt": {
      "type": "string"
    },
    "createdAt": {
      "type": "string"
    },
    "completedAt": {
      "type": "string",
      "description": "Present only once the batch has ended"
    },
    "duration": {
      "type": "number",
      "description": "Seconds"
    },
    "next": {
      "type": [
        "string",
        "null"
      ],
      "description": "URL of the next 10MB of pages"
    },
    "data": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "markdown": {
            "type": "string"
          },
          "metadata": {
            "type": "object",
            "properties": {
              "title": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ]
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                ]
              },
              "sourceURL": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "statusCode": {
                "type": "integer"
              },
              "error": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          }
        }
      }
    }
  }
}

A real answer

No example captured yet: one is recorded when telipot catalog verify passes.