A thin typed client over the DataForSEO v3 REST API using basic auth from two environment variables. It covers live organic SERPs, keyword overview (volume, difficulty, CPC, twelve-month history), SERP competitors, ranked keywords, keyword ideas, referring domains, backlinks summary, and on-page crawl post/collect. Every call returns the API's cost alongside the data.
Also called: rank data provider · SEO data source · keyword API · DataForSEO · rank tracking · keyword volume · backlinks · site audit
- 1dfsConfigured() checks for DATAFORSEO_LOGIN and DATAFORSEO_PASSWORD.
- 2Each call posts to the v3 endpoint, validates status_code 20000, then unwraps tasks[0].result.
- 3Any failure returns { ok: false, error } with the API's own status message rather than throwing.
- 4The reported cost is passed back to the caller on every call.
- 5Every consumer — the daily cron, the panel actions, the growth engine — checks dfsConfigured() first and reports 'not connected' as a normal state.
The header sets the rule for an unconfigured integration: "Until Keith provides the login, every function reports configured: false and the panel shows exactly what to paste where — nothing crashes, nothing pretends." A half-connected analytics tool that renders zeros is worse than one that says it isn't connected, because zeros get believed.
- Rank, keyword, backlink and crawl data came from separate subscriptions.
- An unconfigured integration rendered as zero data rather than as unconfigured.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →