Position Tracking API
Position Tracking API — watch SERP positions move
Monitor how keyword positions change over time. The position tracking API returns exact SERP ranks you snapshot on a schedule, at $0.30 per 1,000 queries across 195 markets.
{ "searchTime": 0.17, "totalResults": 85000, "page": 1, "organic": [ { "position": 1, "title": "31.10. Connection Pools and Data Sources", "link": "www.postgresql.org/docs/…", "domain": "postgresql.org", "snippet": "For an environment without an application se…" }, { "position": 2, "domain": "medium.com", … }, { "position": 3, "domain": "stackoverflow.blog", … } ], "credits": 1}Position tracking is rank tracking with a time axis. The position tracking API gives you the live position for a keyword each time you call it; persist those snapshots and you have a position history you can chart, diff, and alert on.
Searlo returns exact positions plus the organic results around them, so you can see not only that a keyword dropped from 4 to 8, but what's now outranking it. Pricing is flat per query, so dense, frequent monitoring stays affordable.
Features
Exact positions
Precise organic position for every keyword you monitor.
Time-series ready
Snapshot on any cadence to build clean position history.
Cause context
The full organic result set around your position helps explain why rankings move.
Market segmentation
Track positions separately by country and language.
Get started in one request
Each scheduled call captures the current position; store it to build the time series.
curl "https://api.searlo.tech/api/v1/search/web?q=electric%20cars&num=10" \
-H "x-api-key: YOUR_API_KEY"import requests
r = requests.get(
"https://api.searlo.tech/api/v1/search/web",
params={"q": "electric cars", "num": 10},
headers={"x-api-key": "YOUR_API_KEY"},
)
results = r.json()["organic"]
# position of your domain in the SERP
rank = next(
(o["position"] for o in results
if "yourdomain.com" in o["domain"]),
None,
)
print("rank:", rank)const res = await fetch(
"https://api.searlo.tech/api/v1/search/web?q=" +
encodeURIComponent("electric cars") + "&num=10",
{ headers: { "x-api-key": "YOUR_API_KEY" } },
);
const { organic } = await res.json();
const rank = organic.find(o =>
o.domain.includes("yourdomain.com"))?.position ?? null;
console.log("rank:", rank);Searlo vs SerpAPI
Position-tracking tools often run on SerpAPI. Searlo returns the same position data far more cheaply for high-frequency monitoring.
| Capability | Searlo | SerpAPI |
|---|---|---|
| Price per 1,000 | $0.30 | $15.00 (Developer tier) |
| Position + features | Both in one response | Both |
| Monitoring frequency | Unlimited — pay per query | Plan-limited |
| Free credits | 3,000 | 250 / month |
| TOON output | Yes | No |
Designing a position-tracking pipeline
A solid pipeline has three parts: a scheduler that triggers checks at the right cadence, the position tracking API that returns current ranks, and a store that keeps each snapshot with a timestamp and market label. From there you compute deltas, trends, and alerts.
Because there are no keyword caps, you can track high-priority terms hourly and the long tail daily, paying only for the queries each cadence requires.
- Per-keyword cadence control
- Position deltas and trend lines
- Drop/spike alerting
- Feature-attributed movement
What position tracking powers
- Ranking trend charts and dashboards
- Position-drop alerts after updates
- Daily/hourly priority-keyword monitoring
- Market-by-market position comparison
- SERP-feature impact analysis
- Client position reporting
FAQ
Frequently asked questions
What is a position tracking API?
An API that returns a keyword's current SERP position each time it is called, so you can snapshot and store positions over time to track movement.
How do I build position history?
Call the API on a schedule and persist each position with a timestamp. The accumulated snapshots form your position time series.
Can I tell why a position changed?
Often, yes. The response includes the surrounding organic results and snippets, which frequently explain ranking shifts.
How frequently can I track?
As often as you like — there are no keyword caps. You pay $0.30 per 1,000 checks regardless of cadence.
Can I track positions by market?
Yes. Country and language parameters let you keep separate position histories per market.