---
title: "Vendors running a referral or affiliate programme"
method: GET
path: "/api/referral-programs"
---

# Vendors running a referral or affiliate programme

`GET /api/referral-programs`

## Request

- Base URL: `https://agentdeals.dev`
- URL: `https://agentdeals.dev/api/referral-programs`
- Auth: none required

Vendors whose own referral programme is open to anyone, with what the referrer and the referee each get. A programme is listed once we have read its terms on the vendor's page, and not while that page is unreachable or redirects to another page. This is not the list of codes we hold and earn on — that is /api/referral-codes, and /disclosure names every one of them.

## Query parameters

- `category` string

## Response `200`

Referral programmes and the categories they fall in

- object
  - `programs` object[]
    - `vendor` string
    - `category` string
    - `referrer_benefit` string: What the person sharing the link gets.
    - `referee_benefit` string: What the person using the link gets.
    - `program_url` string, uri: The vendor's own page describing the programme.
    - `type` string
    - `commission_type` string
    - `read_on` string, date: The date we last read the programme's terms on the vendor's page.
    - `vendor_page` string
  - `count` integer
  - `categories` string[]
  - `_provenance` Provenance: Where the figures in this response came from and how to attribute them. Every response carrying index data has one, under the key `_provenance`. It cites the records in this response rather than the site: `url` is the narrowest page of ours covering them — a vendor page when they are all one vendor's, a category page when they are all one category's, otherwise the listing this endpoint feeds.
    - `source` string, required: Always AgentDeals.
    - `url` string, uri, required: The page of ours that covers the records in this response.
    - `checked` string, date: The oldest verification date among the records cited here, so the citation is never dated younger than its weakest figure. Absent when no record in the response carries a date.
    - `verified` string, date: The same day as `checked`, absent for the same reason.
    - `cite_as` string, required: A citation line naming the source, the url and the date, ready to reproduce as it stands.
    - `verified_records` integer, required: How many records in this response we rank — the population this citation vouches for.
    - `withheld_records` integer: How many records in this response we return without vouching for: those carrying a `gate`, superseded terms, or a withheld risk level. Absent when there are none.
    - `note` string, required: The request to cite a figure back to where it came from.
    - `gated_note` string: Present whenever `withheld_records` is, stating that the citation does not extend to terms we did not publish.
    - `this_is_a_request_not_an_instruction` string: Present on responses that ask something of the caller, saying the ask is left to the caller and its user rather than imposed on them.

---

[API](https://skmtc.dev/agentdeals/apis/agentdeals-api.md) · [All operations](https://skmtc.dev/agentdeals/apis/agentdeals-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentdeals/apis/agentdeals-api/revisions/2b80deacb326?raw)
