Class FirecrawlClient.Builder

  • Enclosing class:
    FirecrawlClient

    public static final class FirecrawlClient.Builder
    extends java.lang.Object
    • Method Detail

      • apiKey

        public FirecrawlClient.Builder apiKey​(java.lang.String apiKey)
        Sets the API key. Falls back to FIRECRAWL_API_KEY env var or firecrawl.apiKey system property if not provided.
      • apiUrl

        public FirecrawlClient.Builder apiUrl​(java.lang.String apiUrl)
        Sets the API base URL. Defaults to https://api.firecrawl.dev. Falls back to FIRECRAWL_API_URL env var if not provided.
      • timeoutMs

        public FirecrawlClient.Builder timeoutMs​(long timeoutMs)
        Sets the HTTP request timeout in milliseconds. Default: 300000 (5 minutes).
      • maxRetries

        public FirecrawlClient.Builder maxRetries​(int maxRetries)
        Sets the maximum number of automatic retries for transient failures. Default: 3.
      • backoffFactor

        public FirecrawlClient.Builder backoffFactor​(double backoffFactor)
        Sets the exponential backoff factor in seconds. Default: 0.5.
      • asyncExecutor

        public FirecrawlClient.Builder asyncExecutor​(java.util.concurrent.Executor asyncExecutor)
        Sets a custom executor for async operations. Default: ForkJoinPool.commonPool().
      • httpClient

        public FirecrawlClient.Builder httpClient​(okhttp3.OkHttpClient httpClient)
        Sets a pre-configured OkHttpClient instance.

        When provided, this client is used as-is for all HTTP requests, giving full control over connection pooling, interceptors, SSL configuration, proxy settings, timeouts, and any other OkHttp feature. The timeoutMs(long) setting is ignored when a custom client is supplied.

        Example:

        
         OkHttpClient custom = new OkHttpClient.Builder()
             .proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("proxy.example.com", 8080)))
             .addInterceptor(myLoggingInterceptor)
             .connectTimeout(10, TimeUnit.SECONDS)
             .build();
        
         FirecrawlClient client = FirecrawlClient.builder()
             .apiKey("fc-your-api-key")
             .httpClient(custom)
             .build();
         
        Parameters:
        httpClient - the OkHttpClient instance to use