Appearance
Get Crawl Status
Are you an AI agent that needs a Firecrawl API key? See firecrawl.dev/agent-onboarding/SKILL.md for automated onboarding instructions.
OpenAPI
yaml
openapi: 3.0.0
info:
title: Firecrawl API
version: v2
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/v2
security:
- bearerAuth: []
paths:
/crawl/{id}:
parameters:
- name: id
in: path
description: The ID of the crawl job
required: true
schema:
type: string
format: uuid
get:
tags:
- Crawling
summary: Get the status of a crawl job
operationId: getCrawlStatus
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/CrawlStatusResponseObj'
'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:
CrawlStatusResponseObj:
type: object
properties:
status:
type: string
description: >-
The current status of the crawl. Can be `scraping`, `completed`, or
`failed`.
total:
type: integer
description: The total number of pages that were attempted to be crawled.
completed:
type: integer
description: The number of pages that have been successfully crawled.
creditsUsed:
type: integer
description: The number of credits used for the crawl.
expiresAt:
type: string
format: date-time
description: The date and time when the crawl will expire.
next:
type: string
nullable: true
description: >-
The URL to retrieve the next 10MB of data. Returned if the crawl is
not completed or if the response is larger than 10MB.
data:
type: array
description: The data of the crawl.
items:
type: object
properties:
markdown:
type: string
html:
type: string
nullable: true
description: HTML version of the content on page if `includeHtml` is true
rawHtml:
type: string
nullable: true
description: Raw HTML content of the page if `includeRawHtml` is true
links:
type: array
items:
type: string
description: List of links on the page if `includeLinks` is true
screenshot:
type: string
nullable: true
description: Screenshot of the page if `includeScreenshot` is true
metadata:
type: object
properties:
title:
oneOf:
- type: string
- type: array
items:
type: string
description: >-
Title extracted from the page, can be a string or array of
strings
description:
oneOf:
- type: string
- type: array
items:
type: string
description: >-
Description extracted from the page, can be a string or
array of strings
language:
oneOf:
- type: string
- type: array
items:
type: string
nullable: true
description: >-
Language extracted from the page, can be a string or array
of strings
sourceURL:
type: string
format: uri
description: >-
The original URL that was requested. May differ from the
page's final URL if redirects occurred.
url:
type: string
format: uri
description: >-
The final URL of the page after all redirects have been
followed.
keywords:
oneOf:
- type: string
- type: array
items:
type: string
description: >-
Keywords extracted from the page, can be a string or array
of strings
ogLocaleAlternate:
type: array
items:
type: string
description: Alternative locales for the page
'<any other metadata> ':
type: string
statusCode:
type: integer
description: The status code of the page
error:
type: string
nullable: true
description: The error message of the page
concurrencyLimited:
type: boolean
description: >-
Whether this scrape was throttled due to team concurrency
limits
concurrencyQueueDurationMs:
type: number
description: >-
Time in milliseconds the request waited in the concurrency
queue. Only present when concurrencyLimited is true.
securitySchemes:
bearerAuth:
type: http
scheme: bearer