Spring Boot
Use o Firecrawl com Spring Boot para realizar buscas, fazer scraping e interagir com dados da web usando o SDK Java oficial.
- Java 17+ e Spring Boot 3+
- Uma chave de API do Firecrawl — obtenha uma grátis
dependencies {
implementation("com.firecrawl:firecrawl-java:1.2.0")
}Adicione sua chave de API ao application.properties:
firecrawl.api-key=${FIRECRAWL_API_KEY}Ou defina como uma variável de ambiente:
export FIRECRAWL_API_KEY=fc-YOUR-API-KEYCrie FirecrawlConfig.java:
import com.firecrawl.client.FirecrawlClient;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FirecrawlConfig {
@Bean
public FirecrawlClient firecrawlClient(
@Value("${firecrawl.api-key}") String apiKey) {
return FirecrawlClient.builder()
.apiKey(apiKey)
.build();
}
}Crie FirecrawlController.java:
import com.firecrawl.client.FirecrawlClient;
import com.firecrawl.models.Document;
import com.firecrawl.models.SearchData;
import com.firecrawl.models.SearchOptions;
import com.firecrawl.models.ScrapeOptions;
import com.firecrawl.models.BrowserExecuteResponse;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/api")
public class FirecrawlController {
private final FirecrawlClient firecrawl;
public FirecrawlController(FirecrawlClient firecrawl) {
this.firecrawl = firecrawl;
}
@PostMapping("/search")
public SearchData search(@RequestBody Map<String, Object> body) {
return firecrawl.search(
(String) body.get("query"),
SearchOptions.builder()
.limit((int) body.getOrDefault("limit", 5))
.build()
);
}
@PostMapping("/scrape")
public Map<String, Object> scrape(@RequestBody Map<String, String> body) {
Document doc = firecrawl.scrape(body.get("url"));
return Map.of(
"markdown", doc.getMarkdown(),
"metadata", doc.getMetadata()
);
}
@PostMapping("/interact")
public Map<String, Object> interact(@RequestBody Map<String, String> body) {
Document doc = firecrawl.scrape(body.get("url"),
ScrapeOptions.builder().formats(List.of((Object) "markdown")).build());
String scrapeId = (String) doc.getMetadata().get("scrapeId");
BrowserExecuteResponse response = firecrawl.interact(scrapeId,
body.getOrDefault("code", "const title = await page.title(); console.log(title);"));
firecrawl.stopInteractiveBrowser(scrapeId);
return Map.of("result", response.getStdout());
}
}./gradlew bootRun# Fazer uma busca na web
curl -X POST http://localhost:8080/api/search \
-H "Content-Type: application/json" \
-d '{"query": "firecrawl web scraping"}'
# Fazer scraping de uma página
curl -X POST http://localhost:8080/api/scrape \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com"}'
# Interagir com uma página
curl -X POST http://localhost:8080/api/interact \
-H "Content-Type: application/json" \
-d '{"url": "https://www.amazon.com", "code": "const title = await page.title(); console.log(title);"}'Documentação de busca
Faça uma busca na web e obtenha o conteúdo completo da página
Documentação de scraping
Todas as opções de scraping, incluindo formatos, ações e proxies
Documentação de interação
Clique, preencha formulários e extraia conteúdo dinâmico
Referência do SDK Java
Referência completa do SDK com rastreamento, map, extração em lote e muito mais
Was this page helpful?Suggest editsRaise issue