Skip to content
GrowthVector.io

DataForSEO API: Setup, Pricing and Cost per Task

How much does a DataForSEO API job cost?

Updated

The DataForSEO API bills by task, by item and by row, so one Standard SERP costs $0.0006 and one million Labs items sent as 1,000 tasks of 1,000 items cost $132.

The unit prices come first, then three jobs with the arithmetic shown, so you can redo each sum with your own volumes. For the OpenSEO setup that runs on this key, read the Semrush alternative guide.

We may earn a commission from some links on this page.

Related guides: digital marketing tools directory.

$0.0006

per SERP of 10 results, Standard queue

$0.002

per SERP on Live, up to 6 seconds

$50

minimum top-up, and the balance never expires

12 a minute

Live Google Ads request cap

The short version

  • You prepay a balance with a $50 minimum top-up. Each request draws from it, and the balance never expires.
  • Use the Standard queue for scheduled work. It costs $0.0006 per SERP, and Live costs $0.002.
  • Depth multiplies the bill. Top 100 costs ten times top 10 in the same check.
  • A bulk Backlinks call checks 50 domains for about $0.03 in one task, if each domain bills one row. Fifty single calls cost about $1.20.
  • Test first with the $1 trial credit and the free Sandbox. Set a daily cost limit before any large run.

Set up the account

From signup to the first call

Five steps, and one 24-hour window for the password.

Credentials sit in the API Access tab of the dashboard. DataForSEO generates the API password for you, and it differs from your account password. The authentication docs set the rules for every call.

  1. 1Create a free account at DataForSEO.
  2. 2Verify your email, your phone or both. New accounts cannot call the API until verification is done (error 40104).
  3. 3Open the API Access tab at app.dataforseo.com/api-access and note the API login and password.
  4. 4Encode login:password in Base64, or copy the ready-made string.
  5. 5Send a first request to the Sandbox, then switch to production.
echo -n 'YOUR_LOGIN:YOUR_API_PASSWORD' | base64

The -n flag matters. It stops the trailing newline from entering the encoded string, which would break the credentials.

curl -X POST "https://sandbox.dataforseo.com/v3/serp/google/organic/task_post" \
  -H "Authorization: Basic YOUR_BASE64_STRING" \
  -H "Content-Type: application/json" \
  -d '[{"keyword": "dataforseo api", "location_name": "United States", "language_name": "English", "depth": 10}]'

A good response carries a status code from 20000 to 29999, both for the request and for each task. Check that range before you parse anything else.

  • Base64 is encoding, not encryption. Anyone with the string can decode it, so store it like a password.
  • Send the credentials in the header only. Query parameters do not work, and no separate login call is needed.
  • The API password and the ready-made string show for 24 hours after registration. After that, click Send by e-mail to get them again.
  • Automation tools such as Make and n8n ask for the email and the API password, then build the header for you.
  • Request bodies are UTF-8 JSON. Responses are JSON by default, and adding .xml to the path returns XML.
  • Official clients exist for TypeScript, Python, Java, PHP and C#.

Test for free: the $1 trial credit and the Sandbox

What each one proves, and what it does not.

New accounts get a $1 trial credit. DataForSEO says it covers around 500 live Google SERPs, because one SERP costs $0.002 and $1 divided by $0.002 is 500. The trial pays for real calls, so its responses carry real data.

The Sandbox is free and charges nothing. It returns dummy data in the same field structure as production, so use it to wire your code, not to judge data quality.

TestWhat it provesCost
SandboxRequest shape and response fields, with dummy dataFree
Trial creditReal paid responses, around 500 live Google SERPs$1 of trial credit
PlaygroundRequests from the dashboard, or through MCP and the n8n, Postman and Google Sheets templatesUses the trial credit
  • To use the Sandbox, change api.dataforseo.com to sandbox.dataforseo.com. The paths stay the same.
  • The Sandbox has the production rate limits: 10,000 calls a minute, and up to 100 tasks per POST. Live calls carry one task each.
  • Do not open several trial accounts. DataForSEO treats that as unusual activity and can pause the account (error 40201).
  • The trial is $1. The $50 figure is the minimum top-up, and it is real money.

How billing works

Deposits, balance and refunds

Pay as you go, with no subscription and no monthly fee.

You add a balance with a $50 minimum top-up. Each request draws from that balance. The balance never expires, and the top-up is not a subscription fee.

  • Set daily spending limits for the whole account, or for one API or endpoint. Auto top-up is optional.
  • Pay by card, PayPal or Amazon Pay. Bank wire and ACH are available for payments of $5,000 or more.
  • DataForSEO refunds first-time purchases of API credits within 30 days, with no questions asked. Database purchases are excluded.
  • Identical tasks count as a user-side error, and DataForSEO does not refund them.
  • The price depends on the API, the endpoint, the mode and the request parameters.
  • Units vary by endpoint: tasks, results, rows or pages.
  • Queued tasks are billed when they are set. Fetching a finished result is free.
  • For high volume or several APIs, ask sales for a custom estimate.
  • Some countries and territories are barred, including Russia, Iran and North Korea. Read the terms of service before you sign up.

Standard vs Priority vs Live: queue prices and turnaround

Faster costs more. You choose the mode for each task.

These are DataForSEO list prices in October 2026. For the Google Organic SERP API, the DataForSEO pricing pages list three modes:

ModePrice per SERPTurnaroundHow you call it
Standard queue$0.0006About 5 minutes on average, with a 45-minute targetPOST a task, then GET the result
Priority queue$0.0012Up to 1 minute on averagePOST a task, then GET the result
Live$0.002Up to 6 seconds on averageOne POST, and the result comes back in the response

Priority costs 60% of the Live price. Live costs 3.33 times Standard at the same depth ($0.002 divided by $0.0006). Location, language and device do not change the price, and you can mix modes across tasks.

  • Use Standard for scheduled work. A weekly rank check can wait for the queue.
  • Use Live only when a person waits on the result, such as an on-screen check.
  • Priority is set per task with the priority field. The price is in the table above.
  • Google Ads keyword data has Standard, at $0.06 per task in 1 to 3 hours, and Live, at $0.09 per task in about 7 seconds. It has no Priority option.
  • Labs and Backlinks run on Live only. On-Page Site Crawl is a crawl job, while Instant Pages and Content Parsing are single Live calls.
  • The help center says it plainly: the faster you want the results, the higher the price.

Cost per task by API

Official unit prices by API

One row per billing unit. Prices are in USD.

Read each row as the price for one billing unit. Some APIs add a second charge per item, keyword, domain or row. Labs uses one rate for most endpoints, and its exceptions have their own rows.

API and modeBilling unitList price
SERP, StandardPer SERP of up to 10 organic results$0.0006
SERP, PriorityPer SERP$0.0012
SERP, LivePer SERP$0.002
Google Ads keyword data, StandardPer task, up to 1,000 keywords$0.06
Google Ads keyword data, LivePer task, up to 1,000 keywords$0.09
Labs, most endpointsPer task plus per item$0.012 + $0.00012 per item
Labs search intentPer task plus per keyword$0.012 + $0.00012 per keyword
Labs Historical SERPsPer SERP$0.00012
Labs Historical Rank OverviewPer task plus per item, where one item is one month$0.12 + $0.0012 per item
Labs Historical Bulk Traffic Estimation and Domain Metrics by CategoriesPer task plus per domain$0.12 + $0.0012 per domain
Backlinks, all endpoints (Live only)Per task plus per row, where one row is one backlink, referring domain or page$0.024 + $0.000036 per row
On-Page Site CrawlPer crawled page$0.00015
On-Page Instant Pages or Content ParsingPer task$0.00015
On-Page Page ScreenshotPer screenshot$0.0048

What multiplies the SERP bill

The settings that change a SERP bill, with the official example for each.

SettingEffect on the SERP priceOfficial example
DepthOne base price for each 10-result page, rounded up to the next tenDepth 15 bills as 20 results, which is two SERPs
Search operator in the keyword, such as site:, inurl: or intitle:Multiplies the base price by 5Priority, pixel rankings, depth 15, one operator: 2 x $0.0012 x 5 + $0.0012 = $0.0132
Pixel rankings or async AI OverviewAdds one more base pricePriority, pixel rankings, depth 15: 2 x $0.0012 + $0.0012 = $0.0036
People Also Ask click depthAdds $0.00015 per clickEach click adds $0.00015
Keyword, location, language, device, search domain or result typeNo change to the priceDesktop and mobile are two tasks at the same unit price
  • If Google returns fewer results than the depth, DataForSEO refunds the difference.
  • Labs clickstream data doubles the request cost on the endpoints that support it.

On-Page parameters add a fixed amount per page on top of the $0.00015 base. The parameters stack, but browser rendering already includes the other two, so do not add their fees again.

On-Page parameterAdded per pageTotal per page
load_resources$0.0003$0.00045
enable_javascript$0.00135$0.0015
enable_browser_rendering (includes load_resources and enable_javascript)$0.00495$0.0051
enable_content_parsing$0.00015$0.0003
calculate_keyword_density$0.00015$0.0003

Rate limits and request limits

Limits control how fast a big job can run, and what happens when it runs too fast.

LimitValueWhat to do
General rate limit10,000 requests per minuteAsk support for a higher limit for a large project
Live Google Ads endpoints12 requests per minuteUse the Standard method, task_post and task_get, for volume
Standard methodUp to 10,000 calls per minute, and up to 100 tasks per POSTBatch your tasks, up to 100 per POST
Live Google Trends250 Live tasks per minute across all usersUse the Standard method
Tasks Ready endpoints20 requests per minuteUse callbacks instead of polling
User Data endpoint6 requests per minuteCall it rarely
Simultaneous requests for Labs, Backlinks, On-Page, Content Analysis, Trends and AI Optimization30 at a time, per APIAt 1 second per request, 30 threads give at most 1,800 requests a minute
Live Labs, Backlinks and Content Analysis callsOne task per callSend one task in each call

The full list of limits is on DataForSEO's rate limit page. More than 100 tasks in one POST returns error 40006 for the extra tasks, so split larger lists. Too many simultaneous queries return error 40209, and the per-minute limit returns error 40202.

On-Page Instant Pages, Content Parsing (Live) and Page Screenshot take up to 20 tasks per request.

Items per task: the caps that shape a batch

The largest batch one task accepts.

EndpointLargest batch per task
Google Ads search volume1,000 keywords, 80 characters each, 10 words per phrase
Labs keyword overview700 keywords
Labs bulk keyword difficulty1,000 keywords
Labs keyword ideas200 seed keywords, and up to 1,000 result keywords
Backlinks bulk endpoints1,000 targets, which can be domains, subdomains or pages
SERP depth700 results, and up to 100 crawled pages

The price of Google Ads search volume is the same for 1 keyword or 1,000 keywords, so fill every task to its limit.

Worked cost examples

How to read the examples

Every sum uses the list prices in the tables above.

  • One keyword, one location and one device make one task. Desktop and mobile are two tasks.
  • A Labs item is one returned keyword or domain. DataForSEO does not charge for keywords it leaves out of the results.
  • A Backlinks summary or bulk call returns one row per target.
Row counts
The Backlinks totals assume each target returns one billed row. No paid call has confirmed that count, so run one test call on the $1 trial credit before a large batch.

Job 1: rank tracking for 100 keywords, weekly

Inputs: 100 keywords, Google Organic, one location, one device, top 10, 52 runs a year.

Each keyword at depth 10 is one SERP. One weekly run is 100 tasks, and a single POST carries up to 100 tasks.

SetupMath per runPer runPer year
Standard, top 10100 x $0.0006$0.0652 x $0.06 = $3.12 (about $0.26 a month)
Priority, top 10100 x $0.0012$0.1252 x $0.12 = $6.24
Live, top 10100 x $0.002$0.2052 x $0.20 = $10.40, sent as 100 single calls
Standard, top 30 (3 SERPs)100 x 3 x $0.0006$0.1852 x $0.18 = $9.36
Standard, top 100 (10 SERPs)100 x 10 x $0.0006$0.6052 x $0.60 = $31.20
Standard, desktop and mobile, top 102 x 100 x $0.0006$0.1252 x $0.12 = $6.24
Standard, AI Overview loaded, top 10100 x $0.0012, one more base price per SERP$0.1252 x $0.12 = $6.24
Standard, daily instead of weekly, top 10100 x $0.0006$0.06$0.06 x 365 = $21.90

Depth is the biggest lever. Top 100 costs ten times top 10 for the same keywords, so track deep only where page 2 or 3 movement changes a decision.

A keyword with one search operator costs 5 x $0.0006 = $0.003 per SERP, five times the plain price. A $50 deposit would fund this weekly job for about 16 years.

Job 2: keyword research for 1,000 keywords

Inputs: 1,000 keywords for volume, difficulty, intent and top 10 SERPs, plus 1,000 ideas from seed keywords.

StepTasksMathCost
Keyword ideas from seeds (Labs, 1,000 results)1$0.012 + 1,000 x $0.00012$0.132
Search volume (Google Ads, Standard)1 (up to 1,000 keywords)Flat price per task$0.06
Bulk keyword difficulty (Labs)1 (up to 1,000 keywords)$0.012 + 1,000 x $0.00012$0.132
Search intent (Labs)1$0.012 + 1,000 x $0.00012$0.132
Top 10 SERPs (Standard)1,000 (10 POSTs of 100)1,000 x $0.0006$0.60
Total$0.132 + $0.06 + $0.132 + $0.132 + $0.60$1.056

That is $1.056 for 1,000 keywords, about $0.001 per keyword. The SERP pulls are 57% of the total ($0.60 divided by $1.056).

Keyword overview takes 700 keywords per task, so 1,000 keywords need two tasks: 2 x $0.012 + 1,000 x $0.00012 = $0.144. Clickstream data doubles that call to $0.288.

Live Google Ads search volume is capped at 12 requests per minute. At 1,000 keywords a request, that is 12,000 keywords a minute. A bigger job belongs on Standard, which returns in 1 to 3 hours.

Labs data refreshes every 30 to 90 days for most endpoints, so a daily run mostly repeats the same data.

MethodTasksRowsMathCost
One bulk call (Bulk Backlinks or another bulk endpoint)150$0.024 + 50 x $0.000036$0.0258
All four bulk endpoints (Bulk Ranks, Bulk Backlinks, Bulk Spam Score, Bulk Referring Domains)42004 x $0.0258$0.1032
One Summary call per domain505050 x ($0.024 + 1 x $0.000036)$1.2018
Full backlink list, 1,000 rows per domain5050,00050 x ($0.024 + 1,000 x $0.000036)$3.00

The bulk call costs $0.0258, about $0.03. Fifty Summary calls cost $1.2018, about $1.20, which is 46.6 times the bulk call ($1.2018 divided by $0.0258).

Bulk endpoints take up to 1,000 targets per request. A domain target returns the root domain with all of its subdomains. Fifty Summary calls also need at least two waves under the 30-simultaneous limit, while one bulk call needs one slot.

Save the response
Backlinks runs on Live only, and Live results are not stored. Save each response yourself.

Bonus job: crawl 1,000 pages

On-Page cost depends on the parameters you switch on.

Crawl settingPer page1,000 pages
Basic site crawl$0.000151,000 x $0.00015 = $0.15
With enable_javascript$0.00151,000 x $0.0015 = $1.50
With enable_browser_rendering$0.00511,000 x $0.0051 = $5.10

Browser rendering is the expensive setting. The official example prices 10,000 pages at $1.50 on the base rate and $51 with browser rendering.

Set max_crawl_pages to cap the spend. Its value times the per-page rate is the most a task can cost, so 1,000 pages at the browser-rendering rate cannot exceed $5.10.

In our own OpenSEO setup, a 1,000-page site audit on the basic crawl costs $0.15 (1,000 x $0.00015).

Control the bill and fix errors

Daily limits, duplicate tasks and tags

Set these before your first large run.

  • Set a daily cost limit for the account, or for one API or endpoint. Going over returns error 40203. Change the limit in the API settings to continue.
  • Duplicate-task limits apply per hour and per day. Errors 40205 and 40206 mean you hit one of them.
  • Identical tasks count as a user-side error, so de-duplicate before you post.
  • Use the tag field to label each task with a client or project. The response returns the tag, so you can match results to clients.
  • The response documentation lists total tasks cost in USD. Log that number on every run.
  • You pay when a queued task is set. If you stop polling for the result, the task is still billed.

Common errors and the fix for each

Error codes come from the DataForSEO error appendix.

CodeWhat it meansFix
40100Authorization failed. The credentials do not match the account.Copy the login and API password again from the API Access tab
40104New account still needs email or phone confirmationConfirm your email or phone in the user panel
40207IP address not on the whitelistAdd your IP address in the user panel
40201Unusual activity, which can come from several trial accountsUse one account
40202Per-minute rate limit exceededSlow the request rate
40209Too many simultaneous queriesKeep to 30 at a time per API
40006More than 100 tasks in one POSTSplit the list into POSTs of 100 or fewer
40203Daily cost limit exceededChange the cost limit in the API settings
40205 and 40206Duplicate-task limit per hour or per day reachedDe-duplicate tasks before you post
40210Balance too lowTop up the balance
40106Partial resultsPages that were not returned are not charged

Read the status code first. Codes from 20000 to 29999 mean success.

Keep the results you pay for

DataForSEO stores results for a limited time.

Method or formatHow long DataForSEO stores it
Standard method results30 days
SERP results in JSON, Standard or Live30 days
Live method results, other than SERP JSONNot stored
HTML results7 days

A Standard task ID can fetch the result again for 30 days. Live responses other than SERP JSON are not kept, so save those yourself.

Common Questions

How much does tracking deeper than the top 10 add to a DataForSEO rank tracking bill?

Depth is billed in 10-result pages, rounded up, and each page after the first adds one base price. On Standard, a top 10 check is $0.0006 per keyword, top 30 is $0.0018, and top 100 is $0.006. For 100 keywords tracked weekly, that is $3.12 a year at top 10 and $31.20 a year at top 100. Track deep only where page 2 or 3 movement changes a decision.

When does Priority or Live pay off on rank checks?

Standard costs $0.0006 per SERP and returns in about 5 minutes on average, with a 45-minute target. Priority costs $0.0012 and returns in up to a minute on average. Live costs $0.002, which is 3.33 times Standard at the same depth, and returns in up to 6 seconds. A weekly job can wait for the queue, so pay for Live only where a person waits on the result. Priority fits jobs that must finish soon but that nobody watches live.

Why does a backlink check for 50 domains cost $0.03 in one call and $1.20 in 50 calls?

Backlinks bills $0.024 per task plus $0.000036 per row, and a bulk endpoint takes up to 1,000 targets in one task. One bulk call for 50 domains costs 0.024 + 50 x 0.000036 = $0.0258. Fifty Summary calls pay the task fee fifty times: 50 x $0.024036 = $1.2018. The gap widens as the list grows, so batch every domain you can into bulk requests.

How do I cover 1,000 keywords within the 12 requests per minute Live Google Ads cap?

One request carries up to 1,000 keywords and costs the same as a request with one keyword. At 12 requests a minute, Live covers 12,000 keywords a minute. A bigger list belongs on the Standard method: task_post and task_get, with up to 100 tasks per POST and 10,000 calls a minute. Standard returns in 1 to 3 hours at $0.06 per task, which suits overnight refreshes.

How do I size the first $50 top-up against a daily cost limit?

Start from your largest single job, not the monthly average. A weekly top-10 check of 100 keywords costs $3.12 a year and a bulk Backlinks call for 50 domains costs $0.0258, so $50 covers both for years. Set the daily cost limit near the cost of one full run, so a looping script stops after one extra run. The balance never expires, and refunds apply only to first-time purchases within 30 days.

Which settings quietly multiply a SERP bill?

A search operator in the keyword multiplies the base price by 5, as the official example shows. Pixel rankings and async AI Overview each add one more base price. Depth adds a base price for each 10-result page. People Also Ask click depth adds $0.00015 per click. Location, language, device and result type change nothing. Work through the official example: a Priority task with pixel rankings at depth 15 costs 2 x $0.0012 + $0.0012 = $0.0036, and $0.0132 with one operator.

Sources