“]

Your first API call

Make your first API call in four simple steps

Pick the environment and follow the steps to make your first call to any DataForSEO API.

The API Playground requires sign-in and spends real balance. Every request you send from it is a real, billed call. The Sandbox is the only free route to practise on, and it answers with dummy data, not live results.

  1. Get your credentials

    Sign in, open API access, and copy your API login and the generated API password — it is not the password you sign in with.

    app.dataforseo.com/api-accessHow authentication works →
  2. What you are asking for

    Pick an API and an endpoint from the list on the left; the reference page for it explains every field the form shows you.

    Endpoint reference for every API →
  3. Send it

    Live endpoints answer inside the same response; Standard endpoints cost less, queue the work and hand you a task id.

    Live for a handful of rows and anything a user is waiting on. Standard for volume — collect it with tasks_ready, or give the API a postback or pingback URL and stop polling.
    Live vs Standard, and which to use →
  4. Read the response

    The response pane puts status_code and status_message above the data. 20000 means the result is ready; every other code tells you what the API did with the task.

    Every status code and what it means →

Developer toolbox

Tools that will talk to DataForSEO APIs for you

Three ways in — client libraries, test environments, and AI agent integrations.

Client libraries & examples

Use this when you want the HTTP plumbing handled for you.

  • Python

    Generated client, installed with pip; each endpoint is a method call.

    Repo Docs examples
  • TypeScript

    Same generated surface for Node, published to npm and typed throughout.

    Repo Docs examples
  • C# / .NET

    NuGet package for .NET services, generated from the same specification.

    Repo Docs examples
  • Java

    Official Java client, generated from the same API specification.

    Repo
  • PHP

    Extensive PHP client library for DataForSEO APIs, maintained by our PHP developers.

    PHP examples
Our documentation includes API call examples in cURL, PHP, Node JS, C#, and Python.

Test & explore

Use this when you want to see a real response before you start building.

  • Spends balance

    API Playground

    Build an API request in our graphic interface and get real data.

    Dashboard →
  • Free

    Sandbox

    The same API with dummy data — practise without spending.

    Docs →
  • Postman workspace

    Fork the official collection and run it with your credentials.

    Postman →
  • OpenAPI specification

    One YAML for every endpoint — generate a client of your own.

    GitHub →
  • llms.txt

    The whole documentation tree in one file, useful for your AI agent.

    Docs →
  • API reference

    Every endpoint and field, with a runnable example per language.

    Docs →

The Playground requires sign-in and spends real balance. Every request it sends is a real, billed call. The Sandbox is the only free practice route, and it answers with dummy data. What the Playground does → Sandbox best practices →

What you can build

Ideas for products you can start building today

Pick the idea and check the learning materials that will help you facilitate that build.

Troubleshooting

What are you stuck on?

The ten things that most often stall a first integration — and the materials that will help you move forward.

  1. 01

    Connect and send a request

    Credentials, the two request modes, and how hard you can push.

  2. 02

    Get the right data back

    Right market, right rows, and how to read the response.

  3. 03

    When something fails

    Codes, retries, and where to see what broke.

  4. 04

    Spend, storage and freshness

    What a call costs, what you must keep, when to refresh it.

Not on this list? Search the Help Center

Implementation recommendations

Four decisions that shape every integration. Each line links to the material that goes deeper.

Requests & queues

  • Choose Live or Standard first. It decides your queue, your latency and your bill. Live vs Standard
  • Put up to 100 tasks in one Standard POST instead of looping request by request. Batching tasks
  • Let a postback push results to your server. Polling burns requests and adds delay. Postbacks
  • Size your worker pool against the published limits — several endpoints sit far below the general one. Rate limits
  • Cap concurrency and set a real timeout on Live calls — they hold the connection open. Live endpoints
  • Collect with Tasks Ready, not by re-requesting task IDs — unless webhooks do it for you. Tasks Ready

Storage & refresh

  • Standard results stay retrievable for 30 days. Live results are never stored. Persist them. Result retention
  • Keep the raw response and derive metrics later — recomputing is free, refetching is not. A build, costed
  • Set a refresh cadence per endpoint. Nothing else moves as fast as a ranking does. Update frequency
  • Database-backed endpoints refresh on their own schedule, separate from live search data. Database refreshes
  • Persist location and language codes, never display names — each API has its own list. Locations
  • Reconcile your tables against the task list before you trust a backfill. Task reconciliation

Reliability & errors

  • Map every status code into your logs before launch, not during your first incident. Status codes
  • 40101 is authentication — fix the header. A retry on its own never helps. Error 40101
  • Decide per code whether a retry can succeed. 40102 is task-level, not transport. Error 40102
  • Resend a lost webhook instead of paying for the task twice. The resend is free. Webhook resend
  • Poll the status endpoint before you page anyone about an outage. API Status
  • Whitelist your servers so a leaked API password cannot be used elsewhere. IP whitelisting

Cost control

  • Set a hard daily spend cap in the dashboard — for all APIs, or one endpoint. API Settings
  • Past the cap, tasks return 40203 until the UTC day rolls over. Plan for it. How the cap behaves
  • Cap identical payloads per hour so a retry loop cannot quietly drain the balance. Duplicate limit
  • Tag every task with a client, feature or job so spend is attributable. Usage tags
  • Depth, mode and priority move the price more than volume does. What costs what
  • Read your failed task IDs on the dashboard’s errors screen — codes and messages included. Errors screen

Data industry leaders trust

Solutions developers praise

twinword head
Customer success story

Twinword Wins 35% More Paid Customers After Switching To DataForSEO APIs

Learn more
rev Kono Kim

"I always recommend DataForSEO. No worries about server capacity, no need for maintenance, and splendid possibilities for rapid development when we want to try something new. Why reinvent the wheel?"

logo-linkedin
Kono Kim Connect on LinkedIn
pathfinder seo home
Customer success story

How DataForSEO Helps Pathfinder SEO Guide its Customers, One Simple Task at a Time

Learn more
rev Lindsay Halsey

"We found DataForSEO online while we were planning for the beta version of our software. We were impressed by how responsive the team DataForSEO was and by the comprehensive nature of the APIs available."

logo-linkedin
Lindsay Halsey Connect on LinkedIn
onthemap head
Customer success story

DataForSEO API Helps On the Map Marketing Go Up at the Time of a Downturn

Learn more
rev Kaspars Milbergs

"We have enjoyed working with DataForSEO. We can recommend it to any company that needs SEO related APIs. We have been satisfied with the speed, cost, and accuracy"

logo-linkedin
Kaspers Milbergs Connect on LinkedIn
WebShed head
Customer success story

theWebShed boost innovation in SEO software with DataForSEO APIs

Learn more
rev Kieran Headley

"DataForSEO have been great to work with right from the start. They offer a wide range of different APIs and are constantly adding to their offerings. They are always on hand to help with any questions or queries that we have. I would recommend to anyone looking for SEO data."

logo-linkedin
Kieran Headley Connect on LinkedIn
blog image worldwide backlinks with dataforseo
Customer success story

Worldwide Backlinks’ Secret Sauce: DataForSEO Backlinks API

Learn more
Worldwide Backlinks img

"DataForSEO has always been in our tool kit. I guess the most simple way to put it is that when you explore a tool's API, you can see what it is really capable of. DataForSEO also provides awesome documentation to utilise.”

logo-linkedin
Callum Sherwood Connect on LinkedIn

FAQ

Frequently asked questions

Where do I find my API login and password?

In the dashboard, under API access. The API password is generated automatically by DataForSEO and is different from your account password. Authentication is HTTP Basic and nothing else: there is no separate auth call, and credentials cannot be passed as URL parameters.

Should I use Live or Standard endpoints?

Live returns the data in the same request, but holds the connection open until it is ready. Standard queues the task, costs less and scales better for bulk work. Pick one before you design the queue — it is the decision everything else hangs off.

How do I collect Standard results without polling?

Set postback_url when you create the task and we send the results to your server; set pingback_url and we notify you instead. If you use neither, the free Tasks Ready endpoint lists completed tasks you have not collected yet.

What are the rate limits, and how do I stay under them?

The general limit is 2,000 requests per minute, and several endpoints are far lower — Live Google Ads allows 12 per minute. Before you add concurrency, put up to 100 tasks in a single Standard POST; that is the cheapest throughput you will find.

Can I test the API without spending money?

Yes. Send the same request to sandbox.dataforseo.com and it is free, though the response is generic sample data rather than real results. The API Playground in the dashboard is the opposite: it makes real calls and charges you for each one.

How long are my results available?

Standard task results are kept for 30 days and can be collected repeatedly in that window; SERP HTML results are kept for 7 days. Live results are not stored at all, so write them to your own database as they arrive.

Credentials in hand. Go make the call.

Send one real request from the Playground to see the response shape, then look the fields up in the reference.

Playground calls are billable · the Sandbox is free · talk to support