Appearance
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:
| Engine | Data available |
|---|---|
| Keyword suggestions, related keywords, competitor rankings, historical SERPs, bulk keyword data | |
| Amazon | Product keyword rankings, ASIN-level data |
| Google Play | App keyword rankings and category data |
| App Store | iOS 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)
| Endpoint | What it returns |
|---|---|
/v3/dataforseo_labs/google/keyword_suggestions/live | Keywords containing the seed term |
/v3/dataforseo_labs/google/related_keywords/live | Keywords from "searches related to" SERP element |
/v3/dataforseo_labs/google/keyword_ideas/live | Broader keyword discovery based on seed terms |
/v3/dataforseo_labs/google/historical_search_volume/live | 12-month volume history |
/v3/dataforseo_labs/google/keywords_for_site/live | Keywords relevant to a domain |
/v3/dataforseo_labs/google/keywords_for_categories/live | Keywords by Google product/service category |
/v3/dataforseo_labs/google/keyword_difficulty/live | Difficulty scores for up to 1,000 keywords |
/v3/dataforseo_labs/google/search_intent/live | Intent classification: informational, navigational, commercial, transactional |
Google — Market Analysis (6 endpoints)
| Endpoint | What it returns |
|---|---|
/v3/dataforseo_labs/google/historical_serps/live | Full SERP snapshots over the past 12 months |
/v3/dataforseo_labs/google/bulk_traffic_estimation/live | Traffic estimates for multiple domains |
/v3/dataforseo_labs/google/categories_for_domain/live | Product/service categories a domain ranks in |
/v3/dataforseo_labs/google/domain_rank_overview/live | Overall rank metrics for a domain |
/v3/dataforseo_labs/google/historical_rank_overview/live | Domain rank metrics over 12 months |
/v3/dataforseo_labs/google/page_intersection/live | Pages that appear across multiple keyword SERPs |
Google — Competitor Research (12 endpoints)
| Endpoint | What it returns |
|---|---|
/v3/dataforseo_labs/google/ranked_keywords/live | Keywords a domain or URL currently ranks for |
/v3/dataforseo_labs/google/serp_competitors/live | Domains competing for the same keyword set |
/v3/dataforseo_labs/google/competitors_domain/live | Competing domains with keyword overlap |
/v3/dataforseo_labs/google/domain_intersection/live | Keywords two or more domains share |
/v3/dataforseo_labs/google/domain_technologies_summary/live | Technology usage summary across competing domains |
/v3/dataforseo_labs/google/bulk_keyword_difficulty/live | Bulk difficulty — up to 10,000 keywords |
/v3/dataforseo_labs/google/top_searches/live | Top searched keywords in a location |
/v3/dataforseo_labs/google/trending_searches/live | Rapidly growing keyword trends |
/v3/dataforseo_labs/google/subdomains/live | Subdomain ranking breakdown for a domain |
/v3/dataforseo_labs/google/relevant_pages/live | Most relevant pages on a domain for a keyword |
/v3/dataforseo_labs/google/keywords_for_categories/live | Keywords by category |
/v3/dataforseo_labs/google/locations_and_languages | Supported locations and languages |
Amazon (6 endpoints)
| Endpoint | What it returns |
|---|---|
/v3/dataforseo_labs/amazon/ranked_keywords/live | Keywords an Amazon ASIN ranks for |
/v3/dataforseo_labs/amazon/keyword_suggestions/live | Amazon keyword suggestions |
/v3/dataforseo_labs/amazon/product_competitors/live | Competing products on Amazon |
/v3/dataforseo_labs/amazon/related_keywords/live | Amazon-related keywords |
/v3/dataforseo_labs/amazon/keyword_difficulty/live | Amazon keyword difficulty |
/v3/dataforseo_labs/amazon/locations_and_languages | Supported Amazon locations |
Google Play (4 endpoints)
| Endpoint | What it returns |
|---|---|
/v3/dataforseo_labs/google_play/app_competitors/live | Competing apps |
/v3/dataforseo_labs/google_play/app_intersection/live | Apps sharing keyword rankings |
/v3/dataforseo_labs/google_play/ranked_keywords/live | Keywords an app ranks for |
/v3/dataforseo_labs/google_play/keyword_suggestions/live | App store keyword suggestions |
App Store (4 endpoints)
| Endpoint | What it returns |
|---|---|
/v3/dataforseo_labs/app_store/app_competitors/live | Competing apps |
/v3/dataforseo_labs/app_store/app_intersection/live | Apps sharing keyword rankings |
/v3/dataforseo_labs/app_store/ranked_keywords/live | Keywords an app ranks for |
/v3/dataforseo_labs/app_store/keyword_suggestions/live | App 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.