Ubersuggest Scraper
Pricing
from $1.99 / 1,000 results
Ubersuggest Scraper
Ubersuggest Scraper pulls domain SEO metrics - Moz domain authority, backlinks, referring domains, follow and nofollow split, organic keywords and traffic, keyword position buckets, traffic history and top pages. π For competitive SEO.
Pricing
from $1.99 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Hub
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
π Ubersuggest Scraper β Domain Authority, Backlinks & Organic Traffic SEO Data
The Ubersuggest Scraper pulls domain-level SEO metrics for any list of websites and returns them as structured JSON, ready for a spreadsheet, a dashboard, or a competitive analysis pipeline. For each domain you supply, the actor collects the Moz domain authority, backlink and referring-domain counts split by follow and nofollow, organic keyword and organic traffic figures with their prior-month comparisons, SERP position distribution across the top 3, top 10, top 50 and top 100, historical traffic series, top-country traffic breakdown, top pages and referral authority distribution.
That combination is what makes the dataset useful. Most free SEO checkers hand you a single authority score and stop. This Ubersuggest scraper returns the authority score alongside the keyword portfolio, the traffic history and the position distribution that explain it β which is the difference between knowing a competitor is strong and knowing why.
It runs as a lightweight HTTP client built on curl_cffi, using browser-grade TLS impersonation to reach the Ubersuggest API rather than driving a headless browser. There is no proxy configuration to set up, and country and language targeting are both exposed as inputs so you can pull metrics for the market you actually compete in.
π What Data Can You Extract with This Ubersuggest Scraper?
Each dataset item is a domain-level SEO record. The fields group into six analytical categories.
| Category | Fields | What it gives you |
|---|---|---|
| Record context | data_captured_at, type, domain, country, last_updated | The capture timestamp, the record type, the domain analysed, the country code the metrics were localised to, and when the underlying data was last refreshed |
| Authority & backlinks | moz_domain_authority, backlinks_count, referral_domains, follow_backlinks, nofollow_backlinks | The Moz domain authority score plus the size and composition of the backlink profile, split by follow status |
| Organic keywords | organic_keywords, organic_keywords_last_month | How many keywords the domain ranks for now and last month, giving you a month-on-month delta for free |
| Organic traffic | organic_traffic, organic_traffic_last_month, traffic_history | Estimated organic sessions now and last month, plus the historical series behind them |
| SERP position distribution | keywords_in_top_1_3, keywords_in_top_4_10, keywords_in_top_11_50, keywords_in_top_51_100 | How the keyword portfolio spreads across ranking bands β the shape of a domain's visibility, not just its size |
| Geography & pages | top_country_traffic, top_pages, referral_authority_distribution | Which countries the traffic comes from, which pages earn it, and how backlink authority is distributed across referring sources |
The most informative field group is the position distribution. Two domains can report an identical organic_keywords total while being in completely different competitive positions: one with most of its portfolio in keywords_in_top_1_3 is capturing real traffic, while one concentrated in keywords_in_top_51_100 has visibility on paper and almost none in practice. Any credible competitor assessment has to read the distribution, and the ratio of keywords_in_top_1_3 to total keywords is one of the fastest quality signals available.
π Key Features of the Ubersuggest Scraper
| Feature | Description |
|---|---|
| π Batch domain analysis | Pass an array of domains in urls and each is analysed in turn, producing one comparable record per site |
| π€ Country and language targeting | country and language localise the metrics, so figures reflect the market you actually compete in rather than a global default |
| π Backlink profile composition | Total backlinks, referring domains, and the follow versus nofollow split are returned as separate fields for link-quality assessment |
| π Month-on-month comparisons | Organic keywords and organic traffic each come with a last-month counterpart, so trend direction is available without a second run |
| π SERP position bands | Keyword counts across top 1β3, 4β10, 11β50 and 51β100 reveal the shape of a domain's visibility |
| π Historical traffic series | traffic_history returns the traffic trend rather than a single point, which is what you need to distinguish growth from a spike |
| πΊοΈ Geographic traffic split | top_country_traffic shows which markets actually drive a domain's organic sessions |
| ποΈ Toggleable data sections | Overview, backlinks, backlinks overview, keywords and top pages each have their own boolean input |
| β‘ No browser, no proxy setup | Built on curl_cffi with browser-grade TLS impersonation and requiring no proxy configuration from you |
π Why Choose This Ubersuggest Scraper?
Distribution, not just totals. The four position-band fields turn an abstract keyword count into an interpretable competitive picture. A domain with 40,000 keywords and 200 in the top three is a very different opponent from one with 8,000 keywords and 1,500 in the top three, and only the distribution tells you which you are facing.
Trend data built into a single run. organic_keywords_last_month, organic_traffic_last_month and traffic_history mean one run yields a direction, not just a snapshot. You can identify a domain that is climbing or sliding without having waited a month to collect a second data point.
Backlink quality, not only quantity. Splitting follow_backlinks from nofollow_backlinks and pairing raw backlinks_count with referral_domains exposes the difference between a link profile built from thousands of links on a handful of sites and one built from a genuinely broad set of referrers. referral_authority_distribution adds the authority spread on top.
Batch-native and automation-ready. urls takes a list, every record carries data_captured_at and domain, and the actor is callable through the Apify API and schedulable on cron. That makes running your whole competitive set weekly and appending to a time series a matter of configuration rather than code.
π₯ Input
{"urls": ["make.com"],"keyword": "ai automation","country": "us","language": "en","include_overview": true,"include_backlinks": true,"include_backlinks_overview": true,"include_keywords": true,"include_top_pages": false}
π§ Ubersuggest Scraper Input Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
urls | array of strings | β Yes | ["make.com"] | List of target URLs. |
keyword | string | No | ai automation | Target keyword. |
country | string | No | us | Country code (e.g., us). |
language | string | No | en | Language code (e.g., en). |
include_overview | boolean | No | true | Fetch overview data. |
include_backlinks | boolean | No | true | Fetch backlinks data. |
include_backlinks_overview | boolean | No | true | Fetch backlinks overview. |
include_keywords | boolean | No | true | Fetch keywords data. |
include_top_pages | boolean | No | false | Fetch top pages data. |
π‘ Input Examples
Single-domain overview
{"urls": ["example.com"],"keyword": "project management software","country": "us","language": "en","include_overview": true}
Competitive set in a non-US market
{"urls": ["competitor-a.de", "competitor-b.de", "competitor-c.de"],"keyword": "projektmanagement software","country": "de","language": "de","include_overview": true,"include_backlinks": true}
Full pull including top pages
{"urls": ["example.co.uk"],"keyword": "crm software","country": "gb","language": "en","include_overview": true,"include_backlinks": true,"include_backlinks_overview": true,"include_keywords": true,"include_top_pages": true}
π€ Output
Each dataset item is one domain-level SEO record.
{"data_captured_at": "2026-01-15T10:22:41.318204","type": "domain","domain": "make.com","country": "US","last_updated": "2025-12-01T00:00:00","moz_domain_authority": 71,"referral_domains": 18420,"backlinks_count": 2914503,"follow_backlinks": 2103877,"nofollow_backlinks": 810626,"organic_keywords": 184320,"organic_keywords_last_month": 179804,"organic_traffic": 1420553,"organic_traffic_last_month": 1388210,"keywords_in_top_1_3": 6210,"keywords_in_top_4_10": 14880,"keywords_in_top_11_50": 62430,"keywords_in_top_51_100": 100800}
π§Ύ Ubersuggest Scraper Output Fields
| Field | Type | Description |
|---|---|---|
data_captured_at | string | null | When the data captured happened. |
type | string | null | Type of the item. |
domain | string | null | Domain name of the item. |
country | string | null | Country. |
last_updated | string | null | Last updated of the item. |
moz_domain_authority | number | null | Moz domain authority of the item. |
referral_domains | number | null | Referral domains of the item. |
backlinks_count | integer | null | Number of backlinks. |
follow_backlinks | string | null | Follow backlinks of the item. |
nofollow_backlinks | string | null | Nofollow backlinks of the item. |
organic_keywords | number | null | Organic keywords of the item. |
organic_keywords_last_month | number | null | Organic keywords last month of the item. |
organic_traffic | number | null | Organic traffic of the item. |
organic_traffic_last_month | number | null | Organic traffic last month of the item. |
keywords_in_top_1_3 | number | null | Keywords in top 1 3 of the item. |
keywords_in_top_4_10 | number | null | Keywords in top 4 10 of the item. |
keywords_in_top_11_50 | number | null | Keywords in top 11 50 of the item. |
keywords_in_top_51_100 | number | null | Keywords in top 51 100 of the item. |
traffic_history | array | null | Traffic history of the item. |
top_country_traffic | array | null | Top country traffic of the item. |
top_pages | array | null | Top pages of the item. |
referral_authority_distribution | object | null | Referral authority distribution of the item. |
traffic_history, top_country_traffic, top_pages and referral_authority_distribution are nested structures. If you export to CSV they will be flattened or serialised, so take JSON when you intend to work with them programmatically.
π» How to Use the Ubersuggest Scraper (Step by Step)
Step 1: Open the Ubersuggest Scraper on Apify
Sign in to Apify and open the actor page. Create a free account if you do not have one β an API token will also be needed if you intend to call the Ubersuggest scraper from a script or wire it into a reporting pipeline, which is how most SEO teams end up using it. Click Try for free or Start to open the input form. Every field arrives with a working default, so a demonstration run against make.com requires no configuration at all.
Step 2: Build your domain list
urls is the only required input and takes one domain per line in the string list editor. Bare domains such as example.com are the natural unit here, since the metrics returned are domain-level rather than page-level. Assemble a list that means something analytically: your own site plus four or five direct competitors gives you a comparable cohort, whereas a random assortment of domains produces numbers with nothing to compare them against. Keep the list stable across runs so your time series stays consistent.
Step 3: Set the target keyword
keyword defines the focus term for the analysis and defaults to ai automation. Choose the head term for the category you compete in β the phrase you would most want to rank for, not a long-tail variant. It is worth running the same domain list against two or three different head terms when your product spans several categories, since a domain's competitive position can look strong in one category and weak in an adjacent one.
Step 4: Choose country and language
country takes a two-letter code such as us, gb or de, and language takes a language code such as en or de. These localise the metrics, and getting them right matters more than it might appear. Organic traffic and keyword counts for a European competitor pulled with country set to us will understate their actual position substantially. Match both fields to the market you are analysing, and if you compete in several markets, run the same domain list once per market and keep the results separate.
Step 5: Select which data sections to fetch
Five boolean toggles control what the run collects: include_overview, include_backlinks, include_backlinks_overview, include_keywords and include_top_pages. The first four default to enabled and include_top_pages defaults to disabled. The overview section is what populates the core authority, backlink, keyword and traffic metrics, so leave it on unless you have a specific reason not to. Turning off sections you do not need keeps runs leaner.
Step 6: Run the Ubersuggest scraper and check the log
Click Start. The log reports which domain is being fetched as the run proceeds and records any domain it could not collect data for. Watching it on a first run is worthwhile: a domain that fails usually indicates a typo, a domain with too little search presence to have metrics, or a transient upstream issue that a retry will clear.
Step 7: Export and build your comparison
Open Storage β Dataset when the run finishes. Export to JSON if you want the nested traffic_history, top_pages and top_country_traffic structures intact, or to CSV or Excel for a flat comparison table of the scalar metrics. The first derived column worth adding is the ratio of keywords_in_top_1_3 to organic_keywords β it normalises portfolio quality across domains of very different sizes and usually reorders a naive ranking by keyword count immediately.
π API Access & Integrations
Call the Ubersuggest scraper from your own code or scheduler.
curl -X POST "https://api.apify.com/v2/acts/scrapers-hub~ubersuggest-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"urls": ["make.com", "zapier.com"],"keyword": "ai automation","country": "us","language": "en","include_overview": true}'
Python, using the official client:
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run_input = {"urls": ["make.com", "zapier.com", "n8n.io"],"keyword": "workflow automation","country": "us","language": "en","include_overview": True,"include_backlinks": True,}run = client.actor("scrapers-hub/ubersuggest-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():total = item.get("organic_keywords") or 0top3 = item.get("keywords_in_top_1_3") or 0share = (top3 / total * 100) if total else 0print(f"{item['domain']}: DA {item['moz_domain_authority']}, "f"{total} keywords, {share:.1f}% in top 3")
The Ubersuggest scraper also connects to Zapier, Make, Google Sheets and Slack through Apify's integrations, and a webhook on run completion can push each refreshed SEO snapshot into your reporting stack automatically.
π‘ Best Use Cases for Ubersuggest SEO Data
π Competitor SEO benchmarking
Run your domain alongside your closest competitors with identical keyword, country and language settings, then compare moz_domain_authority, organic_keywords, organic_traffic and the four position bands side by side. Identical parameters are what make the comparison valid β mixing country codes across a cohort produces a table that looks comparable and is not.
π Link building prospecting and gap analysis
referral_domains, follow_backlinks, nofollow_backlinks and referral_authority_distribution describe the shape of a link profile. A competitor with far more referring domains than you at similar authority indicates a breadth gap; one with similar domains but higher authority indicates a quality gap. The two call for completely different outreach strategies.
π Organic traffic trend monitoring
Schedule weekly or monthly runs across a fixed domain list and accumulate organic_traffic, organic_keywords and data_captured_at into a time series. Pair that with traffic_history from each run and you can distinguish a genuine algorithmic hit from ordinary seasonal variation, which a single snapshot never reveals.
π― Content gap and keyword portfolio analysis
The position bands show where a competitor's opportunity lies. A domain with a large keywords_in_top_11_50 count has a substantial set of near-miss rankings, and those pages are where their next traffic gains will come from. Watching that band across scheduled runs is an early indicator of where a competitor is about to strengthen.
π International SEO and market prioritisation
Run the same domains with different country and language combinations, and read top_country_traffic to see where organic sessions actually originate. This exposes markets where a competitor is dominant and markets where the category is still open, which is directly useful when deciding where to invest in localisation.
πΌ Agency reporting and client pitches
The combination of authority score, keyword portfolio, traffic estimate and position distribution is exactly the evidence base a client audit or a new-business pitch needs. Because every record carries data_captured_at and domain, reports remain reproducible and auditable months later.
π Acquisition and domain due diligence
When evaluating a site for purchase, moz_domain_authority, backlinks_count, the follow-to-nofollow ratio, organic_traffic and traffic_history together indicate whether organic performance is durable or declining. A domain with strong headline authority but a falling traffic history is a materially different proposition from one on an upward trend.
βοΈ Tips for Better Ubersuggest Scraping Results
- Keep
countryandlanguageidentical across a comparison set. Mixing localisation parameters within a competitive cohort silently invalidates the comparison, because the underlying metrics are market-specific. - Use bare domains rather than deep URLs in
urls. The metrics returned are domain-level, so supplying a full article URL adds no precision and can confuse the analysis. - Compute the top-3 share as a derived metric.
keywords_in_top_1_3divided byorganic_keywordsnormalises portfolio quality across domains of different sizes and is far more informative than either number alone. - Schedule runs on a fixed cadence and keep the domain list stable. Consistency is what makes the resulting time series interpretable; adding and removing domains between runs makes trend comparison unreliable.
- Export to JSON when you need the nested fields.
traffic_history,top_pages,top_country_trafficandreferral_authority_distributionare structured objects and arrays, and CSV export flattens or serialises them. - Treat traffic and keyword figures as estimates. These are modelled metrics derived from third-party data, not measurements from a site's own analytics. They are reliable for relative comparison between domains and much less so as absolute values.
π οΈ Troubleshooting
A domain returned no data. Check the spelling first, then whether the domain has enough search presence to have metrics at all β very new or very small sites frequently do not. The run log records which domains could not be collected. If a domain you know is established fails repeatedly, retry the run, since transient upstream failures do occur.
The nested fields are empty in my CSV export.
traffic_history, top_pages, top_country_traffic and referral_authority_distribution are nested structures, and CSV cannot represent them natively. Export to JSON instead, or flatten the specific values you need in a post-processing step before writing CSV.
Traffic numbers do not match my Google Analytics. They are not supposed to. These are modelled estimates of organic search traffic derived from third-party keyword and ranking data, whereas Analytics measures actual sessions across all channels. Use the scraped figures for competitive comparison, and your own analytics for absolute measurement of your own site.
top_pages is null even though I enabled the toggle.
include_top_pages defaults to false, so first confirm it was actually set to true in the run input. Beyond that, top-pages data is not available for every domain, and a null value legitimately means the upstream source had nothing to return for that site.
Metrics look stale compared with what I expect.
Check last_updated, which reports when the underlying data was refreshed, separately from data_captured_at, which is when your run collected it. SEO datasets of this kind are refreshed on a periodic cycle rather than continuously, so a gap between the two timestamps is normal.
β Frequently Asked Questions About Ubersuggest SEO Scraping
What does the Ubersuggest Scraper do? It collects domain-level SEO metrics for a list of websites β domain authority, backlink counts and composition, referring domains, organic keyword and traffic figures with month-on-month comparisons, SERP position distribution, traffic history, top-country traffic, top pages and referral authority distribution β and returns them as structured JSON.
Do I need an Ubersuggest account or subscription? No. The actor does not require you to supply any Ubersuggest credentials.
How many domains can I analyse in one run?
urls accepts a list and the actor processes each entry in turn. There is no fixed cap imposed by the actor, though larger lists naturally take longer to complete.
What does the keyword input actually affect?
It sets the target keyword the analysis is focused on. It defaults to ai automation and should be set to the head term for the category you are analysing.
Which country codes does the Ubersuggest scraper accept?
country takes a standard two-letter country code such as us, gb, de or au, and language takes a language code such as en or de. Match both to the market you are analysing.
Is the organic traffic figure accurate? It is an estimate derived from keyword rankings and modelled click-through rates, not a measurement of actual sessions. It is dependable for comparing domains against each other and should not be treated as a substitute for a site's own analytics.
What is the difference between backlinks_count and referral_domains?
backlinks_count is the total number of individual links pointing at the domain, while referral_domains counts the distinct websites those links come from. A high backlink count with few referring domains indicates a narrow, repetitive link profile.
Why are follow and nofollow backlinks reported separately? Because they carry different weight. Follow links pass ranking signals; nofollow links generally do not. Splitting them lets you assess the genuinely useful portion of a link profile rather than a headline total.
What do the keyword position bands mean?
keywords_in_top_1_3, keywords_in_top_4_10, keywords_in_top_11_50 and keywords_in_top_51_100 count how many of a domain's ranking keywords sit in each SERP position range. The distribution reveals whether visibility translates into traffic.
Do I need to configure proxies for this Ubersuggest scraper?
No. The actor makes direct HTTP requests using curl_cffi with browser-grade TLS impersonation, and there is no proxy configuration in the input schema.
Can I schedule the Ubersuggest scraper to run automatically? Yes. Apify's scheduler runs the actor on any cron expression, which is the standard way to build an SEO time series. Attach a webhook if you want each completed run to feed a dashboard or reporting tool.
Can I export the results to Google Sheets? Yes. Apify's Google Sheets integration writes dataset contents directly into a spreadsheet, and CSV, Excel, JSON and XML exports are all available from the Storage tab.
What is the difference between data_captured_at and last_updated?
data_captured_at is the timestamp of your run. last_updated reflects when the underlying SEO dataset was itself refreshed. The two will normally differ, since the source data is updated on a periodic cycle.
How often should I run the Ubersuggest scraper for trend tracking? Monthly suits most competitive monitoring, since the underlying metrics do not change meaningfully day to day. Weekly is reasonable during an active campaign when you want a finer-grained view of movement.
Is scraping SEO data legal? The actor collects publicly accessible aggregate metrics about websites rather than personal data. You remain responsible for compliance with applicable terms of service and law in your jurisdiction, particularly if you redistribute the collected metrics commercially.
π Support & Feedback
If a run fails, a domain consistently returns nothing, or a field stops populating, open a ticket on the Issues tab of the actor page and include the run ID and the exact input you used.
Need something this Ubersuggest scraper does not currently cover, such as page-level metrics, a different data source, or delivery straight into your own warehouse? Email scraperhubapi@gmail.com and describe what you are building.
If the Ubersuggest Scraper is useful to your SEO work, please leave a review on its Apify page. Ratings and written feedback shape which improvements are prioritised next.
βοΈ Disclaimer
The Ubersuggest Scraper collects publicly available aggregate SEO metrics about websites. It does not access private accounts, analytics properties, or any authenticated data source, and the figures it returns are third-party estimates rather than measurements taken from the analysed sites themselves.
You are responsible for how you use the data this Ubersuggest scraper produces, including compliance with applicable terms of service and with any restrictions on the commercial redistribution of third-party SEO metrics. The metrics returned describe websites rather than people, so personal data is not normally involved; where a domain belongs to an individual, such as a personal site or a sole trader, handle the record in line with the GDPR, UK GDPR and equivalent privacy law in your jurisdiction. Traffic, keyword and authority values are estimates and should not be relied upon as the sole basis for financial or acquisition decisions.
This actor is an independent tool and is not affiliated with, endorsed by, or connected to Ubersuggest, Neil Patel Digital, or Moz. All trademarks referenced belong to their respective owners.
If you believe data collected through this actor relates to you and you would like it removed, contact scraperhubapi@gmail.com with the details and the request will be handled promptly.