Google SERP and Keyword Research API - DataForSEO avatar

Google SERP and Keyword Research API - DataForSEO

Pricing

from $5.00 / 1,000 serp result returneds

Go to Apify Store
Google SERP and Keyword Research API - DataForSEO

Google SERP and Keyword Research API - DataForSEO

Google SERP API and keyword research with DataForSEO: live organic rankings, Google Ads search volume, CPC and competition, keyword ideas with difficulty and intent, keywords any domain ranks for, and backlink summaries. Export to JSON, CSV or Excel. Bring your own key.

Pricing

from $5.00 / 1,000 serp result returneds

Rating

0.0

(0)

Developer

Nabeel Hassan

Nabeel Hassan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

Pull live Google rankings, keyword search volume, keyword ideas, the keywords any domain ranks for, and backlink summaries with your own DataForSEO API login, straight into an Apify dataset.

Works with the DataForSEO v3 API (api.dataforseo.com): the SERP API, the Keywords Data API (Google Ads), DataForSEO Labs and the Backlinks API. The actor turns a list of keywords or domains into clean, deduplicated rows you can download as JSON, CSV or Excel, schedule for rank tracking, or feed into SEO dashboards, content planning, PPC research, Looker Studio, Google Sheets and AI agents. Bring your own API key.

BYOK, not live-tested: every route, field and enum comes from DataForSEO's published API reference (docs.dataforseo.com), and each route was confirmed to exist with a deliberately invalid login, but the actor has not been run against a funded DataForSEO account.

What it does

  • Google organic SERP (rank tracking): a live Google search for each keyword, by location, language, device and operating system, up to 200 results deep. Each result is a row with its position (rank group and absolute rank), domain, URL, title and snippet. Untick organic only to also keep ads, featured snippets, people also ask, local packs, AI overviews and other SERP features.
  • Google Ads search volume: monthly search volume, CPC, competition level and index, top of page bids and up to four years of monthly searches for up to 1000 keywords per call.
  • Keyword ideas (DataForSEO Labs): related keywords for up to 200 seed keywords, with search volume, CPC, competition, keyword difficulty, search intent and search volume trend, filtered by minimum volume and sorted by relevance, volume, CPC or competition.
  • Ranked keywords (DataForSEO Labs): every keyword a domain, subdomain or page ranks for in Google organic and paid results, with its position, ranking URL, estimated traffic (ETV), search volume, CPC, keyword difficulty and intent. Filter by maximum position and minimum volume; read current or lost rankings.
  • Backlinks summary: backlink rank, backlinks, referring domains, main domains, IPs and subnets, spam score, broken backlinks and pages, and link type, attribute, TLD and country breakdowns for each domain or page.
  • Cost aware: the actor stops calling DataForSEO once your maximum results is reached, paces Google Ads calls to the 12 a minute the API allows, and logs the cost DataForSEO reports for the run.
  • Pay only for results: refused and empty requests are recorded as a free row that says why, never charged.

How to get an API key

Create a DataForSEO account at app.dataforseo.com and open the API Access page (app.dataforseo.com/api-access). It shows your API login (your email) and an API password that DataForSEO generates, which is not your account password. Paste them into the API login and API password fields, or set the DATA_API_KEY environment secret to login:password (or DATA_API_KEY and DATA_API_SECRET separately). The Backlinks API needs its own subscription with a minimum monthly commitment; the other modes run on the pay-as-you-go balance. This actor never ships a shared key.

Input

FieldUsed byWhat it does
modeallserpOrganic, searchVolume, keywordIdeas, rankedKeywords or backlinksSummary
keywordsSERP, search volume, keyword ideasOne keyword per line
targetsranked keywords, backlinksDomains (example.com) or full page URLs, one per line
locationCode, locationNameall but backlinksDataForSEO location, for example 2840 for the United States (required for SERP and keyword ideas)
languageCodeall but backlinksLanguage code such as en, de or fr
device, os, depth, seDomainSERPDesktop or mobile, operating system, results per keyword (up to 200), Google domain
organicOnlySERPKeep only organic results (default) or every SERP element
searchPartners, dateFrom, dateTo, volumeSortBysearch volumeSearch partner network, monthly history range, sort order
closelyVariants, includeSerpInfo, ideaSortBykeyword ideasPhrase match, SERP data per idea, sort order
ignoreSynonyms, minSearchVolumekeyword ideas, ranked keywordsDrop close variants, minimum monthly volume
rankedItemTypes, historicalSerpMode, maxRank, rankedSortByranked keywordsResult types, current or lost rankings, best position cut-off, sort order
includeSubdomains, includeIndirectLinks, excludeInternalBacklinks, backlinksStatusType, rankScalebacklinksBacklink counting options
maxResultsallRow ceiling for the run, which also stops further API calls (default 100)
requestsPerMinuteallPacing (default 600; DataForSEO allows 2000 a minute)
apiKey, apiSecretallYour DataForSEO API login and API password, stored as secrets

Each route only receives the fields its documentation lists; an input that belongs to another mode is left off with a warning.

Example input, the top 20 US desktop results for two keywords:

{
"mode": "serpOrganic",
"keywords": ["best running shoes", "running shoes for flat feet"],
"locationCode": 2840,
"languageCode": "en",
"device": "desktop",
"depth": 20,
"maxResults": 40
}

Example input, the page-one keywords a competitor ranks for in the UK:

{
"mode": "rankedKeywords",
"targets": ["example.com"],
"locationCode": 2826,
"languageCode": "en",
"maxRank": 10,
"rankedSortBy": "keyword_data.keyword_info.search_volume,desc",
"maxResults": 200
}

Example output

A SERP row, abridged. The common columns come first; every field DataForSEO returns for the element follows unchanged.

{
"mode": "serpOrganic",
"recordType": "serpItem",
"identifier": "best running shoes",
"found": true,
"keyword": "best running shoes",
"itemType": "organic",
"rank": 1,
"rankAbsolute": 2,
"domain": "www.example.com",
"url": "https://www.example.com/best-running-shoes",
"title": "The Best Running Shoes of 2026, Tested",
"description": "We ran hundreds of miles to find the best running shoes for every runner...",
"seResultsCount": 512000000,
"checkUrl": "https://www.google.com/search?q=best%20running%20shoes&hl=en&gl=US",
"checkedAt": "2026-10-13 09:12:44 +00:00",
"locationCode": 2840,
"languageCode": "en",
"note": null,
"type": "organic",
"rank_group": 1,
"rank_absolute": 2,
"position": "left",
"breadcrumb": "https://www.example.com > reviews",
"is_featured_snippet": false
}

A keyword idea row carries keyword, searchVolume, cpc, competition, keywordDifficulty and searchIntent, followed by the full keyword_info (with monthly_searches and search_volume_trend), keyword_properties, search_intent_info and avg_backlinks_info. A ranked keyword row adds rank, url, title and etv from the ranking element, with keyword_data and ranked_serp_element kept whole. A backlinks row carries backlinkRank, backlinks, referringDomains, referringMainDomains, spamScore, brokenBacklinks and firstSeen, then every summary field.

FAQ

What is DataForSEO?

DataForSEO is an SEO data provider whose APIs power many rank trackers and keyword tools. Its v3 API offers live Google SERP data, Google Ads keyword data, the DataForSEO Labs keyword and ranking database, and a backlink index, all paid per request from a prepaid balance.

Do I need my own DataForSEO account?

Yes. The actor calls DataForSEO with your own API login and API password, and DataForSEO charges those calls to your balance. A run without credentials ends straight away with a message that says where to find them, and nothing is charged.

How do I track Google rankings for my keywords?

Use the Google organic SERP mode with your keywords, a location code and a language code, and schedule the actor daily or weekly. Each organic result is a row with its position, URL and domain, so you can filter for your own domain or compare competitors.

How do I get Google search volume for a keyword list?

Use the Google Ads search volume mode and paste up to 1000 keywords per call (the actor batches longer lists). Each keyword comes back with monthly search volume, CPC, competition and monthly history.

How do I find which keywords a competitor ranks for?

Use the ranked keywords mode with the competitor's domain. Set a maximum position of 10 for page one only, and sort by search volume to see their most valuable rankings with estimated traffic.

How much does DataForSEO charge per call?

DataForSEO bills your balance per request at the rates on its pricing pages (dataforseo.com/pricing): a SERP is billed per 10 results of depth, a Google Ads search volume call costs the same for 1 or 1000 keywords, and DataForSEO Labs calls are billed per request plus per returned item. The actor logs the exact cost DataForSEO reports for each run, and the maximum results cap stops further calls once reached.

What do I pay for this actor?

Pay per result: 0.005 USD per SERP result row, 0.01 USD per keyword row (search volume, keyword idea or ranked keyword), and 0.02 USD per backlink summary. Refused and empty requests are never charged. Your DataForSEO usage is billed separately by DataForSEO.

What happens if my login is wrong or my balance runs out?

A rejected login or password (HTTP 401), an empty balance (status 40200 or 40210), a reached daily cost limit (40203), an API not on your subscription (40204, typical for Backlinks), an unverified or paused account, or an IP whitelist ends the run cleanly with a status message that says what to change. Rate limits are waited out and retried. A keyword or target DataForSEO refuses becomes a free row with the API's own words, and the run moves on.

Pricing

EventPriceCharged for
serp-result0.005 USDEach Google SERP result row
keyword-record0.01 USDEach search volume, keyword idea or ranked keyword row
backlink-summary0.02 USDEach domain or page backlink summary

Keyword map

Google SERP API, rank tracker API, keyword research API, Google search volume API, keyword search volume, CPC and competition, Google Ads keyword planner data, keyword ideas, keyword difficulty, search intent, competitor keywords, ranked keywords, domain organic keywords, estimated traffic, backlink checker API, referring domains, domain rank, SEO API, DataForSEO API, DataForSEO Labs.

Terms and data use

Use of the DataForSEO API is governed by your DataForSEO account and its terms of service. The data-use restriction they state is on SERP data: data obtained from Google and other search engines must not be used to compete with or adversely affect the business interests of those search engines, and you indemnify DataForSEO for any such use. The Backlinks API is sold separately with a minimum commitment. Run this actor with your own login and keep within those terms. This actor is not affiliated with or endorsed by DataForSEO.