Domain Analysis | SE Ranking SEO & AI Search API avatar

Domain Analysis | SE Ranking SEO & AI Search API

Pricing

Pay per usage

Go to Apify Store
Domain Analysis | SE Ranking SEO & AI Search API

Domain Analysis | SE Ranking SEO & AI Search API

This collection of endpoints allows you to perform in-depth competitive analysis on any domain. Use these requests to uncover keyword strategies, traffic trends, and competitor performance in both organic and paid search.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

SE Ranking

SE Ranking

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

12 days ago

Last modified

Share

What is SE Ranking Domain Analysis API Actor?

SE Ranking Domain Analysis gives you search-performance data for any domain or URL straight from SE Ranking's Data API: organic and paid keywords, traffic estimates, position changes, top pages, subdomains, competitors, keyword gaps and paid ads. Pick an endpoint, enter a domain, press Start, and get the result as a dataset you can download as JSON, CSV or Excel or pull through the Apify API.

The data is refreshed monthly and covers 188+ regional databases, so you can compare a domain's visibility in the US, the UK, Germany or any other market.

What can this Actor do?

  • 🔎 Domain overview for one regional database or worldwide (organic and paid keywords, traffic, traffic value, top-position distribution)
  • 📈 History - monthly trends of keywords and traffic for a domain
  • 🔑 Keyword rankings with positions, volume, CPC, difficulty, intent, SERP features, and 25+ filters
  • 📄 Top pages and 🌐 subdomains with traffic and keyword counts
  • 🥊 Competitors and keyword gap / overlap between two domains
  • 📢 Paid ads - which ads a domain runs, or who advertises on a keyword
  • ⏱️ Runs on the Apify platform: schedule it, call it through the API, connect it to Make, n8n, Zapier or Google Sheets, and get notified when a run fails

What data can you extract?

Endpoint (choose in the Endpoint field)What you get
Get domain overview by region (overview/db)Organic + paid keyword counts, traffic, traffic value, position changes for one country database
Get worldwide domain overview (overview/worldwide)The same metrics aggregated worldwide, optionally split by country
Get worldwide URL overview (overview/worldwide/url)Worldwide keywords, traffic and traffic value for a single URL
Get domain traffic & keyword history (overview/history)One row per month: keywords, traffic, traffic value, top-position buckets
Get domain keyword rankings (keywords)One row per keyword: position, previous position, volume, CPC, competition, difficulty, intents, SERP features
Get domain pages (pages)One row per ranking page: keywords, traffic, traffic share, intent split
Get domain subdomains (subdomains)One row per subdomain with keywords, traffic and traffic value
Get paid ads (ads)Keywords a domain advertises on, or domains advertising on a keyword, with ad copy and landing pages
Get domain competitors (competitors)Competing domains with common keywords, relevance and traffic
Analyze keyword overlap and gaps (keywords/comparison)Keywords two domains share, or that one ranks for and the other does not

How to use SE Ranking Domain Analysis

  1. Open the Actor and go to the Input tab.
  2. Choose an Endpoint.
  3. Fill in the Base parameters section: domain (or url) and source, the regional database code such as us, de or uk.
  4. Open the section that matches your endpoint (for example keywords parameters) and set the options you need. Everything else is ignored for that endpoint.
  5. Click Start and wait a few seconds.
  6. Open the Output tab and export the dataset as JSON, CSV or Excel, or read it through the API.

Which fields does each endpoint use?

EndpointRequired fieldsNotes
overview/dbsource, domain or url
overview/worldwidedomain or urlNo source - it is worldwide
overview/worldwide/urlurl
overview/historysource, domain or urltype: organic or paid
keywordssource, domain or urlIf both are set, url wins. year and month must be set together for a historical snapshot
pages, subdomainstarget, scope, sourcescope: base_domain or domain (url only for pages)
adssource + domain or keywordFill keyword to see who advertises on it; otherwise domain is used
competitorssource, domain
keywords/comparisonsource, domain or url, comparediff: 0 = common keywords, 1 = keyword gap

Field names match the SE Ranking API parameter names, so the API reference applies one to one. The description under every field says which endpoints use it and which values are valid.

Filtering tips

  • Keyword text: type it in lowercase. filter[keyword] and filter[multi_keyword_included] match case-sensitively against lowercase keywords; the Actor lowercases plain text for you.
  • Plain text is enough for filter[keyword], filter[domain_url], filter[url] and filter[multi_keyword_*] - the Actor builds the JSON the API expects. For AND/OR logic in filter[multi_keyword_included] paste raw JSON, for example [[{"type":"contains","value":"seo tools"},{"type":"begins","value":"free"}]] (inner array = AND, outer array = OR; types: contains, begins, ends, exact).
  • Sorting keeps each endpoint's own default when order_field and order_type are empty.

How much does it cost to use SE Ranking Domain Analysis?

Each run makes one request to SE Ranking's Domain Analysis API and returns one page of results (up to the 10).

Input and output examples

Input example

{
"endpoint": "keywords",
"source": "us",
"domain": "seranking.com",
"type": "organic",
"limit": 5,
"order_field": "volume",
"filter[difficulty][to]": 30
}

Output example (keywords)

Each keyword is one dataset item. Sample values:

{
"keyword": "ranking",
"position": 4,
"prev_pos": 4,
"volume": 22400,
"cpc": 0,
"competition": 0,
"difficulty": 59,
"url": "https://seranking.com/",
"traffic": 836,
"traffic_percent": 2.09,
"price": 0,
"serp_features": ["sitelinks", "video", "sge", "related_searches"],
"intents": ["I", "N"]
}

Overview endpoints return a single item with organic and adv blocks; list endpoints (keywords, pages, subdomains, ads, competitors, keywords/comparison, overview/history) return one item per row.

Use it through the Apify API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('se_ranking/domain-analysis').call({
endpoint: 'keywords/comparison',
source: 'us',
domain: 'seranking.com',
compare: 'semrush.com',
diff: '1',
limit: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

FAQ

How often is the data updated?

Domain Analysis data is refreshed monthly. Use overview/history for month-by-month trends or the year and month fields of keywords for a past snapshot.

Why is my result empty?

The usual causes:

  • A filter is too narrow, or a keyword filter was typed with capital letters (see Filtering tips).
  • year and month were not set together, or the month is outside the retention window.
  • The source code is wrong. Use uk for the United Kingdom, not gb.
  • domain and url were both set for keywords: url takes precedence and only that exact URL is analyzed.

How do I find keywords my competitor ranks for and I don't?

Use keywords/comparison, put the competitor in domain, yourself in compare, and set diff to 1. Swapping the two flips the direction of the gap.

Are historical keyword rows different from current ones?

Yes. Historical snapshots use previous_position instead of prev_pos, return volume and traffic as strings, use long intent names such as INFORMATIONAL, and omit total_sites and block_type.

Can I schedule runs and send the data elsewhere?

Yes. Use Apify schedules for recurring runs, webhooks or integrations (Make, n8n, Zapier, Google Sheets) to move the data, and the API example above for custom code.

Are there usage limits?

Yes. To keep the service available for everyone, each Apify account has a fair-use limit on the number of runs (one run = one request to SE Ranking's API). When the limit is reached, the run stops with a message that tells you when the counter resets (00:00 UTC).

Where can I get help?

https://help.seranking.com/hc/en-us