# ZoomInfo Companies Scraper (`karamelo/zoominfo-companies-scraper`) Actor

Turn a ZoomInfo company profile into a detailed and a ready-to-use business record. Enter a valid profile URL to collect company details such as revenue, workforce size, industry, and location for prospect research and account enrichment.

- **URL**: https://apify.com/karamelo/zoominfo-companies-scraper.md
- **Developed by:** [karamelo](https://apify.com/karamelo) (community)
- **Stats:** 2 total users, 1 monthly users, 71.4% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $17.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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

ZoomInfo Companies Scraper collects company profile data from ZoomInfo, including company names, revenue, employee counts, industries, and headquarters locations. Supply one company profile URL to get one structured company record you can export. Use it to research a specific company or update an existing account record.

### Quick start

Follow these straightforward steps to run your first scrape:

1. **Open the Actor** in your [Apify Console](https://console.apify.com/actors/karamelo/zoominfo-companies-scraper).
2. **Enter a company profile URL**: Try [Amazon's ZoomInfo profile](https://www.zoominfo.com/c/amazon/1475361) in the `url` field.
3. **Start the run**: Click **Start** to initiate collection.
4. **Download results**: Once completed, review the dataset table or export records as JSON, CSV, or Excel.

### What data you can extract

Each output record in the default dataset represents a single company entity with comprehensive business attributes:

- **Identity**: Unique company ID, official entity name, full commercial name, and profile URL.
- **Corporate attributes**: Founding year, public or private status, and corporate description.
- **Financial metrics**: Annual revenue, reporting currency, total funding raised, latest funding amount, and completed funding rounds.
- **Workforce details**: Overall employee count, executive breakdowns across C-level, VP, director, and management tiers, and key contact counts.
- **Industry & categorization**: Primary industry classifications, sub-industries, and standard business classification codes.
- **Location & contacts**: Headquarters address, verified website, official phone number, and fax number.
- **Technology & media**: Detected tech stack elements, proprietary products, news mentions, and similar peer companies.

#### Example output record

The fields below came from the supplied Amazon dataset record captured on October 25, 2026. This is a shortened view of one record: each populated array shows at most two entries, nested objects show selected properties, and empty arrays are retained to show their shape. Values can change at the source. The returned `url` may differ from the URL supplied as input.

```json
{
  "id": "1475361",
  "name": "Amazon",
  "full_name": "Amazon",
  "url": "https://www.zoominfo.com/c/www.amazon.com",
  "company_ids": ["1289528439", "1277191124"],
  "logo": "https://res.cloudinary.com/zoominfo-images/image/upload/w_70,h_70,c_fit/amazon.com",
  "founding_year": "1994",
  "is_public": "Public",
  "revenue": 775680033,
  "revenue_currency": "USD",
  "total_funding_amount": 48000,
  "most_recent_funding_amount": "$48M",
  "funding_currency": "USD",
  "funding_rounds": 1,
  "funding_timeline": [
    { "date": "May 14, 1997", "amountLabel": "$48M", "round": "Stock Issuance/Offering" }
  ],
  "employees": 1595000,
  "total_employees": 1595000,
  "c_level_employees": 170,
  "vp_level_employees": 778,
  "director_level_employees": 12970,
  "manager_level_employees": 138160,
  "non_manager_employees": 388902,
  "top_contacts": 320482,
  "headquarters": "410 Terry Ave N, Seattle, Washington, 98109, United States",
  "address": {
    "street": "410 Terry Ave N",
    "city": "Seattle",
    "state": "Washington",
    "country": "United States",
    "zip": "98109"
  },
  "website": "https://www.amazon.com",
  "phone_number": "(206) 266-1000",
  "fax": "(206) 622-2405",
  "industry": ["Department Stores, Shopping Centers & Superstores", "Retail"],
  "industry_details": [
    { "name": "Department Stores, Shopping Centers & Superstores", "primary": true },
    { "name": "Retail", "primary": true }
  ],
  "business_classification_codes": [
    { "code": "59", "code_type": "SIC" },
    { "code": "596", "code_type": "SIC" }
  ],
  "recently_hired_people": {
    "lastYear": [{ "fullName": "Alexander Orywall", "jobTitle": "Area Manager" }],
    "threeLastMonths": [{ "fullName": "Alexander Orywall", "jobTitle": "Area Manager" }],
    "sixLastMonths": [{ "fullName": "Alexander Orywall", "jobTitle": "Area Manager" }]
  },
  "executives": {
    "CEO": { "fullName": "Liseli Imasiku", "title": "Managing Director" }
  },
  "ceo_rating": { "great": 19, "good": 8, "ok": 4, "bad": 4 },
  "leadership": [],
  "org_chart": [
    {
      "fullName": "Liseli Imasiku",
      "title": "Managing Director",
      "nextLevelList": [{ "fullName": "Jasraj Grewal", "title": "Director, Finance & Chief Financial Officer, Supply Chain Operations For Jp, , Middle , Africa & LATAM (East)" }]
    }
  ],
  "social_media": [
    { "socialNetworkType": "LINKED_IN", "socialNetworkUrl": "http://www.linkedin.com/company/amazon" },
    { "socialNetworkType": "TWITTER", "socialNetworkUrl": "http://www.x.com/amazon" }
  ],
  "popular_searches": ["Amazon.Com Inc", "Amazon"],
  "tech_stack": [
    { "company_name": "Dassault Systèmes", "tech_name": "Solidworks" },
    { "company_name": "Elavon", "tech_name": "Converge" }
  ],
  "products_owned": [
    { "id": 6081, "name": "Amazon Associates", "techMarketShare": "44.86%" },
    { "id": 71538, "name": "Amazon Transparent Ad Marketplace", "techMarketShare": "25.17%" }
  ],
  "acquisitions": [
    { "id": "192659534", "name": "UpNext", "date": "Jul 18, 2022" },
    { "id": "5000046963", "name": "Bee", "date": "Jul 18, 2022" }
  ],
  "buying_intent_signals": [
    { "topic": "Cyber Security", "signalScore": "100", "signalsNumber": "5" },
    { "topic": "Recruiting", "signalScore": "86", "signalsNumber": "4" }
  ],
  "page_views": [],
  "recent_scoops": [],
  "news_and_media": [],
  "similar_companies": [
    { "id": "155353090", "name": "Walmart", "numberOfEmployees": 2100000 },
    { "id": "24904409", "name": "Microsoft", "numberOfEmployees": 223000 }
  ],
  "email_formats": []
}
```

The full record contains more fields and more entries in several arrays. Available values vary by company profile.

#### Dataset fields reference

| Field | Type | Description |
|---|---|---|
| `id` | String | Unique ZoomInfo identifier for the company. |
| `name` | String | Official primary name of the company. |
| `full_name` | String | Full legal or extended business entity name. |
| `url` | String | Canonical ZoomInfo profile URL for the company. |
| `company_ids` | Array | Associated affiliate and subsidiary company identifiers. |
| `logo` | String | URL to the corporate logo asset. |
| `revenue` | Number | Reported annual company revenue in USD. |
| `revenue_currency` | String | Currency standard used for revenue figures (default: `USD`). |
| `employees` | Number | Active headcount or employee count estimate. |
| `total_employees` | Number | Overall employee total across all divisions. |
| `industry` | Array | List of industry and market categories. |
| `headquarters` | String | Formatted location string of company headquarters. |
| `address` | Object | Structured address breakdown (street, city, state, country, zip). |
| `website` | String | Official company corporate website URL. |
| `phone_number` | String | Primary corporate phone contact number. |
| `total_funding_amount` | Number | Cumulative venture and capital funding raised. |
| `funding_rounds` | Number | Total count of recorded funding rounds. |
| `c_level_employees` | Number | Count of executives holding C-level titles. |
| `director_level_employees` | Number | Count of personnel holding Director-level titles. |
| `manager_level_employees` | Number | Count of personnel holding Manager-level titles. |
| `tech_stack` | Array | Documented technology vendor tools and systems used. |
| `similar_companies` | Array | Peer organizations within the same sector and size bracket. |

### Input parameters

Configure the scraper through the Apify Console form or provide a JSON payload via the API:

| Parameter | Type | Default | Required | Effect and constraints |
|---|---|---|---|---|
| `url` | String | No runtime default; the form shows the Amazon profile as an example | Yes | One HTTPS ZoomInfo company profile URL beginning with `https://www.zoominfo.com/c/` or `https://zoominfo.com/c/`. |

#### Input JSON example

```json
{
  "url": "https://www.zoominfo.com/c/amazon/1475361"
}
```

One run accepts one company profile URL and returns at most one company record.

### Use cases and applications

- **Sales prospecting and account enrichment**: Add employee numbers, revenue, and the corporate website to a selected account record.
- **Company research**: Review a selected organization's headquarters, industry, workforce, revenue, and website in one record.
- **CRM data hygiene**: Refresh and validate stale business records in your CRM with standardized company IDs, addresses, and industries.
- **M\&A and investment research**: Review a selected company's funding history, employee count, and technology information when those fields are available.

### Integrations and API usage

Run this Actor programmatically in your applications using the official Apify API clients:

#### JavaScript / Node.js

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

const client = new ApifyClient({
  token: 'YOUR_APIFY_TOKEN',
});

const input = {
  url: 'https://www.zoominfo.com/c/amazon/1475361',
};

const run = await client.actor('karamelo/zoominfo-companies-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Retrieved ${items.length} company records:`, items);
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')

run_input = {
    'url': 'https://www.zoominfo.com/c/amazon/1475361',
}

run = client.actor('karamelo/zoominfo-companies-scraper').call(run_input=run_input)
dataset_items = client.dataset(run['defaultDatasetId']).list_items().items
print(f'Retrieved {len(dataset_items)} company records')
```

### Limitations and considerations

- **Publicly available fields**: Only publicly available profile attributes are returned; private, unlisted, or paywalled contact details are excluded.
- **Profile availability**: Some companies omit fields such as funding or founding year. A profile without a usable company record produces no dataset item.
- **Input scope**: Each run accepts one ZoomInfo company profile URL. Search and directory pages are unsupported.

### Troubleshooting

| Observable symptom | User-visible reason or constraint | What the user can check or change |
|---|---|---|
| Run exits with 0 items | The URL is not a supported company profile, or the profile has no usable public company record | Verify the URL begins with `https://www.zoominfo.com/c/` and opens the intended profile |
| Partial field values are null | The specific company profile does not publicly report that attribute (e.g. founding year or funding) | Expected behavior; public data varies by entity size and registration |
| A page cannot be reached | The source page or connection may be temporarily unavailable | Check the URL and try again later |

### Frequently Asked Questions

#### Can I collect more than one company per run?

No. Supply one company profile URL for each run. The result contains at most one company record.

#### How do I export the scraped data?

Once a run completes, you can download the dataset directly from the Apify Console in JSON, CSV, Excel, XML, or HTML formats, or sync results automatically to cloud destinations using Apify integrations.

# Actor input Schema

## `url` (type: `string`):

One ZoomInfo company profile URL, such as https://www.zoominfo.com/c/amazon/1475361.

## Actor input object example

```json
{
  "url": "https://www.zoominfo.com/c/amazon/1475361"
}
```

# Actor output Schema

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

View the records returned by this run.

# 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 = {
    "url": "https://www.zoominfo.com/c/amazon/1475361"
};

// Run the Actor and wait for it to finish
const run = await client.actor("karamelo/zoominfo-companies-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 = { "url": "https://www.zoominfo.com/c/amazon/1475361" }

# Run the Actor and wait for it to finish
run = client.actor("karamelo/zoominfo-companies-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 '{
  "url": "https://www.zoominfo.com/c/amazon/1475361"
}' |
apify call karamelo/zoominfo-companies-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,karamelo/zoominfo-companies-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/FO6MKidh8pFGfgFjJ/builds/H9sz1L4e8OvGOVXad/openapi.json
