serp_rank
Check organic Google rankings for any domain and keyword. Get the exact position, ranking URL, and every result placement in one request.
Instructions
Use this to check where a domain ranks in Google's ORGANIC results for a keyword - real SERP position, not Custom Search order. Returns the target's organic rank, the ranking URL, and every position it holds. Not for general search (search_web). Requires DataForSEO credentials and returns configured:false without them - do not retry in that case. Cost: 5 credits (0 when unconfigured). Example: serp_rank({keyword: "managed wordpress hosting", target: "dashboardhosting.com", location_name: "United States"})
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | How many results to scan, 10-200 (default 20; DataForSEO bills ~$0.002 per 10 and gets slower the deeper it goes) | |
| device | No | Device to emulate | |
| target | Yes | Domain or URL to locate in the results (e.g. 'example.com') | |
| keyword | Yes | The search query to check ranking for | |
| language_code | No | Language code (e.g. 'en') | |
| location_code | No | Numeric DataForSEO location code (overrides location_name) | |
| location_name | No | Location, e.g. 'United States' or 'London,England,United Kingdom' |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL of the target's best-ranking result | |
| cost | No | USD charged by DataForSEO for this lookup (separate from CrawlForge credits) | |
| note | No | Present when configured=false, explains how to enable | |
| _cost | No | Cost-transparency metadata (D3.5), present when injected into the text copy of the result | |
| found | No | Whether the target appeared anywhere in the scanned SERP | |
| title | No | ||
| device | No | ||
| target | No | Bare target domain, normalized | |
| keyword | No | ||
| results | No | Top organic competitors as Google actually ranks them (capped) | |
| checkUrl | No | Link to view the real SERP on DataForSEO | |
| location | No | ||
| position | No | Best (lowest) organic rank; null = not within top `depth` | |
| checkedAt | No | ||
| configured | No | False when DATAFORSEO_LOGIN/PASSWORD are unset — no rank was fabricated | |
| allPositions | No | Every position the target holds on this SERP | |
| depthScanned | No | ||
| rankAbsolute | No | ||
| organicResults | No | ||
| seResultsCount | No |