# Ahref Wesite Traffic Checker Unofficial API (`kinaesthetic_millionaire/ahref-traffic`) Actor

Retrieve organic traffic overview data for any list of domains or URLs using Ahrefs' website analytics. Get estimated visits, traffic value, keyword counts, and top-ranking pages — all scraped programmatically without needing an Ahrefs subscription.

- **URL**: https://apify.com/kinaesthetic\_millionaire/ahref-traffic.md
- **Developed by:** [Parsedom Inc](https://apify.com/kinaesthetic_millionaire) (community)
- **Categories:** SEO tools, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Ahref Wesite Traffic Checker

Scrape website traffic and authority overview data from Ahrefs for any list of domains at scale. This actor collects traffic estimates, keyword rankings, top-performing pages, country distribution, and historical traffic trends directly from Ahrefs traffic overview endpoints and exports the data in structured JSON format.

<br>

[![Output example.png](https://i.postimg.cc/YqPBk791/image.png)](https://postimg.cc/vc5NLp5B)

**Caption**: Ahref website traffic checker manual search method\
**Image Credit**: https://ahrefs.com/

### ✨ Features

- **Website traffic data extraction** — Extracts estimated monthly traffic, traffic value, keyword rankings, top pages, and country-level traffic distribution
- **Proxy support** — Supports Apify proxy configuration for reliable large-scale scraping
- **Max results filtering** — Limit how many domains are processed in a single run
- **Captcha bypass** — Automatically handles captcha-protected requests during scraping

### 🔧 Input Configuration

| Field                | Type    | Required | Default                                                     | Description                                                                                               |
| -------------------- | ------- | -------- | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `startUrls`          | array   | ✅       | `https://react-spring.dev/`                                 | List of domain URLs to scrape traffic data for. Accepts plain domain URLs or Ahrefs traffic-checker URLs. |
| `maxResults`         | integer | —        | `1`                                                         | Maximum number of domains to scrape.                                                                      |
| `proxyConfiguration` | object  | —        | `{"useApifyProxy":true,"apifyProxyGroups":["RESIDENTIAL"]}` | Proxy settings for the scraper.                                                                           |

**Supported URL types:**

- Plain domain URLs
  Example: `https://react-spring.dev/`
- Website homepage URLs
  Example: `https://www.notebookcheck.net/`
- Ahrefs traffic-checker URLs

**Sample input:**

```json
{
    "startUrls": [
        {
            "url": "https://react-spring.dev/"
        }
    ],
    "maxResults": 3,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
````

### 📦 Output

Contains URLs, monthly traffic averages, estimated traffic cost, top keywords, top pages, top countries, and historical traffic trends.

**Sample output:**

```json
[
    {
        "url": "https://www.notebookcheck.net/",
        "normalized_url": "https://notebookcheck.net",
        "traffic_history": [
            {
                "date": "2025-12-01",
                "organic": 260697
            },
            {
                "date": "2026-01-01",
                "organic": 260211
            }
        ],
        "traffic": {
            "trafficMonthlyAvg": 492374,
            "costMontlyAvg": 8471493
        },
        "top_pages": [
            {
                "url": "https://www.notebookcheck.net/GTA-6-Fans-have-rarely-been-this-disappointed-with-Rockstar.1307643.0.html",
                "traffic": 10939,
                "share": 8.550569438690564
            },
            {
                "url": "https://www.notebookcheck.net/Vivo-V50-Design-color-options-and-other-key-details-revealed.948817.0.html",
                "traffic": 9032,
                "share": 7.059945440191351
            }
        ],
        "top_countries": [
            {
                "country": "in",
                "share": 26.370937051487292
            },
            {
                "country": "us",
                "share": 25.798960051986647
            }
        ],
        "top_keywords": [
            {
                "keyword": "gta 6",
                "position": 1,
                "traffic": 224000
            },
            {
                "keyword": "vivo v50",
                "position": 7,
                "traffic": 1350000
            }
        ]
    },
    {
        "url": "https://react-spring.dev/",
        "normalized_url": "https://react-spring.dev",
        "traffic_history": [
            {
                "date": "2026-04-01",
                "organic": 12045
            },
            {
                "date": "2026-05-01",
                "organic": 13782
            }
        ],
        "traffic": {
            "trafficMonthlyAvg": 18420,
            "costMontlyAvg": 22419
        },
        "top_pages": [
            {
                "url": "https://react-spring.dev/docs/components/use-spring",
                "traffic": 1930,
                "share": 12.4
            },
            {
                "url": "https://react-spring.dev/docs",
                "traffic": 1588,
                "share": 10.8
            }
        ],
        "top_countries": [
            {
                "country": "us",
                "share": 31.2
            },
            {
                "country": "de",
                "share": 7.1
            }
        ],
        "top_keywords": [
            {
                "keyword": "react spring",
                "position": 2,
                "traffic": 54000
            },
            {
                "keyword": "use spring react",
                "position": 5,
                "traffic": 9200
            }
        ]
    }
]
```

### 💡 Uses of This Data

- SEO competitor analysis across multiple domains
- Estimating website traffic and traffic value for lead generation
- Tracking organic keyword opportunities and rankings
- Discovering high-performing content pages on competitor websites
- Analyzing geographic traffic distribution by country

### 🚀 How to Use

1. [Sign up](https://apify.com/sign-up) for a free Apify account — includes **$5 monthly credit**.
2. Open the actor page and click **Try for free**.
3. Fill in the **Input** fields (start URL or search query is required).
4. Click **Start** and wait for the run to complete.
5. Download results from the **Output** tab in JSON, CSV, or Excel format.

You can also run this actor via the [Apify API](https://docs.apify.com/api/v2) or integrate it directly into your workflows using [Zapier](https://zapier.com/apps/apify), [Make](https://www.make.com/), or [n8n](https://n8n.io/).

### ⚠️ Limitations & Known Issues

- Traffic and keyword metrics are estimates provided by Ahrefs and may vary from actual analytics data.

### 📝 Notes

- **Proxy recommended for large-scale scraping** — For high-volume runs, enable the Apify Residential or Datacenter proxy to avoid blocks.
- **API integration** — This actor can be called as an API from any automation platform (Zapier, Make, n8n, custom scripts).

### 💬 Support & Contact

Need help or a custom scraper?

- 📧 <info@parsedom.com>
- 🌐 <https://parsedom.com>
- 💼 Fiverr: <https://www.fiverr.com/s/rEmNqEb>
- 🤖 Apify expert page: <https://apify.com/partners/find/parsedom-inc>

# Actor input Schema

## `startUrls` (type: `array`):

List of domain URLs to scrape traffic data for. Accepts plain domain URLs or Ahrefs traffic-checker URLs.

## `maxResults` (type: `integer`):

Maximum number of domains to scrape.

## `proxyConfiguration` (type: `object`):

Proxy settings for the scraper.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://react-spring.dev/"
    }
  ],
  "maxResults": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://react-spring.dev/"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("kinaesthetic_millionaire/ahref-traffic").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://react-spring.dev/" }],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("kinaesthetic_millionaire/ahref-traffic").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://react-spring.dev/"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call kinaesthetic_millionaire/ahref-traffic --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=kinaesthetic_millionaire/ahref-traffic",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Ahref Wesite Traffic Checker Unofficial API",
        "description": "Retrieve organic traffic overview data for any list of domains or URLs using Ahrefs' website analytics. Get estimated visits, traffic value, keyword counts, and top-ranking pages — all scraped programmatically without needing an Ahrefs subscription.",
        "version": "1.0",
        "x-build-id": "WVyDly0SMWWs6VZWl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/kinaesthetic_millionaire~ahref-traffic/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-kinaesthetic_millionaire-ahref-traffic",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/kinaesthetic_millionaire~ahref-traffic/runs": {
            "post": {
                "operationId": "runs-sync-kinaesthetic_millionaire-ahref-traffic",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/kinaesthetic_millionaire~ahref-traffic/run-sync": {
            "post": {
                "operationId": "run-sync-kinaesthetic_millionaire-ahref-traffic",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "List of domain URLs to scrape traffic data for. Accepts plain domain URLs or Ahrefs traffic-checker URLs.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of domains to scrape.",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings for the scraper."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
