API catalog / Google API / Check a domain's rank
Google Rank Checker API
Where a domain ranks in live Google results — best position, every appearance, and how many results were scanned.
https://api.endpointry.com/v1/google/rankReports where a domain ranks for a query, scanning the whole measured result set — typically 100–250 results. Returns the best position, every appearance of the domain with its exact page, and `results_scanned` so a `null` position always names the set it was measured against. Shares its snapshot with `/web-search`, so a check right after a search costs nothing extra. Results reflect a globally neutral locale; country and language targeting are not yet available.
| query* | string |
| domain* | string |
| mode* | "exact" | "subdomains" |
| position* | integer | nullBest position the domain holds — the first entry of `matches`, surfaced as the headline answer. `null` means the domain is not in the measured result set. |
| matches* | array<object>Every appearance of the domain, in rank order. |
| position* | integerAbsolute rank across the whole result set, starting at 1. |
| url* | string · uri |
| title* | string |
| results_scanned* | integerHow many results the verdict is based on — the full measured result set for the query, typically 100–250. A null position means "not in these", never more. |
Platform fields, identical on every endpoint — what they mean.
curl "https://api.endpointry.com/v1/google/rank?query=best+crm+software&domain=pipedrive.com" \
-H "Authorization: Bearer sk_live_..."{
"meta": {
"request_id": "req_7729f93d3facf68ff83e5c50",
"as_of": "2026-07-31T12:00:00.000Z",
"cache": "MISS"
},
"data": {
"query": "best crm software",
"domain": "pipedrive.com",
"mode": "subdomains",
"position": 2,
"matches": [
{
"position": 2,
"url": "https://www.pipedrive.com/en/crm/compare/crm-tool",
"title": "Compare CRM Tools"
},
{
"position": 41,
"url": "https://www.pipedrive.com/en/blog/crm-comparison",
"title": "CRM Comparison: Top Tools Reviewed"
}
],
"results_scanned": 187
}
}What teams build with it
- Rank tracking dashboards fed by live SERPs, not a stale index
- Multiple-appearance analysis: how much of a SERP a domain occupies
- Post-publish monitoring — did the new page enter the rankings?
- Agency reporting with the exact ranking URL as proof
Frequently asked questions
How deep does the check go?
The whole measured result set — typically 100–250 results per query. results_scanned reports the exact count, so position: null always means "not in these N results", never a guess.
Are subdomains counted?
By default, yes: mode=subdomains counts the domain and everything under it. Pass mode=exact to count only the domain itself; www always counts as the domain.
How is this different from the Ahrefs keyword-rank endpoint?
This one reads a live Google result set at request time and reports every appearance of the domain. Ahrefs keyword-rank reads the Ahrefs SEO index — country-targeted and enriched with authority metrics, but refreshed on the source’s own schedule. Many teams use both.
Can I target a specific country?
Not yet. Results reflect a globally neutral locale; country and language targeting are on the roadmap.
More from the Google API
Try it with a free trial
One subscription covers the whole catalog — this endpoint included.