# Salesforce AppExchange Vendor Leads (`lead.gen.labs/salesforce-appexchange-vendor-leads`) Actor

Find targeted Salesforce AppExchange vendor leads by category with clean business and contact details, including app names, vendor websites, public emails, phone numbers, and sales links for outreach, CRM enrichment, and partner research.

- **URL**: https://apify.com/lead.gen.labs/salesforce-appexchange-vendor-leads.md
- **Developed by:** [LeadGen Labs](https://apify.com/lead.gen.labs) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $19.00 / 1,000 record scrapeds

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

## Salesforce AppExchange Vendor Leads - Salesforce AppExchange App Vendors Directory Scraper

### FAQ

---
### 1. What is Salesforce AppExchange Vendor Leads?

Salesforce AppExchange Vendor Leads is an Apify actor that extracts vendor business details and public contact details from Salesforce AppExchange app categories. It is built for finding Salesforce AppExchange app vendors, Salesforce partner leads, ISV companies, and business contacts from the AppExchange app directory.

---
### 2. Why Use This Tool?

Use this tool when you need focused Salesforce AppExchange vendor lead data without unnecessary marketplace noise. The actor searches by AppExchange category, follows the dynamically loaded listing data, enriches each app from the public listing detail API, and returns only the details needed for lead generation, vendor research, outreach, CRM enrichment, and AppExchange competitor discovery.

---
### 3. How to Use Salesforce AppExchange Vendor Leads?

Enter a Salesforce AppExchange category such as Integration, Sales, Marketing, Customer Service, Analytics, or Admin & Developer Tools. Set the maximum number of vendor leads, choose whether to enrich listing details, and run the actor. The scraper fetches Salesforce AppExchange app vendors from the selected category and saves normalized lead records to the dataset.

For custom Salesforce AppExchange scraping, integrations, or large-scale lead datasets, contact lead.gen.labs.1@gmail.com.

---
### 4. What Data Points Do I Get in Return?

The actor returns minimal Salesforce AppExchange vendor lead fields:

- App name
- Vendor name
- Vendor website
- Sales URL
- Support URL
- Vendor country
- Vendor location
- Vendor description
- App description
- App categories
- Public email addresses when available
- Public phone numbers when available
- AppExchange listing URL
- AppExchange listing ID

It does not collect unnecessary marketplace data such as images, reviews, ratings, screenshots, or long technical metadata.

---
### 5. Can I Enrich this Data with Email Addresses?

Yes. When email extraction is enabled, the actor scans public Salesforce AppExchange listing and publisher data for distinct email addresses such as vendor email, sales email, and support email. Email extraction is limited to public data available in the fetched AppExchange records.

---
### 6. Can I Integrate This Actor Into Other Data Pipelines?

Yes. The dataset output is structured for CRM uploads, sales prospecting workflows, enrichment pipelines, Google Sheets exports, lead scoring systems, and automated Salesforce partner research. You can run it by category to build targeted Salesforce AppExchange vendor lead lists for specific markets such as integration apps, sales apps, marketing apps, analytics apps, and customer service apps.

# Actor input Schema

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

Salesforce AppExchange app category to scrape, for example Integration, Sales, Marketing, Customer Service, Analytics, or Admin & Developer Tools.
## `max_results` (type: `integer`):

Maximum Salesforce AppExchange vendor lead records to save.
## `page_size` (type: `integer`):

Number of Salesforce AppExchange listings requested from the dynamic category API.
## `enrich_listing_details` (type: `boolean`):

Fetch each public AppExchange listing detail record for vendor website, phone, email, and support contacts.
## `extract_emails` (type: `boolean`):

Extract distinct public email addresses from fetched AppExchange listing and publisher data.
## `exclude_salesforce_publishers` (type: `boolean`):

Skip Salesforce-owned publishers such as Salesforce and Salesforce Labs.
## `request_delay_millis` (type: `integer`):

Delay between Salesforce AppExchange listing detail requests in milliseconds.
## `browser_impersonation` (type: `string`):

curl_cffi browser impersonation profile.
## `custom_proxy_url` (type: `string`):

Optional proxy URL.

## Actor input object example

```json
{
  "category": "Integration",
  "max_results": 100,
  "page_size": 500,
  "enrich_listing_details": true,
  "extract_emails": true,
  "exclude_salesforce_publishers": true,
  "request_delay_millis": 300,
  "browser_impersonation": "chrome136",
  "custom_proxy_url": ""
}
````

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("lead.gen.labs/salesforce-appexchange-vendor-leads").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("lead.gen.labs/salesforce-appexchange-vendor-leads").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 '{}' |
apify call lead.gen.labs/salesforce-appexchange-vendor-leads --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lead.gen.labs/salesforce-appexchange-vendor-leads",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Salesforce AppExchange Vendor Leads",
        "description": "Find targeted Salesforce AppExchange vendor leads by category with clean business and contact details, including app names, vendor websites, public emails, phone numbers, and sales links for outreach, CRM enrichment, and partner research.",
        "version": "0.0",
        "x-build-id": "UZbF2mtRi3JHuKzSl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lead.gen.labs~salesforce-appexchange-vendor-leads/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lead.gen.labs-salesforce-appexchange-vendor-leads",
                "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/lead.gen.labs~salesforce-appexchange-vendor-leads/runs": {
            "post": {
                "operationId": "runs-sync-lead.gen.labs-salesforce-appexchange-vendor-leads",
                "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/lead.gen.labs~salesforce-appexchange-vendor-leads/run-sync": {
            "post": {
                "operationId": "run-sync-lead.gen.labs-salesforce-appexchange-vendor-leads",
                "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": [
                    "category",
                    "max_results"
                ],
                "properties": {
                    "category": {
                        "title": "Category",
                        "type": "string",
                        "description": "Salesforce AppExchange app category to scrape, for example Integration, Sales, Marketing, Customer Service, Analytics, or Admin & Developer Tools.",
                        "default": "Integration"
                    },
                    "max_results": {
                        "title": "Maximum Vendor Leads",
                        "minimum": 1,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum Salesforce AppExchange vendor lead records to save.",
                        "default": 100
                    },
                    "page_size": {
                        "title": "API Page Size",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Number of Salesforce AppExchange listings requested from the dynamic category API.",
                        "default": 500
                    },
                    "enrich_listing_details": {
                        "title": "Enrich Listing Details",
                        "type": "boolean",
                        "description": "Fetch each public AppExchange listing detail record for vendor website, phone, email, and support contacts.",
                        "default": true
                    },
                    "extract_emails": {
                        "title": "Extract Public Emails",
                        "type": "boolean",
                        "description": "Extract distinct public email addresses from fetched AppExchange listing and publisher data.",
                        "default": true
                    },
                    "exclude_salesforce_publishers": {
                        "title": "Exclude Salesforce Publishers",
                        "type": "boolean",
                        "description": "Skip Salesforce-owned publishers such as Salesforce and Salesforce Labs.",
                        "default": true
                    },
                    "request_delay_millis": {
                        "title": "Request Delay",
                        "minimum": 0,
                        "maximum": 60000,
                        "type": "integer",
                        "description": "Delay between Salesforce AppExchange listing detail requests in milliseconds.",
                        "default": 300
                    },
                    "browser_impersonation": {
                        "title": "Browser Impersonation",
                        "type": "string",
                        "description": "curl_cffi browser impersonation profile.",
                        "default": "chrome136"
                    },
                    "custom_proxy_url": {
                        "title": "Custom Proxy URL",
                        "type": "string",
                        "description": "Optional proxy URL.",
                        "default": ""
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
