DEV Community

Vhub Systems
Vhub Systems

Posted on

Google SERP Monitoring Without SerpAPI: A $3/Month Alternative Using Apify

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:

  1. Current position for your target keywords
  2. Which URL is ranking (yours or a competitor's)
  3. SERP features (featured snippet, People Also Ask, local pack)
  4. 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
Enter fullscreen mode Exit fullscreen mode

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
}
Enter fullscreen mode Exit fullscreen mode

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"
}
Enter fullscreen mode Exit fullscreen mode

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")
Enter fullscreen mode Exit fullscreen mode

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:

  1. In your Sheets file: Tools → App Script
  2. Create a daily trigger that checks if any row in column F (change_from_yesterday) shows a delta > 3 or < -3
  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:

  1. Define 5–10 keywords you want to rank for but don't
  2. Run the SERP actor on those keywords
  3. Pull positions 1–5 for each keyword
  4. 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:

  1. Create Apify account (free tier works for testing)
  2. Find and configure a SERP actor
  3. Run a test with 5 keywords
  4. Set up Google Sheets export
  5. Create daily schedule
  6. 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)