In the world of SEO, data is power. But tools like Ahrefs, Semrush, and SE Ranking have put a steep price on that power.
The standard industry pricing is roughly $129/month to track just 500-750 keywords. If you are an agency managing multiple clients or a startup tracking thousands of programmatic SEO pages, the costs skyrocket to enterprise tiers ($999+).
Here is the secret they don’t want you to know: Rank tracking is just a loop of Google searches.
By building your own tool using SearchCans SERP API, you can track 1,000 keywords for as low as $0.56. That is not a typo. You are paying a 200x markup for a nice UI.
Today, we will build a professional-grade Rank Tracker in Python that you own 100%.
The Economics: SaaS vs. DIY
Let’s look at the math for tracking 1,000 keywords daily (30k checks/month).
| Solution | Monthly Cost | Data Ownership | Rate Limits |
|---|---|---|---|
| Ahrefs (Standard) | ~$199 | No | Strict |
| Semrush (Guru) | ~$249 | No | Strict |
| SearchCans (Standard) | ~$18 | Yes | None |
| SearchCans (Ultra) | ~$16 | Yes | None |
Note: With the Ultra plan, the cost per 1k searches drops to $0.56. Tracking 1,000 keywords daily would consume ~30k credits, costing roughly $16/month.
Building the Engine (Python)
We need a script that takes a list of keywords and a target domain, checks Google, and records the position.
Prerequisites
You need Python installed and your SearchCans API Key.
pip install requests pandas
The Script
This script doesn’t just check page 1; it scans the top 100 results to find your true position.
import requests
import pandas as pd
import time
from datetime import datetime
# Configuration
API_KEY = "YOUR_SEARCHCANS_KEY"
TARGET_DOMAIN = "yourwebsite.com"
KEYWORDS = [
"best seo api",
"web scraping tools python",
"google maps scraper",
"rank tracking api"
]
def check_rank(keyword, domain):
url = "https://www.searchcans.com/api/search"
params = {
"query": keyword,
"engine": "google",
"num": 100, # Scan top 100 results
"gl": "us", # Geo-location: United States
"hl": "en" # Language: English
}
headers = {"Authorization": f"Bearer {API_KEY}"}
try:
resp = requests.get(url, params=params, headers=headers)
data = resp.json()
# Extract organic results
results = data.get("result", {}).get("data", [])
for index, item in enumerate(results, 1):
# Check if our domain is in the URL
if domain in item.get("url", ""):
return index, item.get("url")
return 0, "Not in Top 100" # 0 means unranked
except Exception as e:
print(f"Error checking {keyword}: {e}")
return -1, "Error"
def run_tracker():
print(f"🚀 Starting Rank Tracker for: {TARGET_DOMAIN}")
report = []
for kw in KEYWORDS:
print(f"Checking: {kw}...")
rank, found_url = check_rank(kw, TARGET_DOMAIN)
report.append({
"Date": datetime.now().strftime("%Y-%m-%d"),
"Keyword": kw,
"Rank": rank,
"URL": found_url
})
# Be nice to the API (though we have no rate limits!)
time.sleep(0.5)
# Save to CSV
df = pd.DataFrame(report)
filename = f"ranking_report_{datetime.now().strftime('%Y%m%d')}.csv"
df.to_csv(filename, index=False)
print(f"�?Report saved to {filename}")
print(df)
if __name__ == "__main__":
run_tracker()
Advanced Features: Beyond Basic Tracking
The script above is just the beginning. Since you have raw access to the SERP data, you can build features that even expensive tools struggle with.
1. Local SEO Tracking
If you run a local business (e.g., “Plumber in New York”), national rankings are useless. You need to know how you rank in a specific city.
SearchCans allows you to pass a specific location parameter.
params = {
"query": "emergency plumber",
"location": "Manhattan, New York, United States"
}
2. SERP Feature Analysis
Are you ranking #1 but getting no traffic because an “AI Overview” or “Featured Snippet” is pushing you down?
The JSON response from SearchCans includes detailed SERP features. You can modify the script to detect if your competitors possess these high-value spots and adjust your content strategy accordingly.
3. Competitor Spying
Don’t just track yourself. Add your top 5 competitors to the TARGET_DOMAIN check. You can generate a daily matrix showing who is moving up and who is falling, allowing you to react to algorithm updates faster than anyone else.
Conclusion
SaaS tools rent you insights; building your own tool gives you ownership.
With SearchCans, you get the same raw data that the big SEO tools use, but at wholesale prices. Whether you are building a simple internal dashboard or launching your own SEO SaaS, the data infrastructure starts here.
Stop paying the “Ahrefs Tax.” Start building.
Resources
Related Topics:
- Google Maps Reviews & Business Data Scraping - Use similar techniques for sales.
- Building Real-Time Market Intelligence Dashboard - Extract insights from rankings.
Get Started:
- Free Trial - Get 100 free credits
- API Documentation - See full parameter list
- Pricing - Calculate your savings
SearchCans provides real-time data for AI agents. Start building now →