Firecrawl (Firecrawl v1.11.3)

Copy Markdown View Source

Auto-generated Firecrawl API v2 client.

Generated from the OpenAPI spec at: https://raw.githubusercontent.com/firecrawl/firecrawl-docs/main/api-reference/v2-openapi.json

Configuration

Set your API key in application config:

config :firecrawl, api_key: "fc-your-api-key"

Or pass it as an option to any function:

Firecrawl.scrape_and_extract_from_url([url: "https://example.com"], api_key: "fc-your-api-key")

Options

All functions accept an optional keyword list as the last argument with:

  • :api_key - Override the API key for this request
  • :base_url - Override the default API base URL (useful for self-hosted instances)
  • Any other options are passed through to the Req request

Usage

{:ok, response} = Firecrawl.scrape_and_extract_from_url(
  url: "https://example.com"
)

{:ok, response} = Firecrawl.crawl_urls(
  url: "https://example.com",
  limit: 100
)

Summary

Functions

Ask the Firecrawl support agent

Bang variant of ask_support_agent. Raises on error.

Cancel an agent job

Bang variant of cancel_agent. Raises on error.

Cancel a batch scrape job

Bang variant of cancel_batch_scrape. Raises on error.

Cancel a crawl job

Bang variant of cancel_crawl. Raises on error.

Preview crawl parameters generated from natural language prompt

Bang variant of crawl_params_preview. Raises on error.

Crawl multiple URLs based on options

Bang variant of crawl_urls. Raises on error.

Bang variant of create_browser_session. Raises on error.

Create a scheduled monitor.

Bang variant of create_monitor. Raises on error.

Bang variant of delete_browser_session. Raises on error.

Bang variant of delete_monitor. Raises on error.

Search the developer index

Bang variant of developer_search. Raises on error.

Bang variant of developer_search_post. Raises on error.

Bang variant of execute_browser_code. Raises on error.

Get all active crawls for the authenticated team

Bang variant of get_active_crawls. Raises on error.

List recent API activity

Bang variant of get_activity. Raises on error.

Get an output snapshot of an agent job

Bang variant of get_agent_snapshot. Raises on error.

Get the status of an agent job

Bang variant of get_agent_status. Raises on error.

Get the execution trace of an agent job

Bang variant of get_agent_trace. Raises on error.

Get the errors of a batch scrape job

Bang variant of get_batch_scrape_errors. Raises on error.

Get the status of a batch scrape job

Bang variant of get_batch_scrape_status. Raises on error.

Get the errors of a crawl job

Bang variant of get_crawl_errors. Raises on error.

Get the status of a crawl job

Bang variant of get_crawl_status. Raises on error.

Get remaining credits for the authenticated team

Bang variant of get_credit_usage. Raises on error.

Get historical credit usage for the authenticated team

Bang variant of get_historical_credit_usage. Raises on error.

Bang variant of get_monitor. Raises on error.

Get a monitor check with paginated page results and inline diffs.

Bang variant of get_monitor_check. Raises on error.

List the file formats parse_file/3 accepts

Bang variant of get_parse_formats. Raises on error.

Metrics about your team's scrape queue

Bang variant of get_queue_status. Raises on error.

Get the status of a scrape job

Bang variant of get_scrape_status. Raises on error.

Get the team's threat protection policy

Bang variant of get_threat_protection. Raises on error.

Inspect paper metadata.

Bang variant of inspect_paper. Raises on error.

Interact with the browser session associated with a scrape job

Bang variant of interact_with_scrape_browser_session. Raises on error.

Bang variant of list_agents. Raises on error.

Bang variant of list_browser_sessions. Raises on error.

Bang variant of list_monitor_checks. Raises on error.

List monitors for the authenticated team.

Bang variant of list_monitors. Raises on error.

Map multiple URLs based on options

Bang variant of map_urls. Raises on error.

Bang variant of parse_file. Raises on error.

Read a paper with query-guided passages.

Bang variant of read_paper. Raises on error.

Find papers related to a paper.

Bang variant of related_papers. Raises on error.

Trigger a manual monitor check.

Bang variant of run_monitor. Raises on error.

Scrape a single URL and optionally extract information using an LLM

Bang variant of scrape_and_extract_from_url. Raises on error.

Scrape multiple URLs and optionally extract information using an LLM

Bang variant of scrape_and_extract_from_urls. Raises on error.

Search and optionally scrape search results

Bang variant of search_and_scrape. Raises on error.

Search GitHub research content.

Bang variant of search_github. Raises on error.

Search research papers.

Bang variant of search_papers. Raises on error.

Search Firecrawl docs with citations

Bang variant of search_support_docs. Raises on error.

Start an agent task for agentic data extraction

Bang variant of start_agent. Raises on error.

Stop the interactive browser session associated with a scrape job

Bang variant of stop_interactive_scrape_browser_session. Raises on error.

Bang variant of submit_endpoint_feedback. Raises on error.

Bang variant of submit_search_feedback. Raises on error.

Bang variant of update_monitor. Raises on error.

Update the team's threat protection policy

Bang variant of update_threat_protection. Raises on error.

Types

response()

@type response() ::
  {:ok, Req.Response.t()} | {:error, Exception.t() | Firecrawl.Error.t()}

Functions

ask_support_agent(params \\ [], opts \\ [])

@spec ask_support_agent(keyword(), keyword()) :: response()

Ask the Firecrawl support agent

POST /support/ask

Tag: Support

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @ask_support_agent_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

ask_support_agent!(params \\ [], opts \\ [])

@spec ask_support_agent!(keyword(), keyword()) :: Req.Response.t()

Bang variant of ask_support_agent. Raises on error.

cancel_agent(job_id, opts \\ [])

@spec cancel_agent(
  String.t(),
  keyword()
) :: response()

Cancel an agent job

DELETE /agent/{jobId}

Tag: Agent

Path Parameters

  • job_id - Path parameter jobId

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

cancel_agent!(job_id, opts \\ [])

@spec cancel_agent!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of cancel_agent. Raises on error.

cancel_batch_scrape(id, opts \\ [])

@spec cancel_batch_scrape(
  String.t(),
  keyword()
) :: response()

Cancel a batch scrape job

DELETE /batch/scrape/{id}

Tag: Scraping

Path Parameters

  • id - Path parameter id

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

cancel_batch_scrape!(id, opts \\ [])

@spec cancel_batch_scrape!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of cancel_batch_scrape. Raises on error.

cancel_crawl(id, opts \\ [])

@spec cancel_crawl(
  String.t(),
  keyword()
) :: response()

Cancel a crawl job

DELETE /crawl/{id}

Tag: Crawling

Path Parameters

  • id - Path parameter id

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

cancel_crawl!(id, opts \\ [])

@spec cancel_crawl!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of cancel_crawl. Raises on error.

crawl_params_preview(params \\ [], opts \\ [])

@spec crawl_params_preview(keyword(), keyword()) :: response()

Preview crawl parameters generated from natural language prompt

POST /crawl/params-preview

Tag: Crawling

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @crawl_params_preview_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

crawl_params_preview!(params \\ [], opts \\ [])

@spec crawl_params_preview!(keyword(), keyword()) :: Req.Response.t()

Bang variant of crawl_params_preview. Raises on error.

crawl_urls(params \\ [], opts \\ [])

@spec crawl_urls(keyword(), keyword()) :: response()

Crawl multiple URLs based on options

POST /crawl

Tag: Crawling

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @crawl_urls_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

crawl_urls!(params \\ [], opts \\ [])

@spec crawl_urls!(keyword(), keyword()) :: Req.Response.t()

Bang variant of crawl_urls. Raises on error.

create_browser_session(params \\ [], opts \\ [])

@spec create_browser_session(keyword(), keyword()) :: response()

Create an interact session

POST /interact

Tag: Interact

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @create_browser_session_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

create_browser_session!(params \\ [], opts \\ [])

@spec create_browser_session!(keyword(), keyword()) :: Req.Response.t()

Bang variant of create_browser_session. Raises on error.

create_monitor(params \\ [], opts \\ [])

@spec create_monitor(keyword(), keyword()) :: response()

Create a scheduled monitor.

POST /monitor

Targets

targets is a list of maps/keyword lists. Each target is sent as-is (keys are camelCased), so the supported target shapes are:

  • Scrape: [type: "scrape", url: "https://example.com", ...]
  • Crawl: [type: "crawl", url: "https://example.com", ...]
  • Search: [type: "search", queries: ["term"], search_window: "24h", include_domains: ["example.com"], exclude_domains: [], max_results: 10] (search_window is one of "5m", "15m", "1h", "6h", "24h", "7d"; only queries is required.)

Optionally pass goal and judge_enabled: true to enable AI judging.

create_monitor!(params \\ [], opts \\ [])

@spec create_monitor!(keyword(), keyword()) :: Req.Response.t()

Bang variant of create_monitor. Raises on error.

delete_browser_session(session_id, opts \\ [])

@spec delete_browser_session(
  String.t(),
  keyword()
) :: response()

Delete an interact session

DELETE /interact/{sessionId}

Tag: Interact

Path Parameters

  • session_id - Path parameter sessionId

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

delete_browser_session!(session_id, opts \\ [])

@spec delete_browser_session!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of delete_browser_session. Raises on error.

delete_monitor(monitor_id, opts \\ [])

@spec delete_monitor(
  String.t(),
  keyword()
) :: response()

Delete a monitor.

DELETE /monitor/{monitorId}

delete_monitor!(monitor_id, opts \\ [])

@spec delete_monitor!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of delete_monitor. Raises on error.

developer_search(params \\ [], opts \\ [])

@spec developer_search(keyword(), keyword()) :: response()

Search the developer index

GET /search/developer

Tag: Developer

Query Parameters

  • query — query parameter query
  • k — query parameter k
  • types — query parameter types
  • repos — query parameter repos
  • sources — query parameter sources
  • skills — query parameter skills
  • passages — query parameter passages
  • language — query parameter language
  • topic — query parameter topic
  • license — query parameter license
  • min_stars — query parameter min_stars
  • max_stars — query parameter max_stars
  • archived — query parameter archived
  • fork — query parameter fork

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

developer_search!(params \\ [], opts \\ [])

@spec developer_search!(keyword(), keyword()) :: Req.Response.t()

Bang variant of developer_search. Raises on error.

developer_search_post(params \\ [], opts \\ [])

@spec developer_search_post(keyword(), keyword()) :: response()

Search the developer index

POST /search/developer

Tag: Developer

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @developer_search_post_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

developer_search_post!(params \\ [], opts \\ [])

@spec developer_search_post!(keyword(), keyword()) :: Req.Response.t()

Bang variant of developer_search_post. Raises on error.

execute_browser_code(session_id, params \\ [], opts \\ [])

@spec execute_browser_code(String.t(), keyword(), keyword()) :: response()

Execute code in an interact session

POST /interact/{sessionId}/execute

Tag: Interact

Path Parameters

  • session_id - Path parameter sessionId

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @execute_browser_code_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

execute_browser_code!(session_id, params \\ [], opts \\ [])

@spec execute_browser_code!(String.t(), keyword(), keyword()) :: Req.Response.t()

Bang variant of execute_browser_code. Raises on error.

get_active_crawls(opts \\ [])

@spec get_active_crawls(keyword()) :: response()

Get all active crawls for the authenticated team

GET /crawl/active

Tag: Crawling

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_active_crawls!(opts \\ [])

@spec get_active_crawls!(keyword()) :: Req.Response.t()

Bang variant of get_active_crawls. Raises on error.

get_activity(params \\ [], opts \\ [])

@spec get_activity(keyword(), keyword()) :: response()

List recent API activity

GET /team/activity

Tag: Account

Query Parameters

  • endpoint — query parameter endpoint
  • limit — query parameter limit
  • cursor — query parameter cursor

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_activity!(params \\ [], opts \\ [])

@spec get_activity!(keyword(), keyword()) :: Req.Response.t()

Bang variant of get_activity. Raises on error.

get_agent_snapshot(job_id, snapshot_id, opts \\ [])

@spec get_agent_snapshot(String.t(), String.t(), keyword()) :: response()

Get an output snapshot of an agent job

GET /agent/{jobId}/snapshots/{snapshotId}

Tag: Agent

Path Parameters

  • job_id - Path parameter jobId
  • snapshot_id - Path parameter snapshotId

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_agent_snapshot!(job_id, snapshot_id, opts \\ [])

@spec get_agent_snapshot!(String.t(), String.t(), keyword()) :: Req.Response.t()

Bang variant of get_agent_snapshot. Raises on error.

get_agent_status(job_id, opts \\ [])

@spec get_agent_status(
  String.t(),
  keyword()
) :: response()

Get the status of an agent job

GET /agent/{jobId}

Tag: Agent

Path Parameters

  • job_id - Path parameter jobId

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_agent_status!(job_id, opts \\ [])

@spec get_agent_status!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of get_agent_status. Raises on error.

get_agent_trace(job_id, opts \\ [])

@spec get_agent_trace(
  String.t(),
  keyword()
) :: response()

Get the execution trace of an agent job

GET /agent/{jobId}/trace

Tag: Agent

The trace is only available for agent runs on spark-2.

Path Parameters

  • job_id - Path parameter jobId

Options

  • :live_view - when true, the query parameter liveView=true is sent and the response may additionally carry activeBrowserSessions, a list of %{"id" => "...", "liveViewUrl" => "...", "viewport" => %{"width" => 1280, "height" => 720}} entries for the run's live browser sessions.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

Success JSON: %{"success" => true, "id" => "...", "events" => [...], "creditsUsed" => 5}.

Each event has a type field (e.g. "run.started", "tool_call.started", "artifact.updated") plus the base fields schemaVersion, eventId, runId, occurredAt, producerSequence, and agent.

get_agent_trace!(job_id, opts \\ [])

@spec get_agent_trace!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of get_agent_trace. Raises on error.

get_batch_scrape_errors(id, opts \\ [])

@spec get_batch_scrape_errors(
  String.t(),
  keyword()
) :: response()

Get the errors of a batch scrape job

GET /batch/scrape/{id}/errors

Tag: Scraping

Path Parameters

  • id - Path parameter id

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_batch_scrape_errors!(id, opts \\ [])

@spec get_batch_scrape_errors!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of get_batch_scrape_errors. Raises on error.

get_batch_scrape_status(id, opts \\ [])

@spec get_batch_scrape_status(
  String.t(),
  keyword()
) :: response()

Get the status of a batch scrape job

GET /batch/scrape/{id}

Tag: Scraping

Path Parameters

  • id - Path parameter id

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_batch_scrape_status!(id, opts \\ [])

@spec get_batch_scrape_status!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of get_batch_scrape_status. Raises on error.

get_crawl_errors(id, opts \\ [])

@spec get_crawl_errors(
  String.t(),
  keyword()
) :: response()

Get the errors of a crawl job

GET /crawl/{id}/errors

Tag: Crawling

Path Parameters

  • id - Path parameter id

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_crawl_errors!(id, opts \\ [])

@spec get_crawl_errors!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of get_crawl_errors. Raises on error.

get_crawl_status(id, opts \\ [])

@spec get_crawl_status(
  String.t(),
  keyword()
) :: response()

Get the status of a crawl job

GET /crawl/{id}

Tag: Crawling

Path Parameters

  • id - Path parameter id

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_crawl_status!(id, opts \\ [])

@spec get_crawl_status!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of get_crawl_status. Raises on error.

get_credit_usage(opts \\ [])

@spec get_credit_usage(keyword()) :: response()

Get remaining credits for the authenticated team

GET /team/credit-usage

Tag: Billing

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_credit_usage!(opts \\ [])

@spec get_credit_usage!(keyword()) :: Req.Response.t()

Bang variant of get_credit_usage. Raises on error.

get_historical_credit_usage(params \\ [], opts \\ [])

@spec get_historical_credit_usage(keyword(), keyword()) :: response()

Get historical credit usage for the authenticated team

GET /team/credit-usage/historical

Tag: Billing

Query Parameters

  • by_api_key — query parameter byApiKey

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_historical_credit_usage!(params \\ [], opts \\ [])

@spec get_historical_credit_usage!(keyword(), keyword()) :: Req.Response.t()

Bang variant of get_historical_credit_usage. Raises on error.

get_monitor(monitor_id, opts \\ [])

@spec get_monitor(
  String.t(),
  keyword()
) :: response()

Get a monitor by ID.

GET /monitor/{monitorId}

get_monitor!(monitor_id, opts \\ [])

@spec get_monitor!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of get_monitor. Raises on error.

get_monitor_check(monitor_id, check_id, params \\ [], opts \\ [])

@spec get_monitor_check(String.t(), String.t(), keyword(), keyword()) :: response()

Get a monitor check with paginated page results and inline diffs.

GET /monitor/{monitorId}/checks/{checkId}

get_monitor_check!(monitor_id, check_id, params \\ [], opts \\ [])

@spec get_monitor_check!(String.t(), String.t(), keyword(), keyword()) ::
  Req.Response.t()

Bang variant of get_monitor_check. Raises on error.

get_parse_formats(opts \\ [])

@spec get_parse_formats(keyword()) ::
  {:ok, [Firecrawl.ParseFormat.t()]}
  | {:error, Exception.t() | Firecrawl.Error.t()}

List the file formats parse_file/3 accepts

GET /parse/formats

Tag: Parsing

Returns

  • {:ok, [%Firecrawl.ParseFormat{}]} on success
  • {:error, exception} on HTTP failure or an unexpected response shape

get_parse_formats!(opts \\ [])

@spec get_parse_formats!(keyword()) :: [Firecrawl.ParseFormat.t()]

Bang variant of get_parse_formats. Raises on error.

get_queue_status(opts \\ [])

@spec get_queue_status(keyword()) :: response()

Metrics about your team's scrape queue

GET /team/queue-status

Tag: Miscellaneous

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_queue_status!(opts \\ [])

@spec get_queue_status!(keyword()) :: Req.Response.t()

Bang variant of get_queue_status. Raises on error.

get_scrape_status(job_id, opts \\ [])

@spec get_scrape_status(
  String.t(),
  keyword()
) :: response()

Get the status of a scrape job

GET /scrape/{jobId}

Tag: Scraping

Path Parameters

  • job_id - Path parameter jobId

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_scrape_status!(job_id, opts \\ [])

@spec get_scrape_status!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of get_scrape_status. Raises on error.

get_threat_protection(opts \\ [])

@spec get_threat_protection(keyword()) :: response()

Get the team's threat protection policy

GET /team/threat-protection

Tag: Threat Protection

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

get_threat_protection!(opts \\ [])

@spec get_threat_protection!(keyword()) :: Req.Response.t()

Bang variant of get_threat_protection. Raises on error.

inspect_paper(id, opts \\ [])

@spec inspect_paper(
  String.t(),
  keyword()
) :: response()

Inspect paper metadata.

GET /search/research/papers/{id}

inspect_paper!(id, opts \\ [])

@spec inspect_paper!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of inspect_paper. Raises on error.

interact_with_scrape_browser_session(job_id, params \\ [], opts \\ [])

@spec interact_with_scrape_browser_session(String.t(), keyword(), keyword()) ::
  response()

Interact with the browser session associated with a scrape job

POST /scrape/{jobId}/interact

Tag: Scraping

Path Parameters

  • job_id - Path parameter jobId

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @interact_with_scrape_browser_session_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

interact_with_scrape_browser_session!(job_id, params \\ [], opts \\ [])

@spec interact_with_scrape_browser_session!(String.t(), keyword(), keyword()) ::
  Req.Response.t()

Bang variant of interact_with_scrape_browser_session. Raises on error.

list_agents(params \\ [], opts \\ [])

@spec list_agents(keyword(), keyword()) :: response()

List agent runs

GET /agent

Tag: Agent

Query Parameters

  • before — query parameter before

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

list_agents!(params \\ [], opts \\ [])

@spec list_agents!(keyword(), keyword()) :: Req.Response.t()

Bang variant of list_agents. Raises on error.

list_browser_sessions(params \\ [], opts \\ [])

@spec list_browser_sessions(keyword(), keyword()) :: response()

List interact sessions

GET /interact

Tag: Interact

Query Parameters

  • status — query parameter status

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

list_browser_sessions!(params \\ [], opts \\ [])

@spec list_browser_sessions!(keyword(), keyword()) :: Req.Response.t()

Bang variant of list_browser_sessions. Raises on error.

list_monitor_checks(monitor_id, params \\ [], opts \\ [])

@spec list_monitor_checks(String.t(), keyword(), keyword()) :: response()

List checks for a monitor.

GET /monitor/{monitorId}/checks

list_monitor_checks!(monitor_id, params \\ [], opts \\ [])

@spec list_monitor_checks!(String.t(), keyword(), keyword()) :: Req.Response.t()

Bang variant of list_monitor_checks. Raises on error.

list_monitors(params \\ [], opts \\ [])

@spec list_monitors(keyword(), keyword()) :: response()

List monitors for the authenticated team.

GET /monitor

list_monitors!(params \\ [], opts \\ [])

@spec list_monitors!(keyword(), keyword()) :: Req.Response.t()

Bang variant of list_monitors. Raises on error.

map_urls(params \\ [], opts \\ [])

@spec map_urls(keyword(), keyword()) :: response()

Map multiple URLs based on options

POST /map

Tag: Mapping

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @map_urls_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

map_urls!(params \\ [], opts \\ [])

@spec map_urls!(keyword(), keyword()) :: Req.Response.t()

Bang variant of map_urls. Raises on error.

parse_file(file, params \\ [], opts \\ [])

@spec parse_file(keyword(), keyword(), keyword()) :: response()

Upload and parse a file

POST /parse

Sends a multipart/form-data request.

Tag: Scraping

File

Pass file as a keyword list:

  • :filename (required) - The filename to send.
  • :data (required) - The file contents as a binary.
  • :content_type (optional) - The MIME type of the file.

Parameters

Validated by NimbleOptions. Pass options as a keyword list with snake_case keys. These are JSON-encoded and sent as the options multipart field. See @parse_file_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

parse_file!(file, params \\ [], opts \\ [])

@spec parse_file!(keyword(), keyword(), keyword()) :: Req.Response.t()

Bang variant of parse_file. Raises on error.

read_paper(id, params \\ [], opts \\ [])

@spec read_paper(String.t(), keyword(), keyword()) :: response()

Read a paper with query-guided passages.

GET /search/research/papers/{id}

read_paper!(id, params \\ [], opts \\ [])

@spec read_paper!(String.t(), keyword(), keyword()) :: Req.Response.t()

Bang variant of read_paper. Raises on error.

run_monitor(monitor_id, opts \\ [])

@spec run_monitor(
  String.t(),
  keyword()
) :: response()

Trigger a manual monitor check.

POST /monitor/{monitorId}/run

run_monitor!(monitor_id, opts \\ [])

@spec run_monitor!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of run_monitor. Raises on error.

scrape_and_extract_from_url(params \\ [], opts \\ [])

@spec scrape_and_extract_from_url(keyword(), keyword()) :: response()

Scrape a single URL and optionally extract information using an LLM

POST /scrape

Tag: Scraping

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @scrape_and_extract_from_url_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

scrape_and_extract_from_url!(params \\ [], opts \\ [])

@spec scrape_and_extract_from_url!(keyword(), keyword()) :: Req.Response.t()

Bang variant of scrape_and_extract_from_url. Raises on error.

scrape_and_extract_from_urls(params \\ [], opts \\ [])

@spec scrape_and_extract_from_urls(keyword(), keyword()) :: response()

Scrape multiple URLs and optionally extract information using an LLM

POST /batch/scrape

Tag: Scraping

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @scrape_and_extract_from_urls_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

scrape_and_extract_from_urls!(params \\ [], opts \\ [])

@spec scrape_and_extract_from_urls!(keyword(), keyword()) :: Req.Response.t()

Bang variant of scrape_and_extract_from_urls. Raises on error.

search_and_scrape(params \\ [], opts \\ [])

@spec search_and_scrape(keyword(), keyword()) :: response()

Search and optionally scrape search results

POST /search

Tag: Search

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @search_and_scrape_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

search_and_scrape!(params \\ [], opts \\ [])

@spec search_and_scrape!(keyword(), keyword()) :: Req.Response.t()

Bang variant of search_and_scrape. Raises on error.

search_github(params \\ [], opts \\ [])

@spec search_github(keyword(), keyword()) :: response()

Search GitHub research content.

GET /search/research/github

search_github!(params \\ [], opts \\ [])

@spec search_github!(keyword(), keyword()) :: Req.Response.t()

Bang variant of search_github. Raises on error.

search_papers(params \\ [], opts \\ [])

@spec search_papers(keyword(), keyword()) :: response()

Search research papers.

GET /search/research/papers

search_papers!(params \\ [], opts \\ [])

@spec search_papers!(keyword(), keyword()) :: Req.Response.t()

Bang variant of search_papers. Raises on error.

search_support_docs(params \\ [], opts \\ [])

@spec search_support_docs(keyword(), keyword()) :: response()

Search Firecrawl docs with citations

POST /support/docs-search

Tag: Support

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @search_support_docs_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

search_support_docs!(params \\ [], opts \\ [])

@spec search_support_docs!(keyword(), keyword()) :: Req.Response.t()

Bang variant of search_support_docs. Raises on error.

start_agent(params \\ [], opts \\ [])

@spec start_agent(keyword(), keyword()) :: response()

Start an agent task for agentic data extraction

POST /agent

Tag: Agent

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @start_agent_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

start_agent!(params \\ [], opts \\ [])

@spec start_agent!(keyword(), keyword()) :: Req.Response.t()

Bang variant of start_agent. Raises on error.

stop_interactive_scrape_browser_session(job_id, opts \\ [])

@spec stop_interactive_scrape_browser_session(
  String.t(),
  keyword()
) :: response()

Stop the interactive browser session associated with a scrape job

DELETE /scrape/{jobId}/interact

Tag: Scraping

Path Parameters

  • job_id - Path parameter jobId

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

stop_interactive_scrape_browser_session!(job_id, opts \\ [])

@spec stop_interactive_scrape_browser_session!(
  String.t(),
  keyword()
) :: Req.Response.t()

Bang variant of stop_interactive_scrape_browser_session. Raises on error.

submit_endpoint_feedback(params \\ [], opts \\ [])

@spec submit_endpoint_feedback(keyword(), keyword()) :: response()

Submit feedback for a v2 job

POST /feedback

Tag: Feedback

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @submit_endpoint_feedback_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

submit_endpoint_feedback!(params \\ [], opts \\ [])

@spec submit_endpoint_feedback!(keyword(), keyword()) :: Req.Response.t()

Bang variant of submit_endpoint_feedback. Raises on error.

submit_search_feedback(job_id, params \\ [], opts \\ [])

@spec submit_search_feedback(String.t(), keyword(), keyword()) :: response()

Submit feedback for a search job

POST /search/{jobId}/feedback

Tag: Search

Path Parameters

  • job_id - Path parameter jobId

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @submit_search_feedback_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

submit_search_feedback!(job_id, params \\ [], opts \\ [])

@spec submit_search_feedback!(String.t(), keyword(), keyword()) :: Req.Response.t()

Bang variant of submit_search_feedback. Raises on error.

update_monitor(monitor_id, params \\ [], opts \\ [])

@spec update_monitor(String.t(), keyword(), keyword()) :: response()

Update a monitor.

PATCH /monitor/{monitorId}

update_monitor!(monitor_id, params \\ [], opts \\ [])

@spec update_monitor!(String.t(), keyword(), keyword()) :: Req.Response.t()

Bang variant of update_monitor. Raises on error.

update_threat_protection(params \\ [], opts \\ [])

@spec update_threat_protection(keyword(), keyword()) :: response()

Update the team's threat protection policy

PUT /team/threat-protection

Tag: Threat Protection

Parameters

Validated by NimbleOptions. Pass params as a keyword list with snake_case keys. See @update_threat_protection_schema for the full schema.

Returns

  • {:ok, %Req.Response{}} on success
  • {:error, exception} on HTTP or validation failure

update_threat_protection!(params \\ [], opts \\ [])

@spec update_threat_protection!(keyword(), keyword()) :: Req.Response.t()

Bang variant of update_threat_protection. Raises on error.