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.

GET/api/v1/search/web?q=postgres+connection+pooling&num=3
200 OK0.17s1 credit85,000 results
{  "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 comparison between Searlo and SerpAPI
CapabilitySearloSerpAPI
Price per 1,000$0.30$15.00 (Developer tier)
Position + featuresBoth in one responseBoth
Monitoring frequencyUnlimited — pay per queryPlan-limited
Free credits3,000250 / month
TOON outputYesNo

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.