- [HTTP request](https://developers.google.com/knowledge/reference/rest/v1/documents/searchDocumentChunks#body.HTTP_TEMPLATE)
- [Query parameters](https://developers.google.com/knowledge/reference/rest/v1/documents/searchDocumentChunks#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/knowledge/reference/rest/v1/documents/searchDocumentChunks#body.request_body)
- [Response body](https://developers.google.com/knowledge/reference/rest/v1/documents/searchDocumentChunks#body.response_body)
  - [JSON representation](https://developers.google.com/knowledge/reference/rest/v1/documents/searchDocumentChunks#body.SearchDocumentChunksResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developers.google.com/knowledge/reference/rest/v1/documents/searchDocumentChunks#body.aspect)
- [Try it!](https://developers.google.com/knowledge/reference/rest/v1/documents/searchDocumentChunks#try-it)

Searches for developer knowledge across Google's developer documentation. Returns `https://developers.google.com/knowledge/reference/rest/v1/DocumentChunk`s based on the user's query. There may be many chunks from the same `https://developers.google.com/knowledge/reference/rest/v1/documents#Document`. To retrieve full documents, use `https://developers.google.com/knowledge/reference/rest/v1/documents/get#google.developers.knowledge.v1.DeveloperKnowledge.GetDocument` or `https://developers.google.com/knowledge/reference/rest/v1/documents/batchGet#google.developers.knowledge.v1.DeveloperKnowledge.BatchGetDocuments` with the `https://developers.google.com/knowledge/reference/rest/v1/DocumentChunk#FIELDS.parent` returned in the `https://developers.google.com/knowledge/reference/rest/v1/documents/searchDocumentChunks#body.SearchDocumentChunksResponse.FIELDS.results`.

### HTTP request

`GET https://developerknowledge.googleapis.com/v1/documents:searchDocumentChunks`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Query parameters

| Parameters ||
|---|---|
| `query` | `string` Required. Provides the raw query string provided by the user, such as "How to create a Cloud Storage bucket?". The query must not exceed 500 characters; values longer than 500 characters will result in an `INVALID_ARGUMENT` error. |
| `pageSize` | `integer` Optional. Specifies the maximum number of results to return. The service may return fewer than this value. If unspecified, at most 5 results will be returned. The maximum value is 100; values above 100 will be coerced to 100. |
| `pageToken` | `string` Optional. Contains a page token, received from a previous `documents.searchDocumentChunks` call. Provide this to retrieve the subsequent page. |
| `filter` | `string` Optional. Applies a strict filter to the search results. The expression supports a subset of the syntax described at <https://google.aip.dev/160>. While `documents.searchDocumentChunks` returns `https://developers.google.com/knowledge/reference/rest/v1/DocumentChunk`s, the filter is applied to `DocumentChunk.document` fields. Supported fields for filtering: - `content_length_bytes` (INTEGER): The length of the `Document.content` field in bytes. - `data_source` (STRING): The source of the document, e.g. `docs.cloud.google.com`. See <https://developers.google.com/knowledge/reference/corpus-reference> for the complete list of data sources in the corpus. - `update_time` (TIMESTAMP): The timestamp of when the document was last meaningfully updated. A meaningful update is one that changes document's markdown content or metadata. - `uri` (STRING): The document URI, e.g. `https://docs.cloud.google.com/bigquery/docs/tables`. INTEGER fields support `=`, `<`, `<=`, `>`, and `>=` operators. STRING fields support `=` (equals) and `!=` (not equals) operators for **exact match** on the whole string. Partial match, prefix match, and regexp match are not supported. TIMESTAMP fields support `=`, `<`, `<=`, `>`, and `>=` operators. Timestamps must be in RFC-3339 format, e.g., `"2025-01-01T00:00:00Z"`. Note: Field names must be in `snake_case` (e.g., `data_source`). Values on the right-hand side of filtering expressions must be string literals enclosed in double quotes (e.g., `"docs.cloud.google.com"`). You can combine expressions using `AND`, `OR`, and `NOT` (or `-`) logical operators. `OR` has higher precedence than `AND`. Use parentheses for explicit precedence grouping. Examples: - Filter by `Document.content_length_bytes`: `content_length_bytes < 50000` - `data_source = "docs.cloud.google.com" OR data_source = "firebase.google.com"` - `data_source != "firebase.google.com"` - `update_time < "2024-01-01T00:00:00Z"` - `update_time >= "2025-01-22T00:00:00Z" AND (data_source = "developer.chrome.com" OR data_source = "web.dev")` - `uri = "https://docs.cloud.google.com/release-notes"` The `filter` string must not exceed 500 characters; values longer than 500 characters will result in an `INVALID_ARGUMENT` error. |

### Request body

The request body must be empty.

### Response body

Response message for `https://developers.google.com/knowledge/reference/rest/v1/documents/searchDocumentChunks#google.developers.knowledge.v1.DeveloperKnowledge.SearchDocumentChunks`.

If successful, the response body contains data with the following structure:

| JSON representation |
|---|
| ``` { "results": [ { object (`https://developers.google.com/knowledge/reference/rest/v1/DocumentChunk`) } ], "nextPageToken": string } ``` |

| Fields ||
|---|---|
| `results[]` | ``object (`https://developers.google.com/knowledge/reference/rest/v1/DocumentChunk`)`` Contains the search results for the given query. Each `https://developers.google.com/knowledge/reference/rest/v1/DocumentChunk` in this list contains a snippet of content relevant to the search query. Use the `https://developers.google.com/knowledge/reference/rest/v1/DocumentChunk#FIELDS.parent` field of each result with `https://developers.google.com/knowledge/reference/rest/v1/documents/get#google.developers.knowledge.v1.DeveloperKnowledge.GetDocument` or `https://developers.google.com/knowledge/reference/rest/v1/documents/batchGet#google.developers.knowledge.v1.DeveloperKnowledge.BatchGetDocuments` to retrieve the full document content. |
| `nextPageToken` | `string` Provides a token that can be sent as `pageToken` to retrieve the next page. If this field is omitted, there are no subsequent pages. |

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/devprofiles.full_control`
- `
  https://www.googleapis.com/auth/developerprofiles.readonly`
- `
  https://www.googleapis.com/auth/cloud-platform`

For more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2).