Envoyer un retour sur une tâche de recherche
curl --request POST \
--url https://api.firecrawl.dev/v2/search/{jobId}/feedback \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"integration": "<string>",
"missingContent": [
{
"topic": "<string>",
"description": "<string>"
}
],
"origin": "api",
"querySuggestions": "<string>",
"valuableSources": [
{
"url": "<string>",
"reason": "<string>"
}
]
}
'import requests
url = "https://api.firecrawl.dev/v2/search/{jobId}/feedback"
payload = {
"integration": "<string>",
"missingContent": [
{
"topic": "<string>",
"description": "<string>"
}
],
"origin": "api",
"querySuggestions": "<string>",
"valuableSources": [
{
"url": "<string>",
"reason": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
integration: '<string>',
missingContent: [{topic: '<string>', description: '<string>'}],
origin: 'api',
querySuggestions: '<string>',
valuableSources: [{url: '<string>', reason: '<string>'}]
})
};
fetch('https://api.firecrawl.dev/v2/search/{jobId}/feedback', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.firecrawl.dev/v2/search/{jobId}/feedback",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'integration' => '<string>',
'missingContent' => [
[
'topic' => '<string>',
'description' => '<string>'
]
],
'origin' => 'api',
'querySuggestions' => '<string>',
'valuableSources' => [
[
'url' => '<string>',
'reason' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.firecrawl.dev/v2/search/{jobId}/feedback"
payload := strings.NewReader("{\n \"integration\": \"<string>\",\n \"missingContent\": [\n {\n \"topic\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"origin\": \"api\",\n \"querySuggestions\": \"<string>\",\n \"valuableSources\": [\n {\n \"url\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.firecrawl.dev/v2/search/{jobId}/feedback")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"integration\": \"<string>\",\n \"missingContent\": [\n {\n \"topic\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"origin\": \"api\",\n \"querySuggestions\": \"<string>\",\n \"valuableSources\": [\n {\n \"url\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.firecrawl.dev/v2/search/{jobId}/feedback")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"integration\": \"<string>\",\n \"missingContent\": [\n {\n \"topic\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"origin\": \"api\",\n \"querySuggestions\": \"<string>\",\n \"valuableSources\": [\n {\n \"url\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"creditsRefunded": 123,
"feedbackId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"success": true,
"alreadySubmitted": true,
"creditsRefundedToday": 123,
"dailyCapReached": true,
"dailyRefundCap": 123,
"warning": "<string>"
}{
"error": "<string>",
"success": false,
"details": [
{}
],
"feedbackErrorCode": "<string>"
}{
"error": "<string>",
"success": false,
"details": [
{}
],
"feedbackErrorCode": "<string>"
}{
"error": "<string>",
"success": false,
"details": [
{}
],
"feedbackErrorCode": "<string>"
}{
"error": "<string>",
"success": false,
"details": [
{}
],
"feedbackErrorCode": "<string>"
}{
"error": "<string>",
"success": false,
"details": [
{}
],
"feedbackErrorCode": "<string>"
}Points de terminaison de recherche
Retour sur la recherche
Envoyez un retour sur la qualité d’une tâche de recherche et contribuez à améliorer les résultats de recherche de Firecrawl.
POST
/
search
/
{jobId}
/
feedback
Envoyer un retour sur une tâche de recherche
curl --request POST \
--url https://api.firecrawl.dev/v2/search/{jobId}/feedback \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"integration": "<string>",
"missingContent": [
{
"topic": "<string>",
"description": "<string>"
}
],
"origin": "api",
"querySuggestions": "<string>",
"valuableSources": [
{
"url": "<string>",
"reason": "<string>"
}
]
}
'import requests
url = "https://api.firecrawl.dev/v2/search/{jobId}/feedback"
payload = {
"integration": "<string>",
"missingContent": [
{
"topic": "<string>",
"description": "<string>"
}
],
"origin": "api",
"querySuggestions": "<string>",
"valuableSources": [
{
"url": "<string>",
"reason": "<string>"
}
]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
integration: '<string>',
missingContent: [{topic: '<string>', description: '<string>'}],
origin: 'api',
querySuggestions: '<string>',
valuableSources: [{url: '<string>', reason: '<string>'}]
})
};
fetch('https://api.firecrawl.dev/v2/search/{jobId}/feedback', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.firecrawl.dev/v2/search/{jobId}/feedback",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'integration' => '<string>',
'missingContent' => [
[
'topic' => '<string>',
'description' => '<string>'
]
],
'origin' => 'api',
'querySuggestions' => '<string>',
'valuableSources' => [
[
'url' => '<string>',
'reason' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.firecrawl.dev/v2/search/{jobId}/feedback"
payload := strings.NewReader("{\n \"integration\": \"<string>\",\n \"missingContent\": [\n {\n \"topic\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"origin\": \"api\",\n \"querySuggestions\": \"<string>\",\n \"valuableSources\": [\n {\n \"url\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.firecrawl.dev/v2/search/{jobId}/feedback")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"integration\": \"<string>\",\n \"missingContent\": [\n {\n \"topic\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"origin\": \"api\",\n \"querySuggestions\": \"<string>\",\n \"valuableSources\": [\n {\n \"url\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.firecrawl.dev/v2/search/{jobId}/feedback")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"integration\": \"<string>\",\n \"missingContent\": [\n {\n \"topic\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"origin\": \"api\",\n \"querySuggestions\": \"<string>\",\n \"valuableSources\": [\n {\n \"url\": \"<string>\",\n \"reason\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"creditsRefunded": 123,
"feedbackId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"success": true,
"alreadySubmitted": true,
"creditsRefundedToday": 123,
"dailyCapReached": true,
"dailyRefundCap": 123,
"warning": "<string>"
}{
"error": "<string>",
"success": false,
"details": [
{}
],
"feedbackErrorCode": "<string>"
}{
"error": "<string>",
"success": false,
"details": [
{}
],
"feedbackErrorCode": "<string>"
}{
"error": "<string>",
"success": false,
"details": [
{}
],
"feedbackErrorCode": "<string>"
}{
"error": "<string>",
"success": false,
"details": [
{}
],
"feedbackErrorCode": "<string>"
}{
"error": "<string>",
"success": false,
"details": [
{}
],
"feedbackErrorCode": "<string>"
}Utilisez le retour sur la recherche après avoir utilisé un résultat
search ou lorsqu’il ne s’avère pas utile. Le retour améliore la qualité des résultats et peut donner lieu au remboursement d’1 crédit pour le premier envoi de retour sur une tâche de recherche, sous réserve des limites de l’équipe.
Exemple de requête
curl -X POST "https://api.firecrawl.dev/v2/search/550e8400-e29b-41d4-a716-446655440000/feedback" \
-H "Authorization: Bearer $FIRECRAWL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rating": "good",
"valuableSources": [
{
"url": "https://docs.firecrawl.dev/features/search",
"reason": "Most up-to-date description of /search."
}
],
"missingContent": [
{
"topic": "Pricing for the search endpoint",
"description": "No pricing tier table for /search specifically."
}
],
"querySuggestions": "Boost docs.firecrawl.dev for queries that mention Firecrawl"
}'
Autorisations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Paramètres de chemin
ID de tâche de recherche renvoyé par /search.
Corps
application/json
Pour « good », incluez valuableSources. Pour « partial », incluez valuableSources ou missingContent. Pour « bad », incluez missingContent ou querySuggestions.
Options disponibles:
good, partial, bad Maximum array length:
20Show child attributes
Show child attributes
Maximum string length:
2000Maximum array length:
50Show child attributes
Show child attributes
⌘I

