# Search Feedback (/api-reference/endpoint/search-feedback)

<!-- agent-signals: reading_time_min: 3 · est_tokens: 2083 · updated: 2026-07-30 -->
Related: [Search](/api-reference/endpoint/search.md), [Scrape](/api-reference/endpoint/scrape.md), [Batch Scrape](/api-reference/endpoint/batch-scrape.md), [Get Batch Scrape Status](/api-reference/endpoint/batch-scrape-get.md), [Cancel Batch Scrape](/api-reference/endpoint/batch-scrape-delete.md), [Get Batch Scrape Errors](/api-reference/endpoint/batch-scrape-get-errors.md)

Use search feedback after a `search` result is used or fails to help. Feedback improves result quality and can refund 1 credit for the first feedback submission on a search job, subject to team limits.

### Example Request [#example-request]

```bash
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"
  }'
```

`POST /search/{jobId}/feedback`

Submit feedback for a search job

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "parameters": [
    {
      "name": "jobId",
      "in": "path",
      "required": true,
      "schema": {
        "type": "string",
        "format": "uuid"
      },
      "description": "Search job id returned by /search."
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "description": "For 'good', include valuableSources. For 'partial', include valuableSources or missingContent. For 'bad', include missingContent or querySuggestions.",
          "properties": {
            "rating": {
              "type": "string",
              "enum": [
                "good",
                "partial",
                "bad"
              ]
            },
            "valuableSources": {
              "type": "array",
              "maxItems": 50,
              "items": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri"
                  },
                  "reason": {
                    "type": "string",
                    "maxLength": 1000
                  }
                },
                "required": [
                  "url"
                ]
              }
            },
            "missingContent": {
              "type": "array",
              "maxItems": 20,
              "items": {
                "type": "object",
                "properties": {
                  "topic": {
                    "type": "string",
                    "maxLength": 200,
                    "minLength": 1
                  },
                  "description": {
                    "type": "string",
                    "maxLength": 2000
                  }
                },
                "required": [
                  "topic"
                ]
              }
            },
            "querySuggestions": {
              "type": "string",
              "maxLength": 2000
            },
            "origin": {
              "type": "string",
              "default": "api"
            },
            "integration": {
              "type": "string",
              "nullable": true
            }
          },
          "required": [
            "rating"
          ]
        }
      }
    }
  },
  "responses": {
    "200": {
      "description": "Feedback recorded",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "example": true
              },
              "feedbackId": {
                "type": "string",
                "format": "uuid"
              },
              "creditsRefunded": {
                "type": "number"
              },
              "alreadySubmitted": {
                "type": "boolean"
              },
              "dailyCapReached": {
                "type": "boolean"
              },
              "creditsRefundedToday": {
                "type": "number"
              },
              "dailyRefundCap": {
                "type": "number"
              },
              "warning": {
                "type": "string"
              }
            },
            "required": [
              "success",
              "feedbackId",
              "creditsRefunded"
            ]
          }
        }
      }
    },
    "400": {
      "description": "Invalid request body",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "example": false
              },
              "error": {
                "type": "string"
              },
              "feedbackErrorCode": {
                "type": "string"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            },
            "required": [
              "success",
              "error"
            ]
          }
        }
      }
    },
    "403": {
      "description": "Feedback is not available for this team",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "example": false
              },
              "error": {
                "type": "string"
              },
              "feedbackErrorCode": {
                "type": "string"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            },
            "required": [
              "success",
              "error"
            ]
          }
        }
      }
    },
    "404": {
      "description": "Search not found for this team",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "example": false
              },
              "error": {
                "type": "string"
              },
              "feedbackErrorCode": {
                "type": "string"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            },
            "required": [
              "success",
              "error"
            ]
          }
        }
      }
    },
    "409": {
      "description": "Feedback cannot be recorded for this search",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "example": false
              },
              "error": {
                "type": "string"
              },
              "feedbackErrorCode": {
                "type": "string"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            },
            "required": [
              "success",
              "error"
            ]
          }
        }
      }
    },
    "500": {
      "description": "Server error",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "properties": {
              "success": {
                "type": "boolean",
                "example": false
              },
              "error": {
                "type": "string"
              },
              "feedbackErrorCode": {
                "type": "string"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            },
            "required": [
              "success",
              "error"
            ]
          }
        }
      }
    }
  }
}
```
