Skip to Content
Rank tracking

List alerts

Recorded rank-change alert events for one website, newest first, including ones left out of the weekly email.

GEThttps://api.rankparse.com/v1/rank-tracking/alertsFreeAPI key

Lists the rank-change events recorded for one website, newest first. Events are recorded once a day while alerts are enabled for the website (see Update alert settings). This is the full history, including events that were left out of the weekly email because their net movement cancelled out. A keyword with no events simply had no significant moves.

Query parameters

site_idstringrequired

The website, from List sites. A missing or unknown ID returns 404 rank_tracking_site_not_found.

limitintegerdefault 100

Events per page, 1 to 100. An invalid or out-of-range value falls back to 100.

offsetintegerdefault 0

Number of events to skip. An invalid value falls back to 0.

Response

site_idstring

The website you asked for.

totalinteger

Recorded events for the website, for pagination.

limitinteger

The page size used.

offsetinteger

The offset used.

alertsarray

Events, ordered by metric_date then detected_at, newest first.

Show properties
keyword_idstring

The keyword ID.

querystring

The tracked query text.

enginestring

google, bing or yandex.

property_idstring

The primary property the change was seen on.

metric_datestring

The synced day the change was measured on (YYYY-MM-DD).

alert_typestring

See the table below.

old_positionnumber | null

Average position over the 7-day baseline before metric_date. null for new_ranking.

new_positionnumber | null

Position on metric_date. null for lost_ranking.

detected_atinteger

Unix time in milliseconds when the event was recorded.

digest_datestring

The UTC date of the daily detection run that recorded the event.

delivered_atinteger | null

Unix time in milliseconds when the event was included in a sent weekly email. null while pending, and for events that cancelled out or were never emailed.

Alert types

Detection compares each keyword's position on the property's freshest synced day with its average position over the 7 days before, per engine.

alert_typeRecorded when
entered_top_3Now in positions 1 to 3, baseline outside them
entered_top_10Now in positions 4 to 10, baseline outside the top 10
left_top_3Now outside the top 3 but still in the top 10, baseline inside the top 3
left_top_10Now outside the top 10, baseline inside it
moved_upPosition improved by at least the website's move_threshold
moved_downPosition worsened by at least move_threshold
new_rankingThe keyword has a position now and none in the baseline
lost_rankingThe keyword had a baseline position and has none now, and the provider's data covers the freshest day
  • Only the most specific boundary crossing is recorded per direction: entering the top 3 implies entering the top 10, so only entered_top_3 is recorded.
  • moved_up and moved_down are recorded independently of boundary events, so one day can produce both kinds.
  • Only keyword and engine pairs whose availability is available generate events. A null position is never treated as a move, so provider_limited or pending engines produce nothing rather than a false lost_ranking.

Errors

HTTPCodeWhen
401invalid_api_keyMissing, invalid or revoked API key.
404rank_tracking_site_not_foundNo website with that site_id in your workspace.
429rate_limitedMore than 60 requests per minute for this key.

MCP tool: list_rank_change_alerts (accepts site_id, limit, offset).