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 15 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 15", "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