# Pipedrive Marketplace Scraper (`crawlerbros/pipedrive-marketplace-scraper`) Actor

Scrape the Pipedrive Marketplace - 460+ CRM integrations and apps. Browse curated collections, search by keyword or category, or look up specific apps by slug. Returns names, descriptions, categories, ratings, install counts, pricing, and icon URLs.

- **URL**: https://apify.com/crawlerbros/pipedrive-marketplace-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Automation, Integrations, Other
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## Pipedrive Marketplace Scraper

Scrape the [Pipedrive Marketplace](https://www.pipedrive.com/en/marketplace) — 460+ CRM integrations and apps. Browse curated collections, search the full catalog, or look up specific apps by slug. Returns names, descriptions, categories, ratings, install counts, pricing flags, icon URLs, and more.

### What does this actor do?

This actor scrapes the Pipedrive Marketplace to help you discover and analyze CRM integrations. It supports three modes:

- **Browse** — quickly retrieve curated apps from Pipedrive's featured collections (~30 apps, one per use case).
- **Search** — scrape the full catalog via the marketplace sitemap (460+ apps) and filter by keyword and/or category.
- **Lookup by slug** — fetch detailed data for specific apps using their URL slugs.

### Input

| Field | Type | Description |
|-------|------|-------------|
| `mode` | String (required) | `browse`, `search`, or `getBySlug` |
| `query` | String | Text to match against app name, tagline, and description |
| `category` | String | Filter by category (e.g. `Lead generation`, `Analytics`) |
| `freeOnly` | Boolean | Only return apps with the free tier flag |
| `slugs` | Array | App slugs for `getBySlug` mode (e.g. `zapier`, `microsoft-teams`) |
| `maxItems` | Integer | Maximum number of records (default: 100, max: 10000) |

#### Available categories

**App categories:** Accounting & invoicing, Analytics, Integration platforms, Bots & messaging, Customer support, Lead generation, Marketing automation, Phone solutions, Proposals & contracts, Task management, Resource management, Video calls & solutions

**Use-case categories:** Attract new leads, Qualify my leads, Nurture my leads, Communicate with leads, Manage contracts, Enable payments and tracking, Manage my projects, Automate my pipeline and data, Manage my accounts, Support my customers, Other use cases

### Output

Each record contains:

| Field | Description |
|-------|-------------|
| `id` | Unique app client ID |
| `slug` | URL slug (e.g. `zapier`) |
| `name` | App name |
| `tagline` | Short tagline |
| `description` | Full description |
| `categories` | App category names |
| `jtbdCategories` | Use-case category names |
| `isFree` | Whether a free tier is available |
| `ratingAverage` | Average user rating (0–5) |
| `ratingCount` | Total rating submissions |
| `reviewCount` | Number of written reviews |
| `approximateInstalls` | Install count string (e.g. `"4500+"`) |
| `iconUrl` | App icon image URL |
| `screenshotUrls` | Array of screenshot URLs |
| `websiteUrl` | Developer website |
| `publicUrl` | Pipedrive Marketplace listing URL |
| `sourceUrl` | Canonical source URL |
| `labels` | Feature flags list |
| `features` | Active feature types (panels, actions, etc.) |
| `collectionName` | Featured collection name (browse mode) |
| `recordType` | Always `"app"` |
| `scrapedAt` | UTC timestamp |

#### Sample record

```json
{
  "id": "97c68091c72b436b",
  "slug": "surfe",
  "name": "Surfe",
  "tagline": "Surfe saves you time and improves your outreach by bringing Pipedrive on top of LinkedIn.",
  "description": "Add LinkedIn contacts to Pipedrive in 1-click...",
  "categories": ["Lead generation", "Marketing automation"],
  "jtbdCategories": ["Attract new leads", "Qualify my leads"],
  "isFree": true,
  "ratingAverage": 4.5,
  "ratingCount": 1163,
  "reviewCount": 187,
  "approximateInstalls": "4500+",
  "iconUrl": "https://pipedrive-marketplace-manager-live.s3.amazonaws.com/...",
  "websiteUrl": "https://www.surfe.com",
  "publicUrl": "https://www.pipedrive.com/en/marketplace/app/surfe/97c68091c72b436b",
  "sourceUrl": "https://www.pipedrive.com/en/marketplace/app/surfe/97c68091c72b436b",
  "recordType": "app",
  "scrapedAt": "2026-05-30T10:00:00+00:00"
}
````

### Use cases

- **Competitive research** — analyze which apps are gaining traction in the Pipedrive ecosystem.
- **Integration discovery** — find apps that integrate with Pipedrive in a specific category.
- **Market analysis** — track install counts, ratings, and review counts for marketplace intelligence.
- **Partner research** — find integration partners or vendors operating in the Pipedrive marketplace.

### FAQ

**Q: How many apps does the Pipedrive Marketplace have?**
A: Approximately 460+ apps as of 2026, discoverable via the marketplace sitemap.

**Q: Does this actor require login or API keys?**
A: No. All data is scraped from public Pipedrive Marketplace pages.

**Q: How do I find an app's slug?**
A: The slug is the URL path segment after `/marketplace/app/`. For example, `https://www.pipedrive.com/en/marketplace/app/zapier/...` has slug `zapier`.

**Q: What's the difference between browse and search mode?**
A: Browse mode fetches only the ~30 curated featured apps shown on the Pipedrive Marketplace homepage (very fast). Search mode fetches all 460+ apps via the sitemap and applies your filters (slower, more comprehensive).

**Q: Can I get apps from a specific category?**
A: Yes. Use the `category` filter with any of the documented categories. The filter works in all three modes.

# Actor input Schema

## `mode` (type: `string`):

How to scrape the marketplace.

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

Text to match against app name, tagline, and description (modes: search, browse).

## `category` (type: `string`):

Filter apps by category name (case-insensitive match). Works for all modes.

## `freeOnly` (type: `boolean`):

Only return apps with the free tier flag set.

## `slugs` (type: `array`):

List of app URL slugs to look up, e.g. `zapier`, `microsoft-teams`, `mailchimp`.

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

Hard cap on emitted records.

## Actor input object example

```json
{
  "mode": "browse",
  "category": "",
  "freeOnly": false,
  "maxItems": 100
}
```

# Actor output Schema

## `apps` (type: `string`):

Dataset containing all scraped Pipedrive Marketplace apps.

# 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 = {
    "mode": "browse",
    "category": "",
    "freeOnly": false,
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/pipedrive-marketplace-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 = {
    "mode": "browse",
    "category": "",
    "freeOnly": False,
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/pipedrive-marketplace-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 '{
  "mode": "browse",
  "category": "",
  "freeOnly": false,
  "maxItems": 100
}' |
apify call crawlerbros/pipedrive-marketplace-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Pipedrive Marketplace Scraper",
        "description": "Scrape the Pipedrive Marketplace - 460+ CRM integrations and apps. Browse curated collections, search by keyword or category, or look up specific apps by slug. Returns names, descriptions, categories, ratings, install counts, pricing, and icon URLs.",
        "version": "1.0",
        "x-build-id": "YbpUg7BSFPeM1PmNg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~pipedrive-marketplace-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-pipedrive-marketplace-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/crawlerbros~pipedrive-marketplace-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-pipedrive-marketplace-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/crawlerbros~pipedrive-marketplace-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-pipedrive-marketplace-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": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "browse",
                            "getBySlug"
                        ],
                        "type": "string",
                        "description": "How to scrape the marketplace.",
                        "default": "browse"
                    },
                    "query": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Text to match against app name, tagline, and description (modes: search, browse)."
                    },
                    "category": {
                        "title": "Category filter",
                        "enum": [
                            "",
                            "Accounting & invoicing",
                            "Analytics",
                            "Integration platforms",
                            "Bots & messaging",
                            "Customer support",
                            "Lead generation",
                            "Marketing automation",
                            "Phone solutions",
                            "Proposals & contracts",
                            "Task management",
                            "Resource management",
                            "Video calls & solutions",
                            "Attract new leads",
                            "Qualify my leads",
                            "Nurture my leads",
                            "Communicate with leads",
                            "Manage contracts",
                            "Enable payments and tracking",
                            "Manage my projects",
                            "Automate my pipeline and data",
                            "Manage my accounts",
                            "Support my customers",
                            "Other use cases"
                        ],
                        "type": "string",
                        "description": "Filter apps by category name (case-insensitive match). Works for all modes.",
                        "default": ""
                    },
                    "freeOnly": {
                        "title": "Free apps only",
                        "type": "boolean",
                        "description": "Only return apps with the free tier flag set.",
                        "default": false
                    },
                    "slugs": {
                        "title": "App slugs (mode=getBySlug)",
                        "type": "array",
                        "description": "List of app URL slugs to look up, e.g. `zapier`, `microsoft-teams`, `mailchimp`.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Hard cap on emitted records.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
