---
title: Query Keywords
framework: Apple Ads Platform API
role: symbol
role_heading: Web Service Endpoint
platforms: [apple ads platform api 1.0+]
path: apple-ads-platform-api/post-keywords-query
---

# Query Keywords

Query keywords using structured filters, sorting, and pagination.

## URL

POST https://api.ads.apple.com/v1/keywords/query

## Header Parameters

X-Ap-Context:

## Response Codes

200 OK: 400 Bad Request: 401 Unauthorized: 403 Forbidden: 404 Not Found: 429 Too Many Requests: 500 Internal Server Error:

## Discussion

Discussion This endpoint queries keywords using a standard QueryRequest body. Either adGroupId or campaignId is required. The API returns an error if neither is present. The adGroupId EQUALS or adGroupId IN filter scopes the query to one or more specific ad groups, and can span ad groups across different campaigns within the same ad account. The adGroupId IN filter accepts up to 1000 values. The IS_NULL, IS_NOT_NULL, and NOT_EQUALS operators aren’t supported on adGroupId for keywords. The campaignId field scopes the query to all keywords across a campaign, and only supports EQUALS. There is no campaign-level keyword concept the way there is for negative keywords. Filtering by id (EQUALS or IN) is exempt from the adGroupId/campaignId requirement, since id already fully bounds the query. See QueryFilterOperator for the full set of supported comparison operators. Filterable Fields  |  |  |  |   |  |  |  |   |  |  |  |   |  |  |  |   |  |  |  |   |  |  |  |   |  |  |  |   |  |  |  |  The request body is a QueryRequest composed of QueryFilter conditions and QuerySort directives (QuerySortOrder), controlled by QueryPagination. Payload Examples

## See Also

- [Create a Keyword](apple-ads-platform-api/post-keywords.md)
- [Get a Keyword](apple-ads-platform-api/get-keywords-_id_.md)
- [Update a Keyword](apple-ads-platform-api/put-keywords-_id_.md)
- [Delete a Keyword](apple-ads-platform-api/delete-keywords-_id_.md)
