PartnerPage API
    • Introduction
    • Authentication
    • Object Overview
    • Verify and handle webhook deliveries
    • Directory webhook events and payloads
    • Partner lead webhook event
    • Build your own directory site
    • Directory
      • Forms
        • Get all custom forms
        • Get all currency field options
        • Get all contact request form
        • Get default contact request form
        • Create a cotact request custom form
        • Delete a contact request custom form
      • Callouts
        • Get all callouts
        • Get a callout
        • Create a new callout
        • Update a directory callout
        • Delete a directory callout
      • Badges
        • Get all badges
        • Get a badge
        • Create a badge
        • Update a badge
        • Delete a badge
      • Certifications
        • Get all certifications
        • Get a certification
        • Create a certification
        • Update a certification
        • Delete a certification
      • Filters
        • Filter Options
          • Get all filter options
          • Get a filter option
          • Create a filter option
          • Update a filter option
          • Deletes a filter option
        • Get all filters
        • Get a filter
        • Create a filter
        • Update a filter
        • Deletes a filter
        • Get all internal filters
        • Get all filters for external directory
      • Filter Maps
        • Get all filter option mappings
        • Get a filter option mapping
        • Create a new filter option mapping
        • Update a filter option mapping
        • Delete a filter option mapping
        • Get all filter option mappings for external directory
      • Matchmaking
        • Get all matchmaking requests
      • Tiers
        • Get all tiers
        • Get a tier
        • Create a tier
        • Update a tier
        • Delete a tier
        • Get all entries assigned to an specific tier
        • Assign or Unassign entries to an specific tier
      • Verifications
        • Get all verifications
        • Get a verification
        • Create a verification
        • Update a verification
        • Delete a verification
      • Settings
        • Retrieve the settings for a directory
        • Update the settings for a directory
      • List directories
        GET
      • Get a directory
        GET
      • Create a directory
        POST
      • Update a directory
        PATCH
    • Entry
      • App Entry
        • Callouts
          • Get all callouts
          • Get an entry callout
          • Create a new callout
          • Update a callout
          • Delete a callout
        • Get an app entry
        • Create new app entry
        • Update app entry
        • Delete a app entry
        • Update the recommended order of an app entry
      • Partner Entry
        • Badges
          • Get all badges
          • Get a badge
          • Create a badge
          • Update a badge
          • Delete a badge
        • Callouts
          • Get all callouts
          • Get a callout
          • Create a callout
          • Update a callout
          • Delete a callout
        • Certifications (General)
          • Get all certifications
          • Get a certification
          • Create a certification
          • Update a certification
          • Delete a certification
        • Certifications (Industry)
          • Get all industry certifications
          • Get an industry certification
          • Create an industry certification
          • Update an industry certification
          • Delete an industry certification
        • Certifications (Segment)
          • Get all segment certifications
          • Get a segment certification
          • Create a segment certification
          • Update a segment certification
          • Delete a segment certification
        • Client
          • Get all Clients
          • Get a client
          • Create a client
          • Update a client
          • Delete a client
        • Keywords
          • Get all keywords
          • Get a keyword
          • Create a keyword
          • Update keyword
          • Delete a keyword
        • Locations
          • Get all location
          • Get a location
          • Create a location
          • Update a location
          • Delete a location
        • Media
          • Get all media
          • Get a media
          • Create a media
          • Update a media
          • Delete a media
        • Resources
          • Internal
            • Get all Internal resources
            • Get an internal resource
            • Create an internal resource
            • Update an internal resource
            • Delete an internal resource
          • Get all resouces
          • Get a resource
          • Create a resource
          • Update a resource
          • Delete a resource
        • Special Offers
          • Get all special offer
          • Get a special offer
          • Create a special offer
          • Update a special offer
          • Delete a special offer
        • Testimonials
          • Internal
            • Get all internal testimonial
            • Get an internal testimonial
            • Create an internal testimonial
            • Update an internal testimonial
            • Delete an internal testimonial
          • Get all testimonials
          • Get a testimonial
          • Create a testimonial
          • Update a testimonial
          • Delete a testimonial
        • Use Cases
          • Internal
            • Get all internal use cases
            • Get an internal use cases
            • Create an internal use case
            • Update an internal use case
            • Delete an internal use case
          • Get all use cases
          • Get a use case details
          • Create a use case
          • Update a use case
          • Delete a use case
        • Verifications
          • Get all verifications
          • Get a verification
          • Create a verification
          • Update a verification
          • Delete a verification
        • Contact Information
          • Return entry contact information
        • Invite
          • Get organization matches for partner invite
          • Get partner entry owner organization invite
          • Get partner entry owner user invites
          • Invite organization to own partner entry
          • Invite users to partner entry ownership
        • Entry Edits Approval Flow
          • Partner Entry Submit Review
          • Partner Entry Approve Review
          • Partner Entry Reject Changes
          • Partner Entry Discard Review
        • Get a partner's internal directory profile by slug
        • Get a partner entry
        • Create a partner entry
        • Update a partner entry
        • Delete a partner entry
        • Bulk upsert partner entries
        • Update the recommended order of a partner entry
      • List directory entries
        GET
    • Contact Request
      • Attachment
        • List contact request attachments
        • Create contact request attachment
        • Delete contact request attachment
      • Get all contact requests
        GET
      • Get a contact request
        GET
      • Create a new partner contact request
        POST
    • Matchmaking
      • Get all matchmaking requests
      • Get a matchmaking request
      • Create a new directory matchmaking request
      • Get all partners assigned to matchmaking requests
      • Assign an owner to a matchmaking request
      • Set partners to a matchmaking request
    • Review
      • directory-review-list
      • directory-review-detail
      • directory-review-create
      • Update a review
      • Delete a review
      • reviewsDirectoryExportRetrieve
    • Public directory reads
      • List a directory's filters and their options
      • Get a partner's profile by slug
      • List and search a directory's partners

    Build your own directory site

    Use PartnerPage's public reads to show a partner directory on your own website. They provide the listings, filter options and partner profiles used by the hosted directory. These three reads require no API key. Keep private API keys out of browser code.
    For authenticated reads, create a read-only API key under Settings → Developers. Keep it on your server.
    Replace DIRECTORY_ID with your Generic Directory's UUID. The production API origin is https://v1.api.partnerpage.io; use your preview's API origin when testing before release.

    Load partner cards#

    curl --get 'https://v1.api.partnerpage.io/api/search/v1alpha/directories/DIRECTORY_ID/entries/' \
      --data-urlencode 'entry_type=partner' \
      --data-urlencode 'page_size=120' \
      --data-urlencode 'include=filter_options' \
      --data-urlencode 'ordering=title'
    The response has count, next, previous, facets and results. facets is currently an empty object. Read cards from results: each includes id, title, slug, icon (logo), image (cover image), headline, tier, featured and other listing fields. Images may be null and an unassigned tier is an empty object.
    include=filter_options adds status and assignedFilterOptions to each card. Each option has id, name, slug, image, order and its parent filter ID in filter. These include options from filters shown in the public filter bar or on profiles. Internal-only, deleted and fully hidden filters are excluded. Omit include when you do not need these extra fields.
    One request returns up to 120 matching listings. If next is not null, follow that URL until it is null. Do not assume the first page contains the whole directory. The default page size is 5; sizes above 120 are capped. An empty, non-integer or non-positive page_size returns 400 with a pageSize error.

    Build filters and search#

    Fetch the filter bar's filters and their options:
    curl 'https://v1.api.partnerpage.io/api/directory/public/v1alpha/directories/DIRECTORY_ID/filters/'
    Use each filter's filterOptions to build your controls. hasResults indicates whether an option has a public listing. Match option IDs with a card's assignedFilterOptions for filtering a fully loaded public list on your own site, or request matching listings from the API:
    curl --get 'https://v1.api.partnerpage.io/api/search/v1alpha/directories/DIRECTORY_ID/entries/' \
      --data-urlencode 'entry_type=partner' \
      --data-urlencode 'search=implementation' \
      --data-urlencode 'filters=(education,retail)(europe)' \
      --data-urlencode 'include=filter_options' \
      --data-urlencode 'page_size=120'
    Replace the example option slugs with slugs from your filters response. A listing must match every parenthesized group and any option within a group. The example means education or retail, and Europe. Search checks names, headlines, descriptions, keywords, tiers and filter options. Malformed filter syntax returns 400.
    Without a search or filter, the list returns public listings only. Applying either also includes searchable listings. A locally filtered public list therefore differs from a server search that may include searchable partners. Hidden and inactive listings are never returned.
    Use ordering=title or ordering=-title for alphabetical order. Other supported values are random, tier, -tier, tier_review, -tier_review, tier_review_average, -tier_review_average, recommended and relevance; see the endpoint reference for their behavior. Empty or unknown ordering values return 400. For random order, follow next links to retain the same shuffle, or supply the same seed for each page.
    Optional featured=true or featured=false selects featured or non-featured listings. availability=true selects available partners. Omit filters you do not need; blank featured/availability values are ignored for compatibility. Invalid boolean values return 400.

    Open a partner profile#

    Use the listing's current slug, including any custom slug:
    curl 'https://v1.api.partnerpage.io/api/directory/public/v1alpha/directories/DIRECTORY_ID/entries/partners/slugs/PARTNER_SLUG/'
    This returns the public profile, including its logo, cover image, tier, callouts, media and filter options. Use it when a visitor opens a partner, rather than making one details request for every card. Public and searchable partners are available; hidden, inactive or unknown slugs return 404. Where profile approval is enabled, partner edits wait in a draft until approved: visitors receive the last approved profile. Approving profile changes updates the approved profile; it does not publish a hidden partner or change its visibility.
    Listing results may trail an edit by a few seconds. The profile read returns the latest approved data. A missing directory gives an empty listing; the filters read gives 404. Handle these outcomes and request errors explicitly in your interface.
    Cache public GET responses for a short time and revalidate after publishing changes. Key caches by the complete request URL, including the directory, profile slug and query parameters, so one search, filter selection or page cannot return another's data. Do not mix authenticated or private API responses into a public browser, server or CDN cache.

    Before publishing your integration#

    Verify pagination with a directory larger than one page; missing logos and tiers; a custom partner slug; combined search and filters; and hidden/inactive partners. Read the generated endpoint references under Public directory reads for complete schemas. These public reads do not grant write access or access to internal-directory data.
    Modified at 2026-10-23 05:35:47
    Previous
    Partner lead webhook event
    Next
    Directory
    Built with