Salesforce AppExchange Scraper

Scrape app listings from Salesforce AppExchange including developer info, ratings, categories, and supported products

Scrape app listings from Salesforce AppExchange. Pulls developer contact info, ratings, categories, supported products, and industry data from all ~6,000 listings — or just the ones you point it at.

Salesforce AppExchange Scraper Features

Extract developer details: company name, website, email, HQ location, employee count, founding year

Collect review statistics and average ratings across the entire marketplace in a single run

Grab listing metadata — categories, supported Salesforce products, required products, target personas, system requirements

Crawl the full sitemap automatically, or supply specific listing URLs when you already know what you want

Set a cap with maxItems or set it to 0 and walk away while it scrapes everything

Who Uses AppExchange Data and Why

Sales teams — build lead lists of Salesforce ecosystem companies, filtered by industry and employee count

Product managers — map the competitive landscape for a Salesforce product category without manually clicking through thousands of listings

Market researchers — track rating trends, review velocity, and new entrants across the AppExchange over time

Developers — find which Salesforce products are most commonly required or supported, informing integration priorities

Consultants — identify partners and vendors by location, industry focus, or founding year

How Salesforce AppExchange Scraper Works

1. Discovers listings. Fetches the AppExchange sitemap and extracts every listing URL. If you provide specific URLs instead, it skips the sitemap entirely and goes straight to those.

2. Extracts structured data. Each listing page embeds a window.stores JSON object with the full listing payload — developer info, review stats, categories, the lot. The scraper parses that directly rather than scraping DOM elements, which means the data is clean and complete.

3. Outputs to dataset. Every record lands in the Apify dataset with consistent field names, ready for export to CSV, JSON, Excel, or downstream integrations.

Input

{

"appsUrls": [],

"maxItems": 10,

"proxyConfiguration": {

"useApifyProxy": true,

"apifyProxyCountry": "US"

}

}

Field

Type

Default

Description

appsUrls

array

[]

URLs of specific AppExchange listings to crawl. Leave empty to crawl all apps from the sitemap.

maxItems

integer

10

Maximum number of apps to scrape. Set to 0 to scrape all ~6,000 listings.

proxyConfiguration

object

Apify US proxy

Proxy settings for the crawler. Apify proxy with US geolocation is recommended.

Scrape specific listings

{

"appsUrls": [

{ "url": "https://appexchange.salesforce.com/appxListingDetail?listingId=a0N4V00000HZZEaUAP" },

{ "url": "https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000EFpAtUAL" }

],

"maxItems": 0,

"proxyConfiguration": {

"useApifyProxy": true

}

}

Scrape entire marketplace

{

"maxItems": 0,

"proxyConfiguration": {

"useApifyProxy": true,

"apifyProxyCountry": "US"

}

}

Salesforce AppExchange Scraper Output Fields

Each listing produces one record with the following fields:

{

"app_name": "Conga Composer",

"developer_name": "Conga",

"developer_website": "https://www.conga.com",

"developer_email": "support@conga.com",

"developer_location": "Broomfield, CO",

"developer_employees": 1200,

"developer_year_founded": 2006,

"review_count": 843,

"average_rating": 4.7,

"description": "Generate polished documents, presentations, and reports from Salesforce data with a few clicks.",

"logo_url": "https://appexchange.salesforce.com/partners/servlet/servlet.FileDownload?file=00P4V000012example",

"products_required": ["Sales Cloud", "Service Cloud"],

"listing_categories": ["Document Generation", "Productivity"],

"products_supported": ["Sales Cloud", "Service Cloud", "Experience Cloud"],

"target_user_persona": ["Sales Operations", "Revenue Operations"],

"system_requirements": "Salesforce Enterprise Edition or higher",

"supported_industries": ["Financial Services", "Healthcare", "Manufacturing"],

"app_url": "https://appexchange.salesforce.com/appxListingDetail?listingId=a0N300000016bFkEAI"

}

Field

Type

Description

app_name

string

App name from the listing page

developer_name

string

Publisher or developer company name

developer_website

string

Publisher website URL

developer_email

string

Publisher contact email

developer_location

string

Publisher headquarters location

developer_employees

number

Publisher employee count

developer_year_founded

number

Year the publisher was founded

review_count

number

Total number of reviews

average_rating

number

Average review rating

description

string

App description from meta tags

logo_url

string

App logo or image URL

products_required

array

Salesforce products required to use the app

listing_categories

array

AppExchange categories the listing belongs to

products_supported

array

Salesforce products the app supports

target_user_persona

array

Target user personas (e.g., Sales Ops, Admins)

system_requirements

string

System requirements text

supported_industries

array

Industries the app is designed for

app_url

string

Full AppExchange listing URL

FAQ

How many listings can Salesforce AppExchange Scraper handle? Salesforce AppExchange Scraper processes the entire marketplace — roughly 6,000 listings at last count. Set maxItems to 0 and it will work through every one. A full run takes about an hour depending on proxy speed.

Does it need proxies? Salesforce AppExchange Scraper works best with Apify proxy set to a US geolocation. The site does not aggressively block scrapers, but proxies keep things reliable at scale.

Can I scrape just a handful of specific apps? Yes. Pass their URLs in the appsUrls field and the scraper skips the sitemap entirely. Useful when you already know which listings you care about.

What happens if a listing page fails to load? The scraper logs a warning and moves on. Failed pages do not stop the run or corrupt the dataset. You can check the run log afterward to see which URLs, if any, were skipped.

How fresh is the developer contact info? Salesforce AppExchange Scraper reads whatever is on the listing page at crawl time. If a developer has updated their email or location since your last run, the new data shows up on the next one.

Need More Features?

Need custom fields, filters, or a different target site? File an issue or get in touch.

Why Use Salesforce AppExchange Scraper?

Structured data from a messy source — The scraper pulls from the embedded JSON payload, not fragile DOM selectors, so the output is consistent and complete across all listings.

Two modes, no configuration headaches — Point it at specific URLs or let it discover every listing from the sitemap. Either way, the output schema stays the same, which means your downstream pipeline does not care which mode you used.

Developer intel that is hard to get manually — Employee count, founding year, HQ location, contact email — all sitting in the listing data but buried behind clicks. The scraper flattens it into one row per app, ready for your CRM or spreadsheet.

Ready to get started?

Try Salesforce AppExchange Scraper free on the Apify platform.