SeoGrep
Tools Reference

backlink_changes

See how a site's backlink profile changed over time: new and lost backlinks and referring domains per bucket, plus the profile's own totals and…

Cost: 35 credits.

backlink_changes shows what happened to a site's backlink profile over time — how many backlinks and referring domains arrived and disappeared in each period, and what the profile itself looked like at each of those points. It works on any public domain, so you can run it for your own site or for a rival. It is synchronous: both series come back immediately, with no background job to poll.

What it does

Name the site in one of two ways — pass a target domain, or pass the project_id of one of your own projects and the domain is taken from it. Exactly one of the two: passing both is rejected rather than resolved by precedence, because the two can name different sites and guessing would bill you for the history of the one you did not mean. Then choose how the history is bucketed with group_range (day, week, month or year) and how far back to go with periods.

You get two series, both straight from DataForSEO:

  • New and lost — per bucket, how many backlinks and how many referring domains were gained and lost. DataForSEO's own definition applies: a link counts as new when it appeared in its index after the window opened, and lost when it was present before the window and was not found after it.
  • The profile at each bucket — per bucket, the total backlinks, the total referring domains, and DataForSEO's rank for the domain on a 0–1,000 scale.

Subdomains are included, pinned explicitly rather than left to a default that could move. A figure DataForSEO did not return is printed as n/a, never as a zero.

The two series do not add up to each other — on purpose

This is the one thing to know before reading the output. The two numbers come from two different DataForSEO measurements counted against two different definitions: one counts arrivals and departures, the other is a snapshot of the totals. They do not reconcile, and DataForSEO's own published examples show it — for the same domain and the same months, its new-and-lost figures net to +90 and +31 referring domains while its profile totals move by +62 and +44.

Neither figure is wrong; they answer different questions. So SeoGrep prints both and derives nothing from them: there is no "net change" column and no churn percentage, because building one would mean publishing a reconciliation the vendor never made. The output says so in a line of its own, so the number is never quietly read as the other one's explanation.

What a bucket is, exactly

DataForSEO rounds the window out to whole periods and labels each bucket with the last day of the period it covers — ask for months from the 23rd and you get whole months, which is why you can receive one bucket more than you asked for. The header prints the window DataForSEO says it answered for, not the one that was requested.

A bucket DataForSEO has no data for comes back as 0, not as a gap. That is the vendor's own behaviour and it means a printed zero can mean either "nothing happened" or "nothing recorded" — the two are not distinguishable in this data, and SeoGrep does not guess which one you are looking at. Only a field the vendor omits entirely is printed as n/a.

History starts at 2019-01-30, DataForSEO's own earliest date. A longer window simply begins there.

Who can run it

backlink_changes needs a paid credit balance. It reads live data from a paid third-party provider — two requests per call — so it is not available on trial credits. Buy any credit pack and it unlocks straight away; your existing credits are untouched and keep working for crawls, audits, reports and Search Console tools.

If live DataForSEO access is unavailable on this deployment, the tool returns a clear "backlink change history is not yet enabled on this deployment" message and charges you nothing — no credits are reserved or spent. SeoGrep never returns sample or placeholder figures dressed up as real data.

Example

Ask your MCP client in plain language:

How has example.com's backlink profile changed over the last year?

Or narrow the window:

Show me weekly new and lost backlinks for my project over the last 8 weeks.

Input

FieldTypeRequiredDescription
targetstringNoThe domain to read backlink history for, e.g. "example.com" or "https://example.com" — any public domain, including a competitor's. Pass this OR project_id, not both.
project_idstring (uuid)NoOne of your projects (from setup_project / list_projects) — the domain is taken from it. Pass this OR target, not both.
group_rangestringNoHow the history is bucketed: day, week, month or year (default month). DataForSEO rounds the window out to whole weeks/months/years, so you may get one bucket more than you asked for.
periodsintegerNoHow many group_range periods back from today to cover (1-365, default 12). DataForSEO holds no backlink history before 2019-01-30, so a longer window simply starts there.

Returns

A header naming the site — or, when you passed a project_id, the project it came from — the grouping, and the window DataForSEO answered for; then the new-and-lost series, then the profile series, then the line explaining why the two are not each other's arithmetic. Each series states its own bucket count, because the two are answered separately and can come back with different numbers of buckets — one figure covering both would be a claim about one series taken from the other. A domain DataForSEO holds no history for is reported plainly as no history found, and you are still charged for the delivered lookup.

A target that is not a public domain, a call naming neither target nor project_id (or both), a periods value outside the allowed range, and a project_id that is not yours are all rejected before anything is charged; while live data is off you get the "not yet enabled" message instead — also free.

Billing

One call is one flat price, charged once. Behind it are two DataForSEO requests — the new-and-lost series and the profile series — and if either one fails the whole call fails and you are not charged. A half-built history is never billed.

The periods ceiling is part of the price rather than a stylistic limit: DataForSEO bills per returned row, and the window is what decides how many rows come back.

Limitations

Results are not stored. Each call returns its two series to the conversation and nothing else keeps them, so there is no backlink-history page in the dashboard and no "compared with last month" — run it again for a fresh read. The lookup-history table that backs the other domain tools is bound to those tools by design and does not accept this one.

Two fields DataForSEO returns are deliberately not printed: the new and lost counts for referring main domains. They are a second, different definition of "domain", and showing them beside the referring-domain counts would invite you to read the difference as a signal the vendor never described.

On this page