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.