# South Africa CIPC Scraper | ZA Company Registry Lookup (`parseforge/south-africa-cipc-scraper`) Actor

Search South African companies via the CIPC and GLEIF index. Pull company number, name, LEI, legal form, status, incorporation date and registered address. CSV, Excel, JSON or XML for B2B lead generation, KYC, due diligence and South African market research at scale.

- **URL**: https://apify.com/parseforge/south-africa-cipc-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Other
- **Stats:** 3 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 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.
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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🇿🇦 South Africa CIPC Scraper

> 🚀 **Export South African company records in seconds.** Search the CIPC (Companies and Intellectual Property Commission) registry by company name. CSV, Excel, JSON, or XML.

> 🕒 **Last updated:** 2026-05-26 · **📊 11 fields** per record · **Millions of South African companies** · **CIPC active and dissolved entities**

The South Africa CIPC Scraper pulls company records from the CIPC registry via authorized public mirrors. Each record includes the company registration number, name, type, status, incorporation date, and registered address.

The CIPC maintains records on every registered company and close corporation in South Africa - active, dissolved, deregistered, and in business rescue. This scraper provides programmatic access for lead generation, KYC, and market research.

**Target Audience / Use Cases**

| Who | Why |
|---|---|
| Lead generation teams | Build South African B2B lists |
| KYC/compliance | Verify SA counterparties |
| Sales teams | Source target accounts in South Africa |
| Recruiters | Identify SA employers |
| Researchers | Study the SA corporate sector |
| Journalists | Investigate SA company structures |

---

### 📋 What the South Africa CIPC Scraper does

- Searches the South African company registry by name or registration number
- Returns 11 structured fields per record
- Includes status and incorporation date
- Exports to CSV, Excel, JSON, or XML

> 💡 **Why it matters:** South Africa is the most industrialized economy in sub-Saharan Africa. Programmatic access to CIPC records enables scaled lead generation, KYC, and market intelligence.

---

### 🎬 Full Demo

_🚧 Coming soon_

---

### ⚙️ Input

<table>
<tr><th>Field</th><th>Type</th><th>Default</th><th>Description</th></tr>
<tr><td>maxItems</td><td>integer</td><td>10</td><td>Maximum records</td></tr>
<tr><td>query</td><td>string</td><td>shoprite</td><td>Company name or registration number</td></tr>
</table>

**Example 1 - Search by company name:**
```json
{
    "maxItems": 50,
    "query": "sasol"
}
````

**Example 2 - Search by registration number:**

```json
{
    "maxItems": 1,
    "query": "1991/004618/07"
}
```

> ⚠️ **Good to Know:** CIPCs direct portal requires a paid account. This scraper uses the OpenCorporates public mirror which has CIPC data integrated. Some recent filings may have a short delay.

***

### 📊 Output

Each record contains up to 11 fields:

| Field | Type | Description |
|---|---|---|
| 🔢 `companyNumber` | string | CIPC registration number |
| 🏢 `companyName` | string | Company name |
| 🌍 `jurisdiction` | string | ZA |
| 🏷️ `companyType` | string | Company type |
| 📋 `status` | string | Active/dissolved/deregistered |
| 📅 `incorporationDate` | string | Incorporation date |
| 📅 `dissolutionDate` | string | Dissolution date if applicable |
| 📍 `registeredAddress` | string | Registered address |
| 🔗 `opencorporatesUrl` | string | OpenCorporates URL |
| 🔗 `sourceUrl` | string | CIPC source link |
| 🕒 `scrapedAt` | string | Timestamp |

**Sample record:**

```json
{
  "companyNumber": "1936/007721/06",
  "companyName": "SHOPRITE HOLDINGS LTD",
  "jurisdiction": "za",
  "companyType": "Public Company",
  "status": "In Business",
  "incorporationDate": "1936-10-29",
  "registeredAddress": "Cnr William Dabs and Old Paarl Roads, Brackenfell, 7560",
  "opencorporatesUrl": "https://opencorporates.com/companies/za/1936-007721-06",
  "sourceUrl": "https://www.cipc.co.za/?page_id=2997",
  "scrapedAt": "2026-05-26T12:00:00.000Z"
}
```

***

### ✨ Why choose this Actor

- 🇿🇦 **South Africa-focused** company data
- 🔄 **Real-time** scraping
- 📑 **11 fields per record**
- 📦 **Batch export**
- 💰 **Pay-per-result**
- 🚫 **No CIPC account required**

***

### 📈 How it compares to alternatives

| Feature | This Actor | CIPC eServices | OpenCorporates ZA |
|---|---|---|---|
| No CIPC account | Yes | No | Yes |
| Bulk export | Yes | Limited | Yes |
| Pagination | Automatic | Manual | Manual |
| Status tracking | Yes | Yes | Yes |
| Pay-per-result | Yes | Subscription | Free |

***

### 🚀 How to use

1. **Create a free account** at [Apify](https://console.apify.com/sign-up?fpr=vmoqkp) (includes $5 free credit)
2. Open the **South Africa CIPC Scraper** actor page and click **Try for free**
3. Enter your company name or registration number
4. Optionally set **maxItems** and other filters
5. Click **Start** and wait for the run to finish
6. Download your dataset as **CSV, Excel, JSON, or XML**

***

### 💼 Business use cases

#### South African B2B Lead Generation

Build target account lists in South Africa by keyword for sales outreach.

#### KYC for African Markets

Verify South African counterparties in onboarding workflows without a CIPC subscription.

#### Market Mapping

Identify SA competitors and adjacent companies for market research.

#### Recruitment Sourcing

Build SA employer lists for talent outreach.

***

### 🔌 Automating South Africa CIPC Scraper

Connect this actor to your workflow with no-code tools:

- **Make (Integromat)** - send new records to Google Sheets, Airtable, or Slack
- **Zapier** - automate alerts when new records are found
- **n8n** - build pipelines that run on a schedule and push to your warehouse
- **Webhooks** - get notified when a run completes via Apify webhooks

***

### 🌟 Beyond business use cases

#### Independent Researchers

Independent founders can research existing SA companies before incorporating their own.

#### Journalism and Investigations

Journalists can investigate SA corporate structures, especially state capture cases.

#### Non-Profit and Policy Research

Researchers studying SA economic policy can use registry data as evidence.

#### Education

Business schools use SA registry data in African market case studies.

***

### 🤖 Ask an AI assistant about this scraper

You can ask your AI assistant questions like:

- "How do I search South African companies?"
- "What is CIPC?"
- "How do I verify a SA (Pty) Ltd?"
- "What is the CIPC registration number format?"

The answers will reference this actor and the South African CIPC registry.

***

### ❓ Frequently Asked Questions

**What is CIPC?**
Companies and Intellectual Property Commission, the SA company and IP registrar.

**What is a CIPC registration number?**
A YYYY/NNNNNN/NN formatted ID (e.g. 1991/004618/07).

**Does this require a CIPC account?**
No.

**Are deregistered companies included?**
Yes. The status field shows current state.

**What types of entities are in the registry?**
Companies, close corporations, cooperatives, and external companies.

**How current is the data?**
New filings appear within days to weeks.

**Can I export to Excel?**
Yes.

**How many records per run?**
Free: 10. Paid: up to 1,000,000.

**Can I get directors or shareholder data?**
Not in this version. CIPC requires login for those fields.

**What if a search returns no results?**
Try a different spelling or use the registration number.

**Can I run on a schedule?**
Yes.

***

### 🔌 Integrate with any app

Connect your dataset to 1,500+ apps via Apify integrations:

**Analytics:** Google Sheets, Airtable, Microsoft Excel, Tableau, Power BI
**Databases:** PostgreSQL, MySQL, MongoDB, BigQuery, Snowflake
**Communication:** Slack, Microsoft Teams, email notifications
**Storage:** Google Drive, Dropbox, Amazon S3, Azure Blob
**Automation:** Make, Zapier, n8n, Pipedream

***

### 🔗 Recommended Actors

| Actor | What it does |
|---|---|
| [Argentina AFIP Scraper](https://apify.com/parseforge/argentina-afip-scraper) | Argentine CUIT lookups |
| [Netherlands KvK Scraper](https://apify.com/parseforge/netherlands-kvk-scraper) | Dutch company registry |
| [France SIRENE Scraper](https://apify.com/parseforge/france-sirene-scraper) | French company registry |

> 💡 **Pro Tip:** Browse the complete [ParseForge collection](https://apify.com/parseforge) for more government data, business intelligence, and research scrapers.

***

**Disclaimer:** This tool accesses publicly available South African company data via authorized mirrors. ParseForge is not affiliated with CIPC. Users are responsible for compliance with applicable laws and CIPC terms of use.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: 10. Paid: up to 1,000,000

## `query` (type: `string`):

Company name or registration number

## Actor input object example

```json
{
  "maxItems": 10,
  "query": "shoprite"
}
```

# Actor output Schema

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

Scraped 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 = {
    "maxItems": 10,
    "query": "shoprite"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/south-africa-cipc-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 = {
    "maxItems": 10,
    "query": "shoprite",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/south-africa-cipc-scraper").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 '{
  "maxItems": 10,
  "query": "shoprite"
}' |
apify call parseforge/south-africa-cipc-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/south-africa-cipc-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "South Africa CIPC Scraper | ZA Company Registry Lookup",
        "description": "Search South African companies via the CIPC and GLEIF index. Pull company number, name, LEI, legal form, status, incorporation date and registered address. CSV, Excel, JSON or XML for B2B lead generation, KYC, due diligence and South African market research at scale.",
        "version": "0.1",
        "x-build-id": "SP0dwbWG226N5Stme"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~south-africa-cipc-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-south-africa-cipc-scraper",
                "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/parseforge~south-africa-cipc-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-south-africa-cipc-scraper",
                "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/parseforge~south-africa-cipc-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-south-africa-cipc-scraper",
                "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",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: 10. Paid: up to 1,000,000"
                    },
                    "query": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Company name or registration number"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
