Salesforce AppExchange Scraper - Apps & Publisher Leads avatar

Salesforce AppExchange Scraper - Apps & Publisher Leads

Pricing

from $5.00 / 1,000 app listing scrapeds

Go to Apify Store
Salesforce AppExchange Scraper - Apps & Publisher Leads

Salesforce AppExchange Scraper - Apps & Publisher Leads

Scrape Salesforce AppExchange into rich B2B vendor leads: publisher name, email, website, HQ, employees, ratings, reviews, pricing, security review, editions & categories. Filter by keyword, category, rating or HQ country. Monitor mode + email enrichment.

Pricing

from $5.00 / 1,000 app listing scrapeds

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Salesforce AppExchange Scraper — Apps & Publisher (Vendor) Leads

Extract complete data from the Salesforce AppExchange — the world's largest enterprise cloud marketplace (5,000+ apps). For every app you get the full listing and its publisher (the software vendor) as a ready-to-use B2B lead: company name, contact email, website, HQ location, employee count, ratings, reviews, pricing, security-review status, supported editions and categories.

No login, no API key, no browser — fast, reliable JSON extraction straight from AppExchange's own public data API.

Why this AppExchange scraper?

Most AppExchange scrapers only read the visible app cards and return null for the fields that actually matter for outreach. This actor merges the listing inventory with each app's rich detail and ships the richest dataset in the category — every record is both an app and a contactable vendor lead.

DataTypical scrapersThis actor
App name, rating, review count, categories
Pricing model (free / paid / freemium)partial
Supported editions, Lightning Ready, app type
Security Review status
Publisher namepartial
Publisher contact email✅ when published
Publisher website✅ ~100%
Publisher HQ location & employee count
Publisher description
Customer reviews (title, rating, author, company)✅ opt-in
Emails/phones/socials crawled from publisher site✅ opt-in
One deduplicated lead per publisher✅ opt-in
Lead score (0–100) per app & per publisher
No start fee❌ many charge one

Use cases

  • B2B lead generation — AppExchange publishers are software vendors and ISVs actively selling into the Salesforce ecosystem. Score them by audience and contactability (publisherEmail, publisherWebsite, publisherEmployees, rating, reviewCount) and feed your CRM or outreach sequence.
  • Partner & ecosystem mapping — see who builds on Salesforce, in which categories, at what scale, and where they're headquartered.
  • Competitive & market intelligence — track ratings, review velocity, pricing models, security-review status and new entrants by category.
  • Sales prospecting — find vendors that complement (or compete with) your product and reach the publisher directly with verified contact data.
  • Recruiting & sourcing — discover specialist ISVs by category and technology.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Salesforce AppExchange Scraper, enter keywords and/or categories (or paste specific listing URLs), and click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"keywords": ["marketing"],
"categories": ["Sales", "Analytics"],
"maxItems": 100,
"includeDetails": true,
"includeReviews": false,
"enrichPublisherEmails": false,
"emitPublisherLeads": false,
"minRating": 0
}
  • keywords — free-text terms matched against the app name, description and publisher name (kept if it matches ANY term). Leave empty to scan the whole marketplace.
  • categories — keep only apps in these AppExchange categories (Sales, Marketing, Customer Service, Analytics, IT Administration, Productivity, Collaboration, Finance, Human Resources, ERP, Commerce, Integration, …).
  • startUrls — specific listings to scrape directly: detail URLs (…/appxListingDetail?listingId=a0N3u00000Qt7LiEAJ) or bare listing IDs.
  • maxItems (default 100) — maximum number of app records.
  • includeDetails (default true) — fetch each app's full detail: publisher firmographics, pricing, security review, editions, app type, full description. The core of the lead record.
  • includeReviews (default false) / maxReviews — customer reviews per app (title, rating, body, author, company, date).
  • enrichPublisherEmails (default false) — crawl the publisher's own website (home + contact/about, max 3 pages) for emails, phones and socials.
  • emitPublisherLeads (default false) — also output one deduplicated B2B lead per unique publisher (app count, average rating, total reviews, contacts).
  • FiltersminRating, freeOnly, paidOnly, lightningReadyOnly, securityReviewedOnly, withPublisherEmailOnly, withWebsiteOnly, hqCountries, editions.
  • monitorMode / monitorStoreName — emit only NEW apps versus previous runs (see below).
  • maxScan — upper bound on listings examined while filtering, so a narrow filter never scans the whole catalog needlessly.
  • proxyConfiguration — proxy settings; the default Apify Proxy (automatic / datacenter) is enough and cheapest.

Output

One record per app (type: "app"), plus optional deduplicated publisher leads (type: "publisher"):

{
"type": "app",
"listingId": "a0N3u00000Qt7LiEAJ",
"name": "Zoom for Lightning",
"description": "Bring the power of Zoom Meetings and Zoom Phone into Salesforce…",
"url": "https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3u00000Qt7LiEAJ",
"productType": "App",
"rating": 4.1,
"reviewCount": 120,
"pricingModel": "free",
"categories": ["Sales › Sales Intelligence", "Productivity"],
"primaryCategory": "Sales",
"businessNeeds": ["Sales", "Marketing", "Customer Service"],
"supportedEditions": ["Professional", "Enterprise", "Unlimited", "Developer", "Performance"],
"languages": ["en"],
"appType": "Package/Platform/App",
"isLightningReady": true,
"isManagedPackage": true,
"securityReviewStatus": "Passed",
"latestReleaseDate": "2024-06-27",
"publisherId": "7c2cdc70-96f6-4d88-8b3d-c5144edc42d0",
"publisherName": "Zoom Video Communications, Inc.",
"publisherEmail": "info@zoom.us",
"publisherWebsite": "https://www.zoom.us",
"publisherEmployees": 7000,
"publisherHQLocation": "San Jose, CA",
"publisherCountry": "US",
"publisherDescription": "Zoom is for you. Zoom is a space where you can connect to others…",
"leadScore": 78,
"scrapedAt": "2026-06-24T18:00:00.000Z"
}

What to expect (field coverage)

AppExchange mixes 1st-party (Salesforce) and 3rd-party publishers, and some firmographics are publisher-supplied, so a few fields are populated only when the vendor filled them in. Verified across the catalog, you can typically expect:

Field groupCoverage
name, url, productType, rating, reviewCount, categories, leadScore~100%
publisherName, publisherWebsite, publisherDescription~90–100%
publisherHQLocation, publisherCountry~85–95%
publisherEmployees~65% (publisher-supplied)
publisherEmailpresent for most 3rd-party ISVs; absent for 1st-party Salesforce listings (use email enrichment to boost)
reviews / enrichedEmails / enrichedPhones / socialsonly when the matching option is enabled

A blank field means the publisher didn't publish that data — never that scraping failed. Nothing is dropped, so you always get the richest record available.

Monitor mode (only new apps)

Turn on monitorMode and the actor remembers the listing IDs it has already returned (in a named key-value store) and emits only new apps on each subsequent run — a steady feed of new vendors entering the marketplace. It is orthogonal to Apify Schedules: the schedule triggers the run; monitor mode deduplicates that run's records against everything earlier runs already returned.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/salesforce-appexchange-scraper').call({
categories: ['Marketing'],
maxItems: 100,
enrichPublisherEmails: true,
emitPublisherLeads: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} apps & publisher leads`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new vendor leads straight into your CRM.
  • Slack — get notified when a monitored category adds new apps.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find marketing apps on AppExchange and list each publisher's website and contact email" and let it run the scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

More scrapers from scrapesage

Build a complete B2B partner-ecosystem & lead-gen stack:

Tips

  • Targeted runs: combine categories + keywords for a focused vendor list. Add withWebsiteOnly or withPublisherEmailOnly for an outreach-ready set.
  • Highest-value leads: keep includeDetails on (default) — it's the difference between an app name and a contactable vendor. Add enrichPublisherEmails to lift email coverage for publishers that don't list one on AppExchange.
  • One row per vendor: turn on emitPublisherLeads to also get a deduplicated lead per publisher with their app count and average rating.
  • Recurring monitoring: combine Schedules with monitorMode to track only newly listed apps and vendors.

FAQ

How do I scrape a specific category? Put it in categories (e.g. Marketing, Sales, Analytics). Combine with keywords to narrow further, or paste listing URLs into startUrls for exact apps.

Does it need the Salesforce API or a login? No. This actor reads AppExchange's own public listing data — no Salesforce org, API key, OAuth or browser required.

Where do publisher emails come from? From the publisher's AppExchange profile when they list one, plus (optionally) from their own public website with enrichPublisherEmails. Salesforce's own 1st-party listings don't expose an email — that's expected.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I monitor new apps automatically? Turn on monitorMode and create a Schedule; optionally add a webhook or Zapier zap to push new vendor leads into your CRM as they appear.

A field is empty — why? Some publishers don't publish an email, employee count or HQ. Fields are blank only when the data doesn't exist, not because the scraper skipped them.

Is scraping AppExchange legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (e.g. GDPR/CCPA for personal data) and Salesforce's terms.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.