SerpAPI costs $50/month for 5,000 searches. Semrush starts at $130/month. For a developer who needs daily rank tracking for 50 keywords across 3 competitors, neither option makes sense.
Here's a setup that costs $2–5/month.
What You Actually Need for Rank Tracking
Most rank tracking use cases need:
- Current position for your target keywords
- Which URL is ranking (yours or a competitor's)
- SERP features (featured snippet, People Also Ask, local pack)
- Historical position data for trend analysis
You don't need real-time tracking for most use cases. Daily or twice-daily is sufficient. And daily tracking at 50 keywords is approximately 1,500 queries/month — a volume where per-query pricing is materially cheaper than monthly subscriptions.
The Architecture
Apify scheduler (daily)
→ Google SERP Actor
→ Dataset output (position, URL, SERP features)
→ Google Sheets (via Apify integration)
→ Email alert if ranking changes by >3 positions
No server. No database. Everything runs on Apify's infrastructure.
Step 1: Configure the SERP Actor
On Apify, find a Google SERP scraper. Most take keyword lists as input and return structured results.
Input configuration:
{
"keywords": [
"apify vs scrapy",
"web scraping python tutorial",
"how to scrape google results"
],
"country": "US",
"language": "en",
"maxResultsPerQuery": 10,
"includeFeatures": true
}
Output per keyword:
{
"keyword": "apify vs scrapy",
"position": 4,
"url": "https://yourdomain.com/apify-vs-scrapy",
"title": "Apify vs. Scrapy: Which Web Scraping Tool...",
"type": "organic",
"featuredSnippet": false,
"peopleAlsoAsk": ["What is Apify used for?", "Is Scrapy still relevant?"],
"timestamp": "2026-04-03T08:00:00Z"
}
Step 2: Set Up Daily Scheduling
Apify's built-in scheduler runs actors on a cron schedule without any external infrastructure.
Recommended schedule for rank tracking: once daily at 08:00 UTC (catches Google's morning index refresh for US queries).
For higher-volatility keywords (product pages, news-adjacent topics): twice daily.
Step 3: Export to Google Sheets
Apify has a native Google Sheets integration. After each actor run, results automatically append to a designated spreadsheet.
Sheet columns: timestamp | keyword | position | url | title | featured_snippet | change_from_yesterday
The change_from_yesterday column is a formula:
=IF(A2=A1, B2-B1, "first run")
This gives you a running position change log without any backend code.
Step 4: Set Up Position Change Alerts
Google Sheets can send email alerts on condition:
- In your Sheets file: Tools → App Script
- Create a daily trigger that checks if any row in column F (
change_from_yesterday) shows a delta > 3 or < -3 - If true, send an email with the keyword and position change
This is free and requires no additional services.
The Cost Math
At PAY_PER_EVENT pricing:
- 50 keywords × 10 results × $0.002/result = $1/day
- 30 days = $30/month at daily tracking for 50 keywords
That's more than I implied in the headline — but compare that to:
- SerpAPI: $50/month for 5,000 searches ($0.01/query)
- Semrush Position Tracking: $130/month for 10 keywords
For tracking 50 keywords daily, this Apify approach is 40–60% cheaper than SerpAPI and saves $125/month vs. Semrush.
If you're tracking 10 keywords daily:
- 10 keywords × 10 results × $0.002 = $0.20/day = $6/month
At 10 keywords, cost is $6/month vs. $50/month for SerpAPI. That's the $3/month scenario (5 keywords + occasional tests).
Competitor Keyword Gap Analysis (Bonus Use Case)
The same actor setup works for competitive analysis:
- Define 5–10 keywords you want to rank for but don't
- Run the SERP actor on those keywords
- Pull positions 1–5 for each keyword
- Identify which competitor domains appear most frequently
You now have a data-driven competitor gap map without buying a dedicated SEO platform.
Run this analysis monthly (not daily) — total cost: $1–3/month for a full competitive keyword landscape.
What This Doesn't Do
Real-time tracking: For keywords that move hourly (news, breaking topics, product launches), this isn't sufficient. Use SerpAPI or Semrush for those.
Volume tracking at scale: At 500+ keywords daily, the per-query cost catches up to SerpAPI's volume pricing. Calculate your specific break-even.
Rank tracking with localization: Google results vary by location. This setup runs from Apify's US datacenter by default. If you need city-level localization, that requires proxy configuration and costs more.
Automatic rank reporting: No built-in dashboards. You're building on Google Sheets, not a dedicated rank tracker UI. If you need charts and reports for clients, SerpAPI or Semrush makes more sense.
Putting It Together
The setup takes about an hour:
- Create Apify account (free tier works for testing)
- Find and configure a SERP actor
- Run a test with 5 keywords
- Set up Google Sheets export
- Create daily schedule
- Add email alert script in App Script
After that, you have daily rank tracking that costs $6–30/month depending on keyword volume — without a SerpAPI subscription.
Pre-Built SERP Monitoring Actor
If you want to skip configuration, the SERP actor I use for production monitoring is one of 35 actors in a bundle. It's pre-configured for daily rank tracking and competitive analysis.
Apify Scrapers Bundle — $29 — includes SERP actor + contact info scraper + 33 more. One-time price, instant download.
Includes a PDF guide with the Google Sheets rank tracking template and App Script alert code.
n8n AI Automation Pack ($39) — 5 production-ready workflows
Related Tools
Pre-built solutions for this use case:
Top comments (0)