Salesforce APIappexchange.salesforce.com ↗
Search and retrieve Salesforce consulting partner profiles from AppExchange, including tier, competencies, certifications, highlights, and country presence.
What is the Salesforce API?
This API exposes 2 endpoints for discovering and profiling Salesforce consulting partners listed on AppExchange. The search_consulting_partners endpoint returns paginated summaries across all partners — including expertise scores, ratings, and review counts — while get_consulting_partner_detail retrieves full profiles with partner tier, industry competencies, supported languages, country presence, highlights, and case study resources.
curl -X GET 'https://api.parse.bot/scraper/7c2927af-8a51-401e-93e3-6d57cc0fece2/search_consulting_partners?tier=%3E+1000&industry=Healthcare+and+Life+Sciences&search_term=Deloitte' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace appexchange-salesforce-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Salesforce AppExchange Consulting Partners — search, drill down, inspect."""
from parse_apis.appexchange_salesforce_com_api import AppExchange, PartnerNotFound
client = AppExchange()
# Search for consulting partners by name; limit caps total items fetched.
for summary in client.partner_summaries.search(search_term="Deloitte", limit=5):
print(summary.name, summary.headquarters, f"rating={summary.rating}")
# Drill into the first result's full detail page via typed navigation.
summary = client.partner_summaries.search(search_term="Accenture", limit=1).first()
if summary is not None:
partner = summary.details()
print(partner.name, partner.tier, f"certs={partner.certification_count}")
# Walk structured competencies and their specializations.
for comp in partner.competencies_detailed[:3]:
specs = ", ".join(s.name for s in comp.specializations)
print(f" {comp.category}: {comp.name} ({comp.award}) — {specs}")
# Browse media and resource links.
for media in partner.videos_and_media[:2]:
print(f" Video: {media.caption} ({media.video_type}:{media.video_id})")
for link in partner.resources[:2]:
print(f" {link.type}: {link.caption} — {link.url}")
# Point lookup by listing_id read from a prior search hit.
if summary is not None:
try:
detail = client.partners.get(listing_id=summary.listing_id)
print(detail.name, detail.tier, f"experts={detail.total_number_of_experts}")
except PartnerNotFound:
print("Partner listing not found")
print("exercised: partner_summaries.search / details / partners.get")
Search and list Salesforce consulting partners from the AppExchange partner finder. Returns paginated results with basic partner info and expertise summaries. Without a search_term, returns all partners sorted by expertise score. Each result includes a listing_id that can be passed to get_consulting_partner_detail for full information. Supplying industry triggers one extra upstream call to resolve the industry name to its internal ID; otherwise one upstream round-trip per call. Page through results with offset.
| Param | Type | Description |
|---|---|---|
| tier | string | Filter by Salesforce practice size tier, representing the total number of qualifying credentialed people globally. Accepted values: '1-5', '6-20', '21-100', '101-200', '201-1000', '> 1000'. Maps to the 'Salesforce Practice Size' filter on the site. Invalid values are rejected. |
| limit | integer | Number of results per page (1-100). |
| offset | integer | Zero-based offset for pagination. |
| sort_by | string | Sort order for results. Known value: 'expertise' (default). |
| industry | string | Filter by industry competency name. Uses the industry filter options from the AppExchange consulting directory (e.g. 'Financial Services', 'Healthcare and Life Sciences', 'Manufacturing', 'Retail', 'Energy and Utilities'). Case-insensitive match. An unrecognized industry name returns an empty result set. |
| search_term | string | Partner name search query. Omitting returns all consulting partners. |
{
"type": "object",
"fields": {
"limit": "Requested limit",
"total": "Total number of matching partners",
"offset": "Current offset",
"has_more": "Whether more results exist beyond this page",
"partners": "Array of partner summaries with id, name, listing_id, headquarters, description, expertises, rating, review_count"
}
}About the Salesforce API
Endpoints and Coverage
The API covers two operations against the AppExchange consulting partner directory. search_consulting_partners accepts search_term, limit, offset, and sort_by parameters to paginate the full partner catalog or narrow results by name. Each item in the partners array includes id, name, listing_id, headquarters, description, expertises, rating, and review_count. The listing_id field is required as input to the second endpoint.
Partner Detail Data
get_consulting_partner_detail takes a listing_id and returns a richer profile. Key fields include tier (Summit, Crest, Ridge, or Base), countries (an array of region/country codes where the partner operates), languages (supported language codes), highlights (freeform highlight strings from the listing), resources (links to data sheets and external content), and is_fde_partner (flags Forward Deployed Engineering partners). This makes it straightforward to filter partners by geography or language programmatically after fetching.
Pagination and Sorting
search_consulting_partners is paginated via limit (1–100) and offset (zero-based). The response includes total and has_more so you can walk the full catalog. The only documented sort_by value is expertise, which is also the default. Omitting search_term returns all partners, ordered by expertise score.
The Salesforce API is a managed, monitored endpoint for appexchange.salesforce.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when appexchange.salesforce.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official appexchange.salesforce.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a partner-finder tool filtered by tier (Summit, Crest, Ridge, Base) and country presence
- Aggregate consulting partner review counts and ratings across the AppExchange catalog
- Identify Forward Deployed Engineering partners using the
is_fde_partnerflag - Map Salesforce consulting coverage by region using the
countriesfield from partner detail profiles - Compile a list of multilingual partners by querying
languagesfrom detailed profiles - Monitor new partner listings by paginating
search_consulting_partnerswithoffsetand comparingtotalover time - Extract partner highlights and resources for internal procurement or vendor evaluation workflows
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Salesforce AppExchange have an official public API for consulting partner data?+
What does the `tier` field in `get_consulting_partner_detail` represent?+
tier field reflects the Salesforce consulting partner tier assigned to that firm. Known values are Summit, Crest, Ridge, and Base, which correspond to Salesforce's official partner program levels based on certifications, customer success metrics, and ACV.Does `search_consulting_partners` support filtering by industry competency or product specialization?+
search_term (partner name) and sorting by expertise. Filtering by specific industry competency or product specialization is not currently supported on that endpoint — those fields are returned only in get_consulting_partner_detail under expertises. You can fork this API on Parse and revise it to add competency-based filtering as an additional endpoint.Is there a way to retrieve case study video details through the API?+
get_consulting_partner_detail endpoint returns resources, which includes resource links associated with a partner listing, and highlights. Structured case study video metadata (titles, thumbnails, transcripts) is not currently returned as a distinct field. You can fork this API on Parse and revise it to add a dedicated case study video endpoint.How should I paginate through all consulting partners in the directory?+
limit and offset parameters on search_consulting_partners. The response includes total (overall count) and has_more (boolean). Increment offset by your limit value on each request until has_more is false.