get_keyword_rankings
Get stored ranking summaries (current vs previous period) for a website's tracked keywords across Google, Bing, and Yandex. Reads RankParse snapshots synced on a schedule; it is not a live SERP check. Positions are provider-reported averages over each engine's own returned period and are NOT comparable as one blended rank across engines -- compare per engine, not by averaging across them. A missing engine in a keyword's response means that engine is not connected/attached for this site (check enabled_engines in the response), not a zero or bottom rank. Bing and Yandex are opt-in and many accounts do not have them connected, so their absence is normal, not an error. Each present engine also carries an availability field; a null current/previous position with availability other than "available" (e.g. provider_limited, which Bing/Yandex may report, or pending_first_sync, stale, sync_failed) means a data quality/sync issue for that engine, not evidence the keyword ranks nowhere.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max keywords to return (default 100, max 100) | |
| engine | No | Search engine to report on. Defaults to "all" (every engine enabled for this account) -- the primary use case is comparing engines side by side, so leave this unset unless you need one engine only. | |
| offset | No | Pagination offset (default 0) | |
| site_id | Yes | Logical RankParse website ID, from list_rank_tracking_sites | |
| keyword_id | No | Restrict to one tracked keyword ID, from list_tracked_keywords. Omit to get all keywords for the site. | |
| period_days | No | Length of the current/previous comparison window in days (default 28, max 90) |