Skip to content
Firecrawl Docsv2
Firecrawl Docs
Java

Java

Get started with Firecrawl in Java. Search, scrape, and interact with web data using the official SDK.

Prerequisites

Install the SDK

dependencies {
    implementation("com.firecrawl:firecrawl-java:1.2.0")
}

Search the web

import com.firecrawl.client.FirecrawlClient;
import com.firecrawl.models.SearchData;
import com.firecrawl.models.SearchOptions;

public class Main {
    public static void main(String[] args) {
        FirecrawlClient client = FirecrawlClient.builder()
            .apiKey("fc-YOUR-API-KEY")
            .build();

        SearchData results = client.search(
            "firecrawl web scraping",
            SearchOptions.builder().limit(5).build()
        );

        if (results.getWeb() != null) {
            for (var result : results.getWeb()) {
                System.out.println(result.get("title") + " - " + result.get("url"));
            }
        }
    }
}

Scrape a page

import com.firecrawl.models.Document;

Document doc = client.scrape("https://example.com");
System.out.println(doc.getMarkdown());

Interact with a page

Open a browser session, run Playwright code against it, and close it when done:

import com.firecrawl.models.ScrapeOptions;
import com.firecrawl.models.BrowserExecuteResponse;
import java.util.List;

Document doc = client.scrape("https://www.amazon.com",
    ScrapeOptions.builder().formats(List.of((Object) "markdown")).build());
String scrapeId = (String) doc.getMetadata().get("scrapeId");

BrowserExecuteResponse run = client.interact(scrapeId,
    "const title = await page.title(); console.log(title);");
System.out.println(run.getStdout());

client.stopInteractiveBrowser(scrapeId);

Environment variable

Instead of passing apiKey directly, set the FIRECRAWL_API_KEY environment variable:

export FIRECRAWL_API_KEY=fc-YOUR-API-KEY
FirecrawlClient client = FirecrawlClient.fromEnv();

Next steps

Was this page helpful?Suggest editsRaise issue