Documentation Index Fetch the complete documentation index at: https://docs.firecrawl.dev/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Install the SDK
Gradle (Kotlin DSL)
Maven
dependencies {
implementation ( "com.firecrawl:firecrawl-java:1.2.0" )
}
< dependency >
< groupId > com.firecrawl </ groupId >
< artifactId > firecrawl-java </ artifactId >
< version > 1.2.0 </ version >
</ dependency >
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 ());
{
"markdown" : "# Example Domain \n\n This domain is for use in illustrative examples..." ,
"metadata" : {
"title" : "Example Domain" ,
"sourceURL" : "https://example.com"
}
}
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
Search docs Search the web and get full page content
Scrape docs All scrape options including formats, actions, and proxies
Interact docs Click, fill forms, and extract dynamic content
Java SDK reference Full SDK reference with crawl, map, batch scrape, and more