Build SEO data into your product.
Query keyword metrics, organic traffic, rankings, and authority data through a simple JSON API.
Simple JSON endpoints. Fixed prices in dollars. No credit math.
$1 free API balance. No credit card.
curl -X POST https://seonio.com/api/v1/seo-stats \
-H "Content-Type: application/json" \
-H "X-API-Key: $SEONIO_API_KEY" \
-d '{"target":"moz.com"}'
Response
{
"status": 200,
"ok": true,
"data": {
"target": "moz.com",
"seo_metrics": {
"page_authority": 75,
"domain_authority": 91,
"spam_score": 1,
"linking_domains": 46982,
"linking_pages": 11740244,
"nofollow_pages": 5718502
}
}
}
API endpoints
Pick the endpoint by the question your product needs to answer.
13 endpoints
/api/v1/keywords/global
Send a list of keywords and get back the core metrics most SEO and PPC tools are built on. Ideal for keyword explorers, content planners and bulk research jobs.
Request & response
Request body
{"keywords": ["keyword research", "seo tools", "domain authority checker"]}
Returns
keywords[].text, keywords[].volume, keywords[].cpc, keywords[].competition, keywords[].monthly_trend
/api/v1/keywords/clustering
Give a seed keyword and get back topic clusters: we expand it into its suggestion universe, fetch the live SERP for each, and group keywords that share ranking pages. Ideal for content planning, silo/hub-and-spoke architecture and pillar pages.
Request & response
Request body
{"country": "us", "keyword": "keyword research"}
Returns
keyword, country, clusters[], clusters[].name, clusters[].volume, clusters[].size, clusters[].keywords[], clusters[].shared_urls[]
/api/v1/keywords/suggestions
Give a seed keyword and get back up to 100 related suggestions, each with search volume, CPC range, competition, difficulty, intent and a 12-month trend. Ideal for keyword expansion, content ideation and building topic lists.
Request & response
Request body
{"country": "us", "keyword": "keyword research"}
Returns
keyword, country, keywords[].text, keywords[].volume, keywords[].cpc, keywords[].low_cpc, keywords[].high_cpc, keywords[].competition, keywords[].difficulty, keywords[].intent, keywords[].monthly_trend
/api/v1/keywords/country
Send a list of keywords and a country and get back each keyword's search volume, CPC range, competition, difficulty, intent and 12-month trend for that specific market. The language is derived from the country automatically.
Request & response
Request body
{"country": "de", "keywords": ["seo tools", "keyword research"]}
Returns
country, keywords[].text, keywords[].volume, keywords[].cpc, keywords[].low_cpc, keywords[].high_cpc, keywords[].competition, keywords[].difficulty, keywords[].intent, keywords[].monthly_trend
/api/v1/serp/country
Send a keyword and country code and get back the Google results page: ranked organic listings with title, link and snippet, plus People Also Ask and related searches. Ideal for rank tracking, SERP analysis and competitor monitoring.
Request & response
Request body
{"country": "us", "keyword": "seo tools"}
Returns
keyword, country, organic[], organic[].position, people_also_ask[], related_searches[]
/api/v1/serp/scraper
Combines a SERP lookup with a content scrape: send a keyword and country and get back the top organic results rendered as markdown, with title, meta description and content length per page. One call replaces a SERP request plus a scraper pipeline — ideal for content research, briefs and competitive analysis.
Request & response
Request body
{"count": 2, "country": "us", "keyword": "seo tools"}
Returns
keyword, country, results[], results[].url, results[].title, results[].meta_description, results[].length, results[].markdown
/api/v1/scraper
Send a URL and get its page content back as clean markdown (or raw HTML), with title and meta description. Results are cached and served from storage while fresh, so repeat lookups are fast. Ideal for content research, briefs and feeding pages into LLM pipelines.
Request & response
Request body
{"format": "md", "max_age_days": 7, "url": "https://moz.com/blog"}
Returns
url, title, meta_description, length, markdown, html, scraped_at
/api/v1/website/traffic
Get a clean monthly organic-traffic series for a domain — perfect for trend charts, competitor tracking and growth/decline detection.
Request & response
Request body
{"domain_name": "moz.com"}
Returns
domain_name, organic_monthly[]
/api/v1/website/ranking
The richest endpoint: total ranking volume and value, country split, keyword position buckets, movement counts, plus the top keywords and pages driving the domain.
Request & response
Request body
{"domain_name": "moz.com"}
Returns
total_volume, total_value, top_country, country_distribution, keyword_distribution, movers, top_keywords[], top_pages[]
/api/v1/url/stats
Authority metrics for a single URL: page authority, domain authority, spam score and the backlink footprint behind the page.
Request & response
Request body
{"target": "https://moz.com/blog"}
Returns
target, seo_metrics, seo_metrics.page_authority, seo_metrics.domain_authority, seo_metrics.spam_score, seo_metrics.linking_domains, seo_metrics.linking_pages, seo_metrics.nofollow_pages
/api/v1/website/stats
Authority metrics for a whole domain: domain authority, spam score and the site-wide backlink footprint. Same response shape as URL Stats.
Request & response
Request body
{"target": "moz.com"}
Returns
target, seo_metrics, seo_metrics.page_authority, seo_metrics.domain_authority, seo_metrics.spam_score, seo_metrics.linking_domains, seo_metrics.linking_pages, seo_metrics.nofollow_pages
/api/v1/backlink/website
Discover who links to a domain: the linking sites, the exact source and target pages, and the anchor text — the raw material for link-building, competitor research and disavow audits.
Request & response
Request body
{"target": "moz.com"}
Returns
source, updated_at, backlinks[], backlinks[].domain_source, backlinks[].url_source, backlinks[].url_target, backlinks[].anchor_text
/api/v1/backlink/url
Page-level backlinks for a single URL: which pages link to it and with what anchor text. Same response shape as Website Backlinks, scoped to one page instead of the whole domain.
Request & response
Request body
{"target": "https://moz.com/beginners-guide-to-seo"}
Returns
source, updated_at, backlinks[], backlinks[].domain_source, backlinks[].url_source, backlinks[].url_target, backlinks[].anchor_text
Integration basics
A simple API shape built for predictable production workflows.
01. Send JSON
Every endpoint accepts a POST request with Content-Type: Content-Type: application/json.
02. Handle status codes
Expect 401 for missing or invalid keys, 402 for insufficient balance, 422 for invalid request bodies, and 429 for rate limits.
03. Cache repeat lookups
SEO data changes over time. Cache successful responses when your app may request the same data again.
API Balance
Add funds once and use them anytime. Your balance never expires. New accounts start with $1 free.
Starter
$10 to spend
Balance never expires.
A first top-up to kick the tires.
Pro
$115 to spend
+15% bonus
$100 + $15 free
The sweet spot for steady production traffic.
Scale
$1,300 to spend
+30% bonus
$1,000 + $300 free
Best rate per dollar for high-volume workloads.
FAQ
Simple answers for developers using the API.
Pricing & Balance
API & Integration
Start Researching for Free
$1 free balance included • No credit card required • Access all features