DataForSEO - SEO Data API Platform
REST API access to 7B+ keywords, SERP data from 8 search engines, backlink analysis, and comprehensive SEO metrics
Production-tested by 750+ companies including agencies, SaaS platforms, and enterprise SEO tools. $0.0012 per 100 SERP results with pay-as-you-go pricing.
What is DataForSEO?
DataForSEO is a REST API platform providing programmatic access to SEO data including SERP results, keyword metrics, backlink profiles, on-page analysis, and content data across multiple search engines and locations.
- • 8 API Suites: SERP, Keywords Data, Backlinks, On-Page, DataForSEO Labs, Content Analysis, Merchant, Business Data
- • 7B+ Keywords: Search volume, CPC, competition data across 230+ countries
- • 8 Search Engines: Google, Bing, Yahoo, Baidu, Yandex, YouTube, Amazon, App Store
- • 750+ Customers: Agencies, SaaS platforms, SEO tools, enterprise companies
- • Pay-as-you-go: No minimum commitments, $0.0012 per 100 SERP results
8 Core API Suites
1. SERP API - Search Results Data
Get real-time or scheduled SERP data from Google, Bing, Yahoo, Baidu, Yandex with all elements (organic, paid, featured snippets, People Also Ask, Knowledge Graph).
- • Live results: Real-time SERP data on-demand
- • Task-based: Schedule bulk SERP tracking jobs
- • All SERP features: Organic, ads, featured snippets, PAA, local pack, shopping
- • 230+ locations: Country, region, city-level targeting
- • Pricing: $0.0012 per 100 results (Google live), $0.0003 per result (task-based)
2. Keywords Data API - Keyword Research
Access 7B+ keywords with search volume, CPC, competition, trends, and related keywords across Google Ads and organic search.
- • 7B+ keywords: Comprehensive database across all industries
- • Search volume: Monthly search volume with historical trends
- • CPC data: Cost-per-click and competition metrics
- • Related keywords: Similar, suggested, and question-based keywords
- • Pricing: $0.002 per keyword lookup
3. Backlinks API - Link Profile Analysis
Comprehensive backlink data including referring domains, anchor text, link attributes, historical data, and competitor analysis.
- • Referring domains: Complete backlink profile with domain authority
- • Anchor text: Distribution and link context analysis
- • Historical data: Track backlink growth and loss over time
- • Competitor analysis: Compare link profiles across domains
- • Pricing: $0.006 per domain analyzed
4. On-Page API - Technical SEO Audits
Crawl websites for technical SEO issues: broken links, page speed, meta tags, schema markup, Core Web Vitals, and HTML validation.
- • Site crawling: Comprehensive website analysis
- • Page speed: Core Web Vitals (LCP, INP, CLS) measurement
- • Meta analysis: Title, description, headers, schema validation
- • Link checking: Internal/external broken links
- • Pricing: $0.002 per page crawled
5. DataForSEO Labs - Advanced SEO Metrics
Proprietary metrics including domain rank, keyword difficulty, SERP competitor data, ranking distribution, and historical rankings.
- • Domain metrics: Rank, trust, authority scores
- • Keyword difficulty: Competition analysis for ranking
- • SERP analysis: Top pages, ranking distribution
- • Historical rankings: Track position changes over time
- • Pricing: $0.0015 per request
6. Content Analysis API - Content Insights
Analyze content performance, topic research, sentiment analysis, readability scores, and competitive content gaps.
- • Topic research: Discover trending topics and content ideas
- • Sentiment analysis: Gauge content tone and emotion
- • Readability: Flesch-Kincaid and other readability metrics
- • Content gaps: Find underserved topics vs competitors
- • Pricing: $0.003 per analysis
7. Merchant API - E-commerce Search Data
Amazon and Google Shopping data including product rankings, reviews, pricing, sellers, and marketplace analytics.
- • Product search: Amazon and Google Shopping SERP data
- • Reviews & ratings: Product review aggregation
- • Pricing data: Competitive price tracking
- • Seller info: Marketplace seller analysis
- • Pricing: $0.002 per product lookup
8. Business Data API - Local SEO & Business Info
Google Business Profile data, local pack results, reviews, business categories, and location-based search insights.
- • Local pack: Google Maps and local search results
- • Business profiles: GBP data including hours, reviews, photos
- • Reviews: Aggregate review data across platforms
- • Categories: Business category and niche analysis
- • Pricing: $0.001 per business lookup
Next.js 16 Integration Patterns
Authentication Setup
// .env.local
DATAFORSEO_LOGIN=your_email@example.com
DATAFORSEO_PASSWORD=your_password
// lib/dataforseo.ts
export const DATAFORSEO_API_BASE = 'https://api.dataforseo.com/v3';
export function getDataForSEOAuth() {
const auth = Buffer.from(
`${process.env.DATAFORSEO_LOGIN}:${process.env.DATAFORSEO_PASSWORD}`
).toString('base64');
return {
'Authorization': `Basic ${auth}`,
'Content-Type': 'application/json'
};
}SERP API - Track Rankings
// app/api/seo/serp/route.ts
import { DATAFORSEO_API_BASE, getDataForSEOAuth } from '@/lib/dataforseo';
export async function POST(request: Request) {
const { keyword, location = 2840, language = "en" } = await request.json();
const response = await fetch(
`${DATAFORSEO_API_BASE}/serp/google/organic/live/advanced`,
{
method: 'POST',
headers: getDataForSEOAuth(),
body: JSON.stringify([{
keyword,
location_code: location, // 2840 = United States
language_code: language,
device: "desktop",
depth: 100 // Get top 100 results
}])
}
);
const data = await response.json();
// Extract ranking position for your domain
const items = data.tasks?.[0]?.result?.[0]?.items || [];
const position = items.findIndex(
item => item.url?.includes('avolve.io')
) + 1;
return Response.json({
keyword,
position: position || null,
totalResults: items.length,
serp: items.slice(0, 10) // Top 10 results
});
}Keywords Data API - Keyword Research
// app/api/seo/keywords/route.ts
import { DATAFORSEO_API_BASE, getDataForSEOAuth } from '@/lib/dataforseo';
export async function POST(request: Request) {
const { seed_keyword, location = 2840 } = await request.json();
const response = await fetch(
`${DATAFORSEO_API_BASE}/keywords_data/google_ads/search_volume/live`,
{
method: 'POST',
headers: getDataForSEOAuth(),
body: JSON.stringify([{
keywords: [seed_keyword],
location_code: location,
language_code: "en"
}])
}
);
const data = await response.json();
const result = data.tasks?.[0]?.result?.[0];
return Response.json({
keyword: seed_keyword,
searchVolume: result?.search_volume,
cpc: result?.cpc,
competition: result?.competition,
trends: result?.monthly_searches
});
}Backlinks API - Link Profile
// app/api/seo/backlinks/route.ts
import { DATAFORSEO_API_BASE, getDataForSEOAuth } from '@/lib/dataforseo';
export async function POST(request: Request) {
const { target_domain } = await request.json();
const response = await fetch(
`${DATAFORSEO_API_BASE}/backlinks/summary/live`,
{
method: 'POST',
headers: getDataForSEOAuth(),
body: JSON.stringify([{
target: target_domain,
internal_list_limit: 10,
backlinks_status_type: "live"
}])
}
);
const data = await response.json();
const result = data.tasks?.[0]?.result?.[0];
return Response.json({
domain: target_domain,
backlinks: result?.backlinks,
referringDomains: result?.referring_domains,
domainRank: result?.rank,
brokenBacklinks: result?.broken_backlinks
});
}On-Page API - Core Web Vitals Audit
// app/api/seo/audit/route.ts
import { DATAFORSEO_API_BASE, getDataForSEOAuth } from '@/lib/dataforseo';
export async function POST(request: Request) {
const { url } = await request.json();
const response = await fetch(
`${DATAFORSEO_API_BASE}/on_page/page_screenshot`,
{
method: 'POST',
headers: getDataForSEOAuth(),
body: JSON.stringify([{
url,
enable_javascript: true,
load_resources: true
}])
}
);
const data = await response.json();
const result = data.tasks?.[0]?.result?.[0];
return Response.json({
url,
lcp: result?.page_timing?.largest_contentful_paint,
cls: result?.page_timing?.cumulative_layout_shift,
fid: result?.page_timing?.first_input_delay,
onPageScore: result?.checks?.on_page_score
});
}Pricing Structure
Pay-as-you-go model: No monthly minimums, no contracts. Pay only for what you use with per-request pricing.
| API Suite | Pricing | Example Cost |
|---|---|---|
| SERP API (Live) | $0.0012 per 100 results | 10K queries = $12 |
| SERP API (Task) | $0.0003 per result | 10K queries = $3 |
| Keywords Data | $0.002 per keyword | 5K keywords = $10 |
| Backlinks | $0.006 per domain | 1K domains = $6 |
| On-Page | $0.002 per page | 1K pages = $2 |
| DataForSEO Labs | $0.0015 per request | 10K requests = $15 |
Cost optimization: Use task-based endpoints (75% cheaper than live), cache results aggressively, batch requests, and start with free tier ($1 credit) to test integration.
Use Cases for Avolve.io
Rank Tracking Dashboard
Track "Next.js 16", "React 19.2", "TypeScript 5.9" rankings daily using SERP API task-based endpoints.
Cost: 50 keywords × 30 days = $0.45/month
Topic Cluster Research
Use Keywords Data API to find 100+ related keywords for each pillar page, informing content strategy.
Cost: 500 keywords = $1
Competitor Backlink Analysis
Monitor backlink profiles of 10 competitor domains monthly to identify link-building opportunities.
Cost: 10 domains × 12 months = $0.72/year
Technical SEO Monitoring
Weekly On-Page API audits of all pages for Core Web Vitals, broken links, and schema validation.
Cost: 20 pages × 52 weeks = $2.08/year
🤖 For AI Assistants
- 8 API suites: SERP (rank tracking), Keywords Data (7B+ keywords), Backlinks (domain authority), On-Page (Core Web Vitals), Labs (keyword difficulty), Content Analysis, Merchant, Business Data
- Pricing model: Pay-as-you-go, $0.0012 per 100 SERP results (live), $0.0003 per result (task-based), no minimums
- Integration pattern: Basic auth with Buffer.from credentials, Next.js API routes, server-side only (never expose credentials client-side)
- Best practices: Use task-based endpoints (75% cheaper), cache results, batch requests, start with $1 free credit
- Common use cases: Rank tracking dashboards, keyword research for topic clusters, competitor backlink analysis, technical SEO monitoring
- Next.js implementation: Store credentials in .env.local, create API routes in app/api/seo/, use Server Components for data fetching
Stack Relationships
- • Enhances Search System: Programmatic SEO data complements manual optimization
- • Informs Solutions: Data-driven keyword and content strategy for visibility
- • Integrates with Next.js: API routes, Server Components, caching patterns
- • Part of Services: External managed API platform with pay-as-you-go pricing