# Pipedrive Marketplace · App Vendor Emails & Installs (`corent1robert/pipedrive-marketplace-vendor-contacts`) Actor

Export every SaaS vendor listed on the Pipedrive Marketplace: company, public support email, website, install band, rating and use cases. One row per app, ready for partner, integration or B2B outreach. Filter by use case, keyword or installs. No login. No API key.

- **URL**: https://apify.com/corent1robert/pipedrive-marketplace-vendor-contacts.md
- **Developed by:** [Corentin Robert](https://apify.com/corent1robert) (community)
- **Security:** Limited permissions
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.50 / 1,000 vendor exporteds

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

## Pipedrive Marketplace · App Vendor Emails & Installs

Export the SaaS companies behind every app on the [Pipedrive Marketplace](https://www.pipedrive.com/en/marketplace): company name, public support email, website, install band, rating, review count and use cases. One row per app, ready for a CRM or a cold email tool.

**No login. No API key. About 95% of apps come with a public support email.**

### Who is this for?

| Persona | Typical goal | Suggested setup |
|---|---|---|
| Agencies and consultants selling CRM services | Pitch integration, onboarding or growth services to SaaS vendors | Use case: All apps, Max vendors: 0 |
| SaaS founders building integrations | Find co-marketing and partnership targets that already sell to sales teams | Use case: Qualify leads or Automate pipeline |
| Partner and channel managers | Map competing and complementary apps in the Pipedrive ecosystem | Use case: All apps, Email only: off |
| B2B data and lead-gen teams | Build a list of sales-tech vendors with verified public inboxes | Keyword: "email, outreach, dialer" |
| Investors and market analysts | Track who is listed, how apps are rated and how many reviews they collect | Market map view |
| Freelance developers | Offer custom work to vendors with many installs and reviews | Minimum installs: 100 |

**What you get by default:** the full catalog (about 530 apps) is read in about one minute. Every row has the app name, company, website and use cases. 95% have a public support email (most are role inboxes such as support@ or help@, about 8% are named inboxes). Pipedrive only shows an install band for its most used apps (about 10% of rows), so `installsLabel` is often empty: use `reviewsCount` and `ratingAverage` as a size signal instead.

### Quick start

1. Pick a **Use case** (or keep **All apps**).
2. Click **Start**.
3. Download the result as CSV, Excel or JSON, or open the **Outreach** view.

### Ready-made examples

- All Pipedrive app vendors with a support email
- Lead qualification and prospecting apps (Qualify leads)
- Telephony and messaging vendors (Communicate with leads, keyword "call, sms, whatsapp")
- Most installed apps (Minimum installs: 100)

### What it extracts

| Field | Example |
|---|---|
| appName | Surfe |
| companyName | Surfe |
| supportEmail | help@surfe.com |
| emailType | role / personal / free_webmail |
| website / websiteDomain | https://www.surfe.com / surfe.com |
| documentationUrl, privacyUrl, termsUrl | vendor links |
| installsLabel / installsMin | 1500+ / 1500 |
| ratingAverage / reviewsCount | 4.5 / 1270 |
| isFree | false |
| useCases | Qualify leads, Attract new leads |
| tagline, description_short | short pitch from the listing |
| hasUiExtensions, hasWorkflowAutomation | app embeds panels or automation steps |
| youtubeVideo, iconUrl, appUrl | listing media and link |
| clientId, pipedriveCompanyId | stable identifiers for deduplication |

### Fill rates (full catalog, November 2026)

| Field | Filled |
|---|---|
| website | 100% |
| supportEmail | 95% |
| documentationUrl | 60% |
| youtubeVideo | 41% |
| installsLabel | 10% (only apps with 100+ installs) |

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| useCase | select | all | Marketplace collection (Attract new leads, Qualify leads, ...) |
| keyword | text | - | Keep apps mentioning any of these comma-separated words |
| minInstalls | integer | 0 | Minimum public install band |
| onlyWithEmail | boolean | true | Skip apps without a support email |
| appUrls | list | - | Refresh only these app links |
| maxResults | integer | 100 | Stop after N rows, 0 = no cap |

```json
{
  "useCase": "qualify-leads",
  "keyword": "email, linkedin",
  "minInstalls": 0,
  "onlyWithEmail": true,
  "maxResults": 100
}
```

API-only: `verboseLogs` (boolean) prints extra diagnostics.

### Output sample

```json
{
  "appName": "Surfe",
  "companyName": "Surfe",
  "supportEmail": "help@surfe.com",
  "emailType": "role",
  "website": "https://www.surfe.com",
  "websiteDomain": "surfe.com",
  "installsLabel": "1500+",
  "installsMin": 1500,
  "ratingAverage": 4.5,
  "reviewsCount": 1270,
  "isFree": false,
  "useCases": ["Attract new leads", "Qualify leads"],
  "appUrl": "https://www.pipedrive.com/en/marketplace/app/surfe/..."
}
```

### How it works

The Actor reads the public Marketplace catalog, opens each public app listing and keeps the vendor details shown on the page. It does not log in, does not use your Pipedrive account and only collects what any visitor can see.

### Limitations

- Install bands are shown by Pipedrive only for popular apps.
- Support emails are the ones vendors chose to publish; they are mostly shared inboxes.
- Pipedrive's own apps (WhatsApp, Gmail add-on, Teams...) appear with Pipedrive as the company.

### How much does it cost to scrape the Pipedrive Marketplace?

Pay per event: $0.05 per run start plus a price per exported vendor.

| Scenario | Free | Bronze | Silver | Gold | Platinum | Diamond |
|---|---|---|---|---|---|---|
| 50 vendors | $0.30 | $0.28 | $0.25 | $0.23 | $0.20 | $0.18 |
| 200 vendors | $1.05 | $0.95 | $0.85 | $0.75 | $0.65 | $0.55 |
| Full catalog (~500 vendors) | $2.55 | $2.30 | $2.05 | $1.80 | $1.55 | $1.30 |

Free Apify plan: each run exports up to 20 vendors. Paid plans have no cap.

### Is it legal to scrape the Pipedrive Marketplace?

This Actor only collects data that vendors publish on public listing pages, mostly business contact details. It does not bypass any login. Personal data may still be protected by GDPR and similar laws: use it for legitimate B2B purposes, respect opt-out requests and check with your lawyer if in doubt.

### Also available

- [Shopify App Store · Developer Emails](https://apify.com/corent1robert/shopify-app-developer-contacts)
- [HubSpot Marketplace · App Partners](https://apify.com/corent1robert/hubspot-marketplace-app-partners)
- [Salesforce AppExchange · Vendor Contacts](https://apify.com/corent1robert/salesforce-appexchange-vendor-contacts)
- [Zapier App Directory · Developer Contacts](https://apify.com/corent1robert/zapier-app-directory-developer-contacts)

### Local development

```bash
npm install
npm test
node src/main.js   # reads storage/key_value_stores/default/INPUT.json
```

### Contact

Questions, custom fields or a new marketplace: corentin@outreacher.fr

# Changelog

This Actor's version history is a separate document: https://apify.com/corent1robert/pipedrive-marketplace-vendor-contacts/changelog.md

# Actor input Schema

## `useCase` (type: `string`):

Marketplace collection to export. Choose All apps for the full catalog.

## `keyword` (type: `string`):

Keep apps whose name, company, tagline or description mention this word. Separate several words with commas (any match).

## `minInstalls` (type: `integer`):

Keep apps whose public install band is at least this number (for example 1000 keeps 1000+ apps). 0 keeps all.

## `onlyWithEmail` (type: `boolean`):

Skip apps that do not list a public support email.

## `appUrls` (type: `array`):

Paste Pipedrive Marketplace app links to refresh only those apps. Leave empty to scan the catalog.

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

Stop after this many rows. 0 = no cap.

## Actor input object example

```json
{
  "useCase": "all",
  "minInstalls": 0,
  "onlyWithEmail": true,
  "maxResults": 50
}
```

# Actor output Schema

## `overview` (type: `string`):

Company, support email, installs, rating

## `outreach` (type: `string`):

Email, website and pitch for a first message

## `market` (type: `string`):

Use cases, installs, ratings, pricing model

## `dataset` (type: `string`):

All vendor rows

## `output` (type: `string`):

Vendors exported and filters

## `runLog` (type: `string`):

Live progress

# 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 = {
    "useCase": "all",
    "maxResults": 50
};

// Run the Actor and wait for it to finish
const run = await client.actor("corent1robert/pipedrive-marketplace-vendor-contacts").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 = {
    "useCase": "all",
    "maxResults": 50,
}

# Run the Actor and wait for it to finish
run = client.actor("corent1robert/pipedrive-marketplace-vendor-contacts").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 '{
  "useCase": "all",
  "maxResults": 50
}' |
apify call corent1robert/pipedrive-marketplace-vendor-contacts --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,corent1robert/pipedrive-marketplace-vendor-contacts"
        }
    }
}
```

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/dEdCQec351NWPaz5l/builds/kgwa53yd21BkHrAvW/openapi.json
