# BusinessList Nigeria Business Directory Scraper (`xhimatty/businesslist-nigeria-scraper`) Actor

\[$0.75/1k] Extracts business names, phone numbers, addresses, ratings, reviews, year established, and listing URLs from BusinessList.com.ng.

- **URL**: https://apify.com/xhimatty/businesslist-nigeria-scraper.md
- **Developed by:** [Michael Mathias](https://apify.com/xhimatty) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.75 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Businesslist Nigeria Business Directory Scraper

\[$0.75/1k] Scrape businesslist.com.ng for structured Nigerian business data, including business names, phone numbers, addresses, ratings, reviews, and listing URLs.

> **$0.75 per 1,000 records**

### What This Actor Does

Businesslist.com.ng contains business listings across industries and categories in Nigeria.

This Actor automates the collection of those listings. Provide one or more BusinessList category URLs and the Actor will:

- Open the supplied Businesslist URL.
- Extract the business listings from the page.
- Follow Businesslist pagination automatically.
- Continue until the configured page limit is reached or no next page exists.
- Store the extracted records in the Apify Dataset.

*You provide the URL. The Actor handles the extraction and pagination.*

### Input

| Input                      | Type     | Default               | Description                                              |
| -------------------------- | -------- | --------------------- | -------------------------------------------------------- |
| Businesslist Category URLs | URL list | Electrical Goods      | Businesslist category pages to scrape                    |
| Allowed Domains            | Array    | `businesslist.com.ng` | Domains the scraper is allowed to crawl                  |
| Maximum Pages              | Integer  | `50`                  | Maximum number of pages to scrape from each starting URL |
| Proxy Configuration        | Object   | Residential, Nigeria (`RESIDENTIAL`) | Apify Proxy configuration for accessing BusinessList |

#### Example Input

```json
{
    "startUrls": [
        {
            "url": "https://www.businesslist.com.ng/category/electrical-goods"
        }
    ],
    "allowedDomains": [
        "businesslist.com.ng"
    ],
    "maxPages": 50
}
```

### Output

| Field              | Description                       |
| ------------------ | --------------------------------- |
| `business_name`    | Name of the business              |
| `phone`            | Business phone number             |
| `address`          | Business address                  |
| `year_established` | Year the business was established |
| `rating`           | BusinessList rating               |
| `reviews`          | Number of reviews                 |
| `url`              | BusinessList business listing URL |

#### Example Output

```json
{
    "business_name": "GreenPower Overseas Ltd",
    "address": "35b Unity Road, Off Bank Anthony Way, Ikeja , Lagos, Lagos, Nigeria",
    "phone": "+234 805 506 6066",
    "year_established": 2006,
    "rating": 4.0,
    "reviews": 1,
    "url": "https://www.businesslist.com.ng/company/257260/greenpower-overseas-ltd"
}
```

Export your results as CSV, Excel, or JSON directly from the Apify Dataset.

### Use Cases

Businesslist data can be useful for a range of research, sales, and data collection workflows.

| Use Case                | How the Data Can Be Used                                      |
| ----------------------- | ------------------------------------------------------------- |
| Lead Generation         | Build targeted lists of Nigerian businesses by industry       |
| Sales Prospecting       | Identify businesses and collect available contact information |
| Market Research         | Analyze businesses operating within specific categories       |
| Competitor Research     | Identify businesses listed within the same market             |
| Local Business Research | Research businesses across Nigerian markets and industries    |
| Business Directories    | Collect structured data for directory and database projects   |
| Data Enrichment         | Add BusinessList information to existing business datasets    |
| Market Mapping          | Identify businesses operating across different industries     |
| Business Intelligence   | Combine directory data with other datasets for analysis       |

### How to Use

#### 1. Enter a Businesslist Category URL

Provide the actual businesslist.com.ng category URL you want to scrape.

Example:

```text
https://www.businesslist.com.ng/category/electrical-goods
```

Multiple Businesslist category URLs can be supplied in a single run. Each starting URL is crawled independently up to the configured Maximum Pages limit.

#### 2. Set Maximum Pages

`Maximum Pages` controls the maximum number of pages the Actor can scrape from each starting URL.

The default is **50 pages**.

| Maximum Pages | Maximum Pages Scraped |
| ------------: | --------------------: |
|           `1` |                     1 |
|           `5` |                     5 |
|          `20` |                    20 |
|          `50` |                    50 |
|         `100` |                   100 |

The value is a **maximum**, not a requirement.

If the category has fewer pages than your Maximum Pages, the Actor stops when there are no more pages available.

For example:

| Available Pages | Maximum Pages | Pages Scraped |
| --------------: | ------------: | ------------: |
|               2 |           100 |             2 |
|              20 |            10 |            10 |
|              50 |           100 |            50 |
|             200 |           100 |           100 |

#### 3. Start the Actor

The Actor follows Businesslist pagination automatically and pushes the extracted records to the Apify Dataset.

### Pagination

The Actor automatically detects and follows Businesslist's next-page link.

The crawl stops when either condition is met:

```text
Maximum page limit reached
             OR
No next page available
```

You therefore do not need to know the total number of pages before starting a run.

### Pricing

#### $0.75 per 1,000 records

Pricing is based on the number of records produced by the Actor.

| Records | Approximate Cost |
| ------: | ---------------: |
|     100 |           $0.075 |
|     500 |           $0.375 |
|   1,000 |            $0.75 |
|   5,000 |            $3.75 |
|  10,000 |            $7.50 |

The actual cost depends on the number of records returned by the run.

### Proxy Configuration

**Apify Residential Proxy is enabled and preconfigured by default when running this Actor on Apify.**

The default configuration is:

- **Proxy type:** Residential
- **Proxy group:** `RESIDENTIAL`
- **Proxy country:** Nigeria

#### Important

Do **not** use **Datacenter** proxies.

Do **not** select **No proxy**. Direct requests from Apify infrastructure return HTTP 403.

The Actor has been tested successfully using an **Apify Residential proxy with Nigeria selected as the proxy country**.

The proxy country matters even when running the Actor from Nigeria. Businesslist's blocking behavior is based on the IP address making the request, so the Actor must use a Nigerian residential IP rather than relying on the location of the user running the Actor.

The default configuration in the Apify Console is:

**Proxy configuration → Residential → Proxy groups: `RESIDENTIAL` → Proxy country: `Nigeria`**

### FAQ

#### Do I need an Apify Proxy?

Yes. This Actor uses an Apify Residential Proxy configured for Nigeria (`RESIDENTIAL`) by default. BusinessList.com.ng returns HTTP 403 when accessed directly from Apify infrastructure.

The default configuration is:

- **Proxy type:** Residential
- **Proxy group:** `RESIDENTIAL`
- **Proxy country:** Nigeria

You normally do not need to change these settings before running the Actor.

Datacenter proxies and direct/no-proxy requests have also returned HTTP 403 during testing.

#### Can I scrape an entire Businesslist category?

Yes. Set `Maximum Pages` high enough to cover the category. The Actor automatically stops when Businesslist has no additional page.

#### Can I scrape multiple categories?

Yes. Multiple Businesslist category URLs can be supplied as starting URLs.

#### What happens if I set Maximum Pages to 100 but the category has only 15 pages?

The Actor stops after page 15. It does not attempt to continue beyond the available pagination.

#### What happens if I set Maximum Pages to 1?

Only the first page is scraped.

#### Can I change the maximum page limit?

Yes. `Maximum Pages` accepts any integer greater than or equal to `1`.

### Example Workflow

```text
Businesslist Category URL
          |
          v
   Apify Residential Proxy
   Country: Nigeria
   Group: RESIDENTIAL
          |
          v
     Businesslist
        Page 1
          |
          v
   Extract Listings
          |
          v
      Next Page
          |
          v
   Extract Listings
          |
         ...
          |
          v
    Maximum Pages 
         OR 
    No Next Page
          |
          v
    Apify Dataset
          |
          v
     Export / Use
```

### Related Actors

#### Looking for REO and foreclosure property data?

Check out [Auction.com Scraper - REO & Foreclosure Homes](https://apify.com/xhimatty/auction-com-foreclosure-scraper)

Extract Auction.com foreclosure listings, property details, auction information, and REO data.

#### Looking for e-commerce product data?

Check out [Konga Product Data Scraper](https://apify.com/xhimatty/konga-product-data-scraper)

Extract Konga product listings, prices, sellers, stock availability, and product details.

# Actor input Schema

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

BusinessList.com.ng category URLs to scrape.

## `allowedDomains` (type: `array`):

Domains that the scraper is allowed to crawl.

## `maxPages` (type: `integer`):

Maximum number of pages to scrape from each starting URL.

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

Residential Apify Proxy configured for Nigeria.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.businesslist.com.ng/category/electrical-goods"
    }
  ],
  "allowedDomains": [
    "businesslist.com.ng"
  ],
  "maxPages": 50,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "NG"
  }
}
```

# Actor output Schema

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

Scraped BusinessList business directory records.

# 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://www.businesslist.com.ng/category/electrical-goods"
        }
    ],
    "allowedDomains": [
        "businesslist.com.ng"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("xhimatty/businesslist-nigeria-scraper").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://www.businesslist.com.ng/category/electrical-goods" }],
    "allowedDomains": ["businesslist.com.ng"],
}

# Run the Actor and wait for it to finish
run = client.actor("xhimatty/businesslist-nigeria-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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://www.businesslist.com.ng/category/electrical-goods"
    }
  ],
  "allowedDomains": [
    "businesslist.com.ng"
  ]
}' |
apify call xhimatty/businesslist-nigeria-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,xhimatty/businesslist-nigeria-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/SZAKdmjH9AZcghSaa/builds/hGXnJ8xRbwvPNLFEz/openapi.json
