# Saudi Companies Directory Scraper - scrape companies data (`boring_internet_explorer/saudi-companies-ecosystem-scraper`) Actor

Scrapes structured directory data from ecosystemsa.com — Saudi Arabia's business ecosystem directory covering VCs, angel groups, accelerators, incubators, coworking spaces, legal services, payment gateways, and startups. Returns entity data: names, descriptions, and contacts.

- **URL**: https://apify.com/boring\_internet\_explorer/saudi-companies-ecosystem-scraper.md
- **Developed by:** [Boring Internet Explorer](https://apify.com/boring_internet_explorer) (community)
- **Categories:** Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.80 / 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 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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Saudi Companies Directory Scraper - scrape business & startup ecosystem data from ecosystemsa.com

Scrapes structured directory data from **EcosystemSA** (`ecosystemsa.com`), a directory of the Saudi business and startup ecosystem covering venture capital firms, angel groups, accelerators, incubators, coworking spaces, legal services, payment gateways, courses, podcasts, news media, events, groups, and startups. Given a module or entity page, the scraper collects every listing and returns structured data for each one — including bilingual names and descriptions, contact details, logos, and category-specific fields like investment focus or funding stage.

### Why use this scraper?

EcosystemSA maps out the entire Saudi startup and business support landscape in one place — VCs, accelerators, incubators, coworking spaces, legal and payment service providers, and the startups themselves — each with rich, category-specific detail (investment regions, stage focus, founders, and more for VCs; similar structured fields for other modules). That makes it a useful source for:

- 🧭 Market mapping — building a comprehensive view of who funds, supports, and services startups in Saudi Arabia.
- 💰 VC and investor research — investment regions, stage focus, and fund type for every active venture capital firm listed.
- 🚀 Startup discovery and lead generation — sourcing companies, founders, and contact points across the ecosystem.
- 🏢 Ecosystem infrastructure research — accelerators, incubators, coworking spaces, and supporting organizations in one dataset.
- 🌍 Bilingual data collection — names and descriptions in both Arabic and English for every entity.

### Input

| Field                | Type   | Description                                         |
| -------------------- | ------ | --------------------------------------------------- |
| `startUrls`          | array  | EcosystemSA module or entity page URLs to scrape.   |
| `maxItems`           | number | Maximum number of entities to scrape per start URL. |
| `proxyConfiguration` | object | Optional proxy settings.                            |

#### Example input

```json
{
  "maxItems": 5,
  "startUrls": [{ "url": "https://ecosystemsa.com/ar/modules/startups" }],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

### Output

```json
{
  "url": "https://ecosystemsa.com/ar/modules/vcs/2ee2ea39-3971-40c1-8848-7bbf5045e316",
  "scrapedAt": "2026-07-24T15:33:31.625Z",
  "createdAt": "2026-02-19T11:52:55.888873",
  "updatedAt": "2026-04-07T12:42:55.175402",
  "id": "2ee2ea39-3971-40c1-8848-7bbf5045e316",
  "name": "Raed Ventures",
  "nameAr": "رائد فنتشرز",
  "website": "http://raed.vc/",
  "category": "Venture_Capitalists",
  "isActive": true,
  "logoUrl": "https://pub-596b8b92e6c04a3a8d3150a9aa00f3fe.r2.dev/images/venture_capitalists/Raed_VC_v3_e5d179.jpg",
  "investmentRegions": ["MENA"],
  "stageFocus": ["Early Stage"],
  "vcType": "VC Fund",
  "description": "Active VC fund focuses on MENA Seed to Series A. Headed by Omar Almajdouie, Talal Alasmari, Saed Nashef, Wael Nafee",
  "descriptionAr": "صندوق استثماري نشط. تركيز الاستثمار محلي من مرحلة البذرة إلى جولة أ . بقيادة عمر المجدوعي, طلال الأسمري, سائد ناشف, وائل نافع",
  "founders": "Omar Almajdouie, Talal Alasmari, Saed Nashef, Wael Nafee",
  "location": null,
  "focusIndustries": []
}
```

#### Field reference

| Field               | Type             | Description                                                                    |
| ------------------- | ---------------- | ------------------------------------------------------------------------------ |
| `url`               | string           | Entity detail page URL.                                                        |
| `scrapedAt`         | string           | ISO timestamp the record was scraped.                                          |
| `createdAt`         | string | null   | Timestamp the entity was added to EcosystemSA.                                 |
| `updatedAt`         | string | null   | Timestamp the entity was last updated.                                         |
| `id`                | string | null   | EcosystemSA's internal UUID for this entity.                                   |
| `name`              | string | null   | Entity name in English.                                                        |
| `nameAr`            | string | null   | Entity name in Arabic.                                                         |
| `website`           | string | null   | Entity's website URL.                                                          |
| `category`          | string | null   | Module/category the entity belongs to (e.g. `Venture_Capitalists`, `Support`). |
| `isActive`          | boolean | null  | Whether the listing is currently active.                                       |
| `logoUrl`           | string | null   | Logo image URL.                                                                |
| `investmentRegions` | string\[] | null | Regions the entity invests in (VC/angel/venture-debt modules only).            |
| `stageFocus`        | string\[] | null | Funding stages the entity focuses on (VC/angel/venture-debt modules only).     |
| `vcType`            | string | null   | Type of investment vehicle, e.g. `VC Fund` (VC module only).                   |
| `description`       | string | null   | Entity description in English.                                                 |
| `descriptionAr`     | string | null   | Entity description in Arabic.                                                  |
| `founders`          | string | null   | Named founders or leadership, where listed.                                    |
| `location`          | string | null   | Physical location, when available.                                             |
| `focusIndustries`   | string\[] | null | Industries the entity focuses on, where applicable.                            |

### ❓ FAQ

**Which categories does the scraper cover?**
All modules listed on EcosystemSA: venture capital, angel groups, venture debt, venture builders, crowdfunding, loan funding, accelerators, incubators, legal services, payment gateways, coworking spaces, supporting organizations, courses, podcasts, news media, events, groups, and Saudi startups.

**Can I scrape a specific entity directly?**
Yes — the scraper accepts individual entity detail page URLs as well as module listing pages, and starts from either.

**Is the data available in both Arabic and English?**
Yes — every entity includes both `name`/`nameAr` and `description`/`descriptionAr` fields where the underlying data exists on EcosystemSA.

**Can I track changes to the ecosystem over time?**
Yes — by scheduling runs on Apify, you can monitor new entrants, updates to existing listings, and changes in active/inactive status across any module.

***

### 🔗 Want More Data in the Gulf Market?

#### If you found this scraper useful, check out our other scrapers:

[🥷🏽 Ninja نينجا Product Scraper](https://apify.com/boring_internet_explorer/ninja-product-scraper) — Extract product data from ananinja.com — prices, stock availability, brands, images, product IDs, and category for groceries, pharmacy, beauty, and household products across Saudi Arabia, Bahrain, Qatar, and Kuwait. Ideal for price monitoring, catalog synchronization, and market research.

[eXtra - اكسترا Product Scraper - Extract extra.com Products](https://apify.com/boring_internet_explorer/extra-scraper) — Extract product data from extra.com — prices, discounts, stock availability, brands, images, model numbers, ratings, and category breadcrumbs — across Saudi Arabia, Oman, and Bahrain in both English and Arabic. Ideal for price monitoring, catalog sync, and market research.

[Jarir جرير Product Scraper - scrape product data from jarir.com](https://apify.com/boring_internet_explorer/jarir-scraper#jarir-jryr-product-scraper-scrape-product-data-from-jarircom) - Scrape product data from jarir.com, the GCC's leading retailer for electronics, books and office supplies — pricing, stock, brand, images and categories across all 5 storefronts (KSA, UAE, Qatar, Bahrain, Kuwait).

***

### 🛠️ Need a custom extension?

Need this scraper adapted to your use case — extra fields, a specific module only, or a different output format? Just reach out to us by email and we'll be happy to help.

# Actor input Schema

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

URLs to scrape

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

The maximum number of items to fetch

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

Your proxy configuration from Apify

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://ecosystemsa.com/ar/modules/startups"
    }
  ],
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (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://ecosystemsa.com/ar/modules/startups"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("boring_internet_explorer/saudi-companies-ecosystem-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://ecosystemsa.com/ar/modules/startups" }] }

# Run the Actor and wait for it to finish
run = client.actor("boring_internet_explorer/saudi-companies-ecosystem-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 '{
  "startUrls": [
    {
      "url": "https://ecosystemsa.com/ar/modules/startups"
    }
  ]
}' |
apify call boring_internet_explorer/saudi-companies-ecosystem-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=boring_internet_explorer/saudi-companies-ecosystem-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Saudi Companies Directory Scraper - scrape companies data",
        "description": "Scrapes structured directory data from ecosystemsa.com — Saudi Arabia's business ecosystem directory covering VCs, angel groups, accelerators, incubators, coworking spaces, legal services, payment gateways, and startups. Returns entity data: names, descriptions, and contacts.",
        "version": "0.0",
        "x-build-id": "tYBZPVRPNeE15RZaQ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/boring_internet_explorer~saudi-companies-ecosystem-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-boring_internet_explorer-saudi-companies-ecosystem-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/boring_internet_explorer~saudi-companies-ecosystem-scraper/runs": {
            "post": {
                "operationId": "runs-sync-boring_internet_explorer-saudi-companies-ecosystem-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/boring_internet_explorer~saudi-companies-ecosystem-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-boring_internet_explorer-saudi-companies-ecosystem-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",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "URLs to scrape",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Max items",
                        "type": "integer",
                        "description": "The maximum number of items to fetch",
                        "default": 5
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Your proxy configuration from Apify",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
