Skip to content

DataForSEO Labs API Fresh

DataForSEO Labs API is the ultimate source of data for keyword research and search analytics. It provides data on keywords, SERPs, and domains based on DataForSEO's proprietary in-house databases — no third-party data dependency.

What It Covers

The API gives you keyword and ranking intelligence across four search engine ecosystems:

EngineData available
GoogleKeyword suggestions, related keywords, competitor rankings, historical SERPs, bulk keyword data
AmazonProduct keyword rankings, ASIN-level data
Google PlayApp keyword rankings and category data
App StoreiOS app keyword rankings and category data

Use DataForSEO Labs when you need:

  • Long-tail keyword discovery from seed terms
  • SERP volatility and ranking history analysis
  • Competitor domain keyword overlap and gap identification
  • Search volume, CPC, competition scores, and keyword difficulty at scale
  • Bulk enrichment of keyword lists with intent and trend data

All Endpoints (40 total)

Google — Keyword Research (8 endpoints)

EndpointWhat it returns
/v3/dataforseo_labs/google/keyword_suggestions/liveKeywords containing the seed term
/v3/dataforseo_labs/google/related_keywords/liveKeywords from "searches related to" SERP element
/v3/dataforseo_labs/google/keyword_ideas/liveBroader keyword discovery based on seed terms
/v3/dataforseo_labs/google/historical_search_volume/live12-month volume history
/v3/dataforseo_labs/google/keywords_for_site/liveKeywords relevant to a domain
/v3/dataforseo_labs/google/keywords_for_categories/liveKeywords by Google product/service category
/v3/dataforseo_labs/google/keyword_difficulty/liveDifficulty scores for up to 1,000 keywords
/v3/dataforseo_labs/google/search_intent/liveIntent classification: informational, navigational, commercial, transactional

Google — Market Analysis (6 endpoints)

EndpointWhat it returns
/v3/dataforseo_labs/google/historical_serps/liveFull SERP snapshots over the past 12 months
/v3/dataforseo_labs/google/bulk_traffic_estimation/liveTraffic estimates for multiple domains
/v3/dataforseo_labs/google/categories_for_domain/liveProduct/service categories a domain ranks in
/v3/dataforseo_labs/google/domain_rank_overview/liveOverall rank metrics for a domain
/v3/dataforseo_labs/google/historical_rank_overview/liveDomain rank metrics over 12 months
/v3/dataforseo_labs/google/page_intersection/livePages that appear across multiple keyword SERPs

Google — Competitor Research (12 endpoints)

EndpointWhat it returns
/v3/dataforseo_labs/google/ranked_keywords/liveKeywords a domain or URL currently ranks for
/v3/dataforseo_labs/google/serp_competitors/liveDomains competing for the same keyword set
/v3/dataforseo_labs/google/competitors_domain/liveCompeting domains with keyword overlap
/v3/dataforseo_labs/google/domain_intersection/liveKeywords two or more domains share
/v3/dataforseo_labs/google/domain_technologies_summary/liveTechnology usage summary across competing domains
/v3/dataforseo_labs/google/bulk_keyword_difficulty/liveBulk difficulty — up to 10,000 keywords
/v3/dataforseo_labs/google/top_searches/liveTop searched keywords in a location
/v3/dataforseo_labs/google/trending_searches/liveRapidly growing keyword trends
/v3/dataforseo_labs/google/subdomains/liveSubdomain ranking breakdown for a domain
/v3/dataforseo_labs/google/relevant_pages/liveMost relevant pages on a domain for a keyword
/v3/dataforseo_labs/google/keywords_for_categories/liveKeywords by category
/v3/dataforseo_labs/google/locations_and_languagesSupported locations and languages

Amazon (6 endpoints)

EndpointWhat it returns
/v3/dataforseo_labs/amazon/ranked_keywords/liveKeywords an Amazon ASIN ranks for
/v3/dataforseo_labs/amazon/keyword_suggestions/liveAmazon keyword suggestions
/v3/dataforseo_labs/amazon/product_competitors/liveCompeting products on Amazon
/v3/dataforseo_labs/amazon/related_keywords/liveAmazon-related keywords
/v3/dataforseo_labs/amazon/keyword_difficulty/liveAmazon keyword difficulty
/v3/dataforseo_labs/amazon/locations_and_languagesSupported Amazon locations

Google Play (4 endpoints)

EndpointWhat it returns
/v3/dataforseo_labs/google_play/app_competitors/liveCompeting apps
/v3/dataforseo_labs/google_play/app_intersection/liveApps sharing keyword rankings
/v3/dataforseo_labs/google_play/ranked_keywords/liveKeywords an app ranks for
/v3/dataforseo_labs/google_play/keyword_suggestions/liveApp store keyword suggestions

App Store (4 endpoints)

EndpointWhat it returns
/v3/dataforseo_labs/app_store/app_competitors/liveCompeting apps
/v3/dataforseo_labs/app_store/app_intersection/liveApps sharing keyword rankings
/v3/dataforseo_labs/app_store/ranked_keywords/liveKeywords an app ranks for
/v3/dataforseo_labs/app_store/keyword_suggestions/liveApp store keyword suggestions

Key Endpoint Examples

Domain Intersection — Find Shared Keywords

python
import os, requests
from requests.auth import HTTPBasicAuth

auth = HTTPBasicAuth(os.environ["DATAFORSEO_LOGIN"], os.environ["DATAFORSEO_PASSWORD"])

r = requests.post(
    "https://api.dataforseo.com/v3/dataforseo_labs/google/domain_intersection/live",
    auth=auth,
    headers={"Content-Type": "application/json"},
    json=[{
        "targets": {"target1": "competitor1.com", "target2": "competitor2.com"},
        "location_code": 2840,
        "language_code": "en",
        "limit": 50
    }]
)
items = r.json()["tasks"][0]["result"][0]["items"]
for item in items:
    print(f"{item['keyword']}: pos1={item['first_position']}, pos2={item['second_position']}")

Bulk Traffic Estimation

python
r = requests.post(
    "https://api.dataforseo.com/v3/dataforseo_labs/google/bulk_traffic_estimation/live",
    auth=auth,
    headers={"Content-Type": "application/json"},
    json=[{
        "targets": ["client.com", "competitor1.com", "competitor2.com"],
        "location_code": 2840,
        "language_code": "en"
    }]
)
for item in r.json()["tasks"][0]["result"][0]["items"]:
    print(f"{item['target']}: est. {item.get('estimated_traffic', 0)}/mo")

Search Intent Classification

python
r = requests.post(
    "https://api.dataforseo.com/v3/dataforseo_labs/google/search_intent/live",
    auth=auth,
    headers={"Content-Type": "application/json"},
    json=[{
        "keywords": ["best roofer near me", "roofing cost", "how to fix roof shingles", "acme roofing"],
        "location_code": 2840,
        "language_code": "en"
    }]
)
for item in r.json()["tasks"][0]["result"][0]["items"]:
    print(f"{item['keyword']}: {item.get('search_intent', 'unknown')} ({item.get('main_intent', '')})")

## Available Endpoints (Google)

| Endpoint | What it returns |
|----------|----------------|
| Keyword Suggestions (Live) | Keywords containing the seed term with search metrics |
| Related Keywords (Live) | Keywords from "searches related to" SERP element |
| Historical SERPs (Live) | Full SERP snapshots over the past 12 months |
| Keyword Ideas | Broader keyword discovery based on seed terms |
| Keywords for Site | Keywords a domain ranks for |
| Ranked Keywords | SERP positions for a domain or page |
| SERP Competitors | Domains competing for the same keyword set |
| Bulk Keyword Difficulty | Difficulty scores for up to 1,000 keywords per request |
| Search Intent | Automated intent classification (informational, navigational, commercial, transactional) |
| Categories for Domain | Product/service category tags for a domain |

## Method

DataForSEO Labs API uses **Live method only** — no separate POST/GET task cycle. Send a POST request and receive results immediately.

- Up to **2,000 API calls per minute**
- Maximum **30 simultaneous requests**

## Authentication

All requests use HTTP Basic Auth with your DataForSEO account credentials.

```bash
curl --request POST \
  --url https://api.dataforseo.com/v3/dataforseo_labs/google/keyword_suggestions/live \
  --header 'Authorization: Basic BASE64(login:password)' \
  --header 'Content-Type: application/json' \
  --data '[{"keyword": "local seo", "location_code": 2840, "language_code": "en", "limit": 10}]'

Replace BASE64(login:password) with the base64-encoded string of your credentials from your API access dashboard.

Python Quick Start

python
import requests
from requests.auth import HTTPBasicAuth
import json

DATAFORSEO_LOGIN = "your_login"
DATAFORSEO_PASSWORD = "your_password"

def labs_request(endpoint, payload):
    url = f"https://api.dataforseo.com/v3/dataforseo_labs/google/{endpoint}/live"
    response = requests.post(
        url,
        auth=HTTPBasicAuth(DATAFORSEO_LOGIN, DATAFORSEO_PASSWORD),
        headers={"Content-Type": "application/json"},
        data=json.dumps(payload)
    )
    return response.json()

# Example: keyword suggestions
result = labs_request("keyword_suggestions", [{
    "keyword": "local seo",
    "location_code": 2840,
    "language_code": "en",
    "limit": 50
}])

for item in result["tasks"][0]["result"][0]["items"]:
    print(item["keyword"], item["keyword_info"]["search_volume"])

Sandbox Testing

DataForSEO provides a free Sandbox environment for testing. Sandbox requests do not consume credits and return mock data in the same format as production.

Pricing

Cost per request varies by endpoint. Use the Pricing page in your account dashboard to calculate costs before scaling. You can also check current spending via the User Data endpoint.

Internal SOP reference — not affiliated with DataForSEO.