SEO Keyword & Search-Demand Intel avatar

SEO Keyword & Search-Demand Intel

Pricing

from $3.00 / 1,000 keyword records

Go to Apify Store
SEO Keyword & Search-Demand Intel

SEO Keyword & Search-Demand Intel

Bundles Google autosuggest expansion, logged-out SERP features, People-Also-Ask, related searches, and Trends seasonality into one normalized keyword record with intent, an estimated volume + difficulty model, and topic clusters. The layer Keyword Planner gates and Ahrefs/SEMrush charge for.

Pricing

from $3.00 / 1,000 keyword records

Rating

0.0

(0)

Developer

Seibs.co

Seibs.co

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Share

TL;DR for SEO freelancers, agencies, content and growth teams, and AI research agents: Bundles the public Google surfaces that gate exact search volume - autosuggest (the long-tail expansion + demand-rank engine), the logged-out SERP (features, top results, "People also ask", related searches, difficulty), and Trends (seasonality) - into one normalized keyword record. On top of the raw signals it ships the value layer the gated tools charge for: a transparent, versioned volume + difficulty estimation model, search-intent classification, and topic clustering. Google Keyword Planner hides exact volume behind active ad spend, and Ahrefs ($29-$1,499/mo) / SEMrush ($139-$499/mo) sell the clean numbers - this delivers an honest estimate plus live SERP enrichment, per keyword, pay-per-use. Logged-out public data, rate-limited, no PII. Free Apify plan covers exploration runs on your $5 platform credit.

Run it in 30 seconds

# Via the Apify Python SDK
from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("seibs.co/keyword-demand-intel").call(run_input={
"mode": "keyword_expansion",
"seeds": ["crm software", "project management tool"]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Or via curl:

curl -X POST "https://api.apify.com/v2/acts/seibs.co~keyword-demand-intel/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"mode": "keyword_expansion", "seeds": ["crm software"]}'

Or click "Try for free" on this page if you prefer the no-code UI.

What you get

Each run produces:

  • A clean dataset, filterable in the Apify console and downloadable as CSV or JSON
  • An OUTPUT.html dashboard preview of your top keywords
  • A keywords.csv + per-keyword content worksheet artifact
  • A sample-output preview at ./.actor/sample-output.json
  • An access_notes record up top documenting the sources, the estimation model, and the legal-safety posture

What does Keyword & Search-Demand Intel do?

It assembles search-demand intelligence from the free Google surfaces and normalizes everything into one keyword schema: term, intent (informational / commercial / transactional / navigational / local), monthly_searches_estimate + volume_band, difficulty_score + difficulty_band, expansion_source, serp_features, people_also_ask, related_searches, and seasonality. Then it runs the value layer:

  • Long-tail expansion - fans each seed across Google autosuggest (the bare seed, intent modifiers like best / vs / price / near me, and the a-z "alphabet soup") into the real queries people type, deduped and ranked.
  • Volume + difficulty estimation model (estimation.py, versioned kdi-demand-v1) - a transparent, deterministic model that turns the signals we can collect (autosuggest rank + ubiquity, query shape, live SERP competition) into a banded volume estimate with an explicit confidence and a 0-100 difficulty score. The honesty is the product: these are clearly-labeled estimates, not Google's gated Keyword Planner figures or any third-party clickstream.
  • Live SERP enrichment - for the terms you choose, parses the logged-out SERP for top results, SERP features (featured snippet, PAA, knowledge panel, image/video/shopping/local packs, ads), and the related/PAA expansion, then scores difficulty from who actually ranks.
  • Topic clustering - collapses a 400-row long-tail expansion into the handful of distinct topics a content team plans around, with summed volume and the easiest member's difficulty.

Modes

ModeWhat it returnsCharges
keyword_expansion (default)Seed -> long-tail universe via autosuggest, with intent + estimated volume + proxy difficulty per keyword, plus topic clusters. No SERP fetch (fast + cheap).keyword_record + volume_estimate per keyword
serp_analysisPer seed term, the logged-out SERP: features, top results, PAA, related searches, and SERP-backed difficulty - plus the PAA/related mined into bonus keyword records.serp_snapshot + keyword_record + volume_estimate per term
keyword_metricsThe flagship bundle: expansion + volume + difficulty + live SERP features (top N terms) + optional seasonality per keyword, then topic clusters.per-keyword + serp_snapshot per SERP-enriched term
trend_signalPer seed, the Google Trends seasonality signal (trend direction, peak/trough month, spikiness). Best-effort, fails soft.keyword_record + volume_estimate per seed

The estimation model (read this - it's the point)

Exact volume is gated; we do not pretend to reproduce Google's or Ahrefs' proprietary numbers. Instead estimation.py is a published, versioned, deterministic model you can audit:

  • Volume composes a log-scale demand score from autosuggest rank (rank 0 = the top completion Google offers for a prefix), ubiquity (how many prefixes surface the term), query word count (head vs. long-tail), and SERP corroboration (PAA/related presence, result count), then maps it to a band (very_low -> very_high) with a confidence that rises with the number of signals.
  • Difficulty scores 0-100 from the live SERP - the share of high-authority domains in the top 10, ad competition, and featured-snippet pressure - or, without a SERP, a transparent proxy from intent + query shape (marked proxy: true).

Every estimate carries model_version and signals_used so you can pin, diff, or override it. If you need Google's exact gated number, this is not that; if you need a defensible, free, queryable demand-and-difficulty signal at scale, this is.

Anti-bot escalation (for the SERP leg)

Autosuggest is a lightweight public JSON endpoint that almost always clears on the first httpx pass. The SERP is the surface Google fingerprints: a datacenter IP often gets a consent / "unusual traffic" interstitial. The client escalates automatically:

httpx (datacenter) -> curl_cffi Chrome TLS impersonation (residential) -> Playwright stealth browser (residential) -> fail-soft

If every tier is blocked, the term emits a documented fetch_error and the run still finishes SUCCEEDED with whatever it collected. Set browser_cdp_url (or the BROWSER_CDP_URL env var) to a warm anti-detect browser to clear the toughest interstitials. The expansion (autosuggest) leg keeps working regardless, so a run is never empty.

Per the gated-data playbook (Section B): logged-out public Google surfaces only (autosuggest, the public SERP, public Trends), rate-limited, no accounts, no user-supplied cookies, no paywalls. Keyword and SERP data carry no personal data - PII-minimized by construction. Volume and difficulty are presented as clearly-labeled model estimates, never as Google's gated figures.

Cost control

Five-layer defense shared across the portfolio: pre-flight input caps, a top-level try/except that routes any failure to demo mode (so the run finishes SUCCEEDED with no "Under maintenance" scar), an in-run _RunBudget guard that aborts cleanly if compute outruns pay-per-event revenue, in-loop budget checks before each expensive SERP fetch, and hardcoded PPE prices that keep the guard accurate without an API round-trip. A run that returns nothing costs nothing.

Monitor mode

Save this actor as an Apify task and put it on a schedule to track a keyword set over time. On scheduled runs it emits a change digest (rank movement, difficulty shifts, new/lost SERP features) and can POST it to a Slack-compatible monitor_webhook_url. Charges one scheduled_delta_run per scheduled run.

Pricing (pay-per-event)

EventPriceWhat it is
keyword_record$0.003One normalized keyword (term, intent, word count, expansion source, proxy difficulty)
volume_estimate$0.006The demand-model output for a term (banded volume + confidence) - the layer Keyword Planner gates
serp_snapshot$0.008Top results + SERP features + PAA + related + SERP-backed difficulty for a term
scheduled_delta_run$0.050One scheduled monitor-mode change digest

For comparison: Ahrefs is $29-$1,499/mo and SEMrush $139-$499/mo, both subscription-gated.

AI agents / MCP

There's a paired MCP server (mcp-keyword-demand-intel) exposing expand_keywords, keyword_metrics, analyze_serp, keyword_difficulty, and trend_signal as agent tools, with x402 (USDC on Base) and Skyfire agentic-payment support. The overview dataset view and the MCP-compatible output link are built for direct tool-call wiring (Claude, GPT, LangChain, LlamaIndex).

Part of the seibs.co intel portfolio. Pairs well with shopify-store-discovery (find a store, then size its keyword demand) and b2b-sales-triggers (keyword -> intent -> account). See the full portfolio for the public-records and lead-gen actors.