Skip to main content
Canonical Firecrawl Java quickstart for agents. Generated from SDK source (firecrawl-java v1.17.0) and the v2 OpenAPI spec.

Install

Maven:
Gradle:
Requires Java 11+.

Authenticate

When To Use What

  • search: use when you start with a query and need discovery.
  • scrape: use when you already have a URL and want page content.
  • interact: use when the page needs code execution in a scrape-bound browser session. Requires a scrape job ID from a prior scrape.

Why use it

Discover relevant pages from a query, then pick URLs to scrape or interact with. Constrain results to a site with site: in the query string.

Preferred SDK method

  • client.search(query)SearchData
  • client.search(query, options)SearchData

Example

Results are grouped: getWeb(), getNews(), getImages() — each returns List<Map<String, Object>> (may be null).

Parameters

Scrape

Why use it

Get structured content from a URL in one or more formats.

Preferred SDK method

  • client.scrape(url)Document
  • client.scrape(url, options)Document

Example

Parameters

Interact

Why use it

Execute code in the browser session tied to a scrape job. The Java SDK supports code-based interactions only (no prompt parameter).

Preferred SDK method

  • client.interact(jobId, code) — uses default language "node"
  • client.interact(jobId, code, language, timeout)timeout is seconds (1–300), or null for API default (30s)
  • client.interact(jobId, code, language, timeout, origin) — with optional origin tag

Example

Parameters

client.stopInteractiveBrowser(jobId) ends the browser session. Returns BrowserDeleteResponse with isSuccess(), getSessionDurationMs(), getCreditsBilled(), getError().

Notes

  • Deprecated aliases: scrapeExecuteinteract; deleteScrapeBrowserstopInteractiveBrowser.
  • The Java SDK exposes code-based interactions only — there is no prompt parameter on interact (unlike Node.js, Python, and Rust SDKs).
  • All methods have async variants (e.g. scrapeAsync, searchAsync, interactAsync) returning CompletableFuture.
  • Uses camelCase for all parameter names (Java convention).

Source Of Truth

  • firecrawl/apps/java-sdk/build.gradle.kts
  • firecrawl/apps/java-sdk/src/main/java/com/firecrawl/client/FirecrawlClient.java
  • firecrawl/apps/java-sdk/src/main/java/com/firecrawl/models/ScrapeOptions.java
  • firecrawl/apps/java-sdk/src/main/java/com/firecrawl/models/SearchOptions.java
  • firecrawl/apps/java-sdk/src/main/java/com/firecrawl/models/SearchData.java
  • firecrawl-docs/api-reference/v2-openapi.json