DEV Community

Joffy122
Joffy122

Posted on

How to Use Search API Data for Rank Tracking (And Stop Guessing Your Rankings)

Rank tracking doesn’t have to be a guessing game. If you’re manually checking search results or relying on tools that feel opaque, you’re leaving money on the table. The right data can tell you exactly where you stand—and where to improve.

Rook’s Search API gives you raw search results you can process however you need. No black boxes, no hidden limits. Just the data, delivered via a simple API call, with plans starting at £4.99 for a one-time 7-day pass or £9.99/month for 1,000 searches.

Disclosure: This article promotes products from Rook. Links may point to paid products.


Why Most Rank Trackers Fail You

Most rank tracking tools give you a dashboard with a number: “Position 12.” But they don’t tell you why you’re at position 12. Was it a new competitor? A Google algorithm tweak? A drop in your own content quality?

Without context, you’re optimizing in the dark.

Rook’s Search API doesn’t just give you rankings—it gives you the full search result page. That means you can:

  • See who’s ranking above you and why
  • Track changes in real time
  • Build your own rank tracking system without paying for bloated dashboards

And you can do it for a fraction of what enterprise tools charge.


Step 1: Get Your API Key (It’s Instant)

You don’t need to talk to sales or wait for approval. Go to demo.joffstrends.co.uk and run a few free searches to see the data format. When you’re ready, pick a plan:

The Annual plan saves £29.89 compared with paying month-to-month (12 × £9.99 = £119.88).

Once you buy, your key is emailed within one minute. No forms, no delays.


Step 2: Pull Raw Search Results

Here’s a minimal Python script to fetch search results for a keyword:

import requests

API_KEY = "your_api_key_here"
KEYWORD = "best running shoes"
URL = f"https://api.joffstrends.co/search?q={KEYWORD}&key={API_KEY}"

response = requests.get(URL)
data = response.json()

for idx, result in enumerate(data["organic_results"], 1):
    print(f"{idx}. {result['title']} - {result['url']}")
Enter fullscreen mode Exit fullscreen mode

This gives you the top 10 organic results—exactly what you’d see in Google. No parsing errors, no rate limits, no surprises.


Step 3: Build Your Own Rank Tracker

Now you can automate rank checks. Here’s a simple script that logs your position over time:

import json
from datetime import datetime
import requests

API_KEY = "your_api_key_here"
KEYWORDS = ["best running shoes", "how to train for a marathon"]

def track_rankings(keywords):
    results = {}
    for keyword in keywords:
        url = f"https://api.joffstrends.co/search?q={keyword}&key={API_KEY}"
        response = requests.get(url)
        data = response.json()
        for idx, result in enumerate(data["organic_results"], 1):
            if "yourdomain.com" in result["url"]:
                results[keyword] = idx
                break
    return results

# Run daily and save to a file
rankings = track_rankings(KEYWORDS)
with open("rankings.json", "a") as f:
    f.write(json.dumps({"date": str(datetime.now()), "rankings": rankings}) + "\n")
Enter fullscreen mode Exit fullscreen mode

Store this in a cron job or GitHub Actions. You now have a custom rank tracker that updates automatically—no monthly SaaS fee.


Step 4: Spot Trends and React Fast

With raw data, you can:

  • Detect algorithm updates – If your rankings drop across multiple keywords at once

Top comments (0)