Skip to content
SEODataForSEO5 credits

serp_rank

Check where a domain ranks in Google's organic results for a keyword — the real SERP position, not Custom Search order. Returns the target's organic rank, the ranking URL, and every position it holds. Powered by DataForSEO.

Use Cases

Keyword Rank Tracking

Monitor where your pages rank for target keywords over time and catch ranking drops early

Competitor SERP Monitoring

Track how competitor domains rank for the keywords that matter to your business

SEO Position Audits

Audit organic positions across a keyword list to prioritize on-page and content work

Local & Device SEO Checks

Compare rankings by location and by desktop vs. mobile to spot geo or device gaps

Rank-Tracking Dashboards

Feed daily organic positions into your own dashboards and reporting pipelines

Endpoint

POST/api/v1/tools/serp_rank
Auth Required
1 req/s on Free plan
5 credits

Parameters

NameTypeRequiredDefaultDescription
keyword
stringRequired-
The search query to check ranking for
Example: managed wordpress hosting
target
stringRequired-
Domain or URL to locate in the results. Matched by host, not exact URL: a URL is reduced to its host, and any page on that host or its subdomains counts
Example: example.com
depth
numberOptional30
How many results to scan (10-200, default 30); deeper scans take longer. Credits stay at 5 at any depth
Example: 100
device
stringOptionaldesktop
Device to emulate: "desktop" or "mobile"
Example: mobile
location_name
stringOptionalUnited States
Location, e.g. 'United States' or 'London,England,United Kingdom'
Example: United States
location_code
numberOptional-
Numeric DataForSEO location code (overrides location_name)
Example: 2840
language_code
stringOptionalen
Language code (e.g. 'en')
Example: en

Request Examples

terminalBash
curl -X POST https://crawlforge.dev/api/v1/tools/serp_rank \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "keyword": "managed wordpress hosting",
    "target": "example.com",
    "depth": 100,
    "device": "desktop",
    "location_name": "United States",
    "language_code": "en"
  }'

Response Example

200 OK6,200ms
{
"success": true,
"data": {
"keyword": "managed wordpress hosting",
"target": "example.com",
"location": "United States",
"language": "en",
"device": "desktop",
"depth": 30,
"found": true,
"rank": 3,
"url": "https://example.com/",
"all_positions": [
3,
27
],
"results_scanned": 30,
"se_results_count": 1370000,
"check_url": "https://www.google.com/search?q=managed+wordpress+hosting&num=30&hl=en&gl=US",
"checked_at": "2026-07-01T14:30:00Z"
},
"credits_used": 5,
"credits_remaining": 995,
"processing_time": 6200
}
Field Descriptions
data.rankBest organic position (null if the target is not found within depth)
data.urlThe ranking URL that holds the best position
data.all_positionsEvery organic position the target holds within the scanned depth
data.foundWhether the target appeared within the scanned depth
data.se_results_countGoogle's own result count for the query. Two lookups with very different counts came from different result sets
data.check_urlThe Google results page DataForSEO checked, to view the SERP yourself
credits_usedFixed 5 credits per lookup, at any depth
processing_timeLookups typically take 5-15 seconds

Error Handling

Missing Keyword or Target (400 Bad Request)

Both keyword and target are required. Provide a search query and a domain or URL.

Invalid Depth (400 Bad Request)

Depth must be between 10 and 200. Larger depths scan more results.

Invalid Device (400 Bad Request)

Device must be "desktop" or "mobile".

Quota Exceeded (429 Too Many Requests)

The SERP provider enforces daily limits. Upgrade your plan for higher quotas.

Provider Timeout (504 Gateway Timeout)

The SERP lookup runs a live Google query, which can exceed the time limit under load. No credits are charged — retry the request.

Lookup Unavailable (502 / 503)

The SERP provider is unreachable, rate limited, or not configured on this deployment. No credits are charged.

Credit Cost

5 credits
5 credits per lookup
Fixed cost for scanning up to 100 results. Credits are charged only for successful lookups.

What's Included:

Real organic SERP position (not Custom Search order)

Ranking URL and every position the target holds

Location and language targeting

Desktop and mobile device emulation

Depth up to 200 results

Plan Recommendations:

Free Plan: 1,000 one-time trial credits = 200 lookups

Hobby Plan: 5,000 credits = 1,000 lookups ($19/mo)

Professional Plan: 100,000 credits = 20,000 lookups ($99/mo)

Related Tools