Introduction
Overview
One REST API for the programs you run, the links you place and the money you earn.
Everything your affiliate business does, available over HTTP.
https://api.linkapprove.com/v1What you can build
The LinkApprove API is the machine-readable version of the publisher dashboard. Anything you can click, a script can do: apply to a program, mint a tracking link, pull yesterday's numbers, request a payout.
Programs
Search 12,000+ merchant campaigns, filter by category or payout model, and apply on behalf of a verified channel.
Tracking links
Mint a go.linkapprove.com redirect for any approved program, with sub IDs for your own attribution and deep links to a product page.
Reporting
Clicks, conversions and commission. The same numbers your dashboard renders, grouped by program, channel, day or sub ID.
Payments
Your balance by state, every credited commission, and each withdrawal with its status history and invoice.
Webhooks
Get a signed POST when a conversion arrives or changes status, instead of polling on a schedule you had to guess at.
Built for scripts
Predictable envelopes, page/size pagination and stable IDs, so automation holds up.
curl "https://api.linkapprove.com/v1/programs?page=1&size=1" \
-H "Authorization: Bearer $LINKAPPROVE_API_KEY"How it fits together
LinkApprove brings merchant programs together under one roof. One dashboard, one payout, one API, whichever merchant you promote.
The publisher lifecycle is five steps, and every one of them has an endpoint. Most integrations only need two of them: list programs, and mint links.
Production only
The publisher loop
Apply
POST a program application for one of your channels.
Get approved
Auto programs clear instantly; manual ones are reviewed by the LinkApprove team.
Mint a link
Issue a go.linkapprove.com tracking link against the approved program.
Place it
Your site, newsletter or social post, wherever the traffic is.
Get paid
Conversions credit your balance, then you withdraw from the dashboard.
Conventions
The response envelope
Every response, success or failure, has the same three top-level fields. List endpoints nest a paginated payload inside data, so a list is always data.data.
The rules that never change
- Pagination is
page(1-based, default1) andsize(default10, max100). Responses carrycountandpages. - Timestamps are ISO 8601 in UTC, always suffixed
Z. - Money is a two-decimal string (
"128.40"), never a float, so nothing rounds on the way to you. Report earnings and conversion webhooks carry thecurrencythe network reported, and amounts in different currencies are never summed. Balances, transactions and withdrawals are your LinkApprove balance and carry no currency field. - Versioning: every response carries
LinkApprove-Version: 2026-05-01. Log it alongside anything you report to support. - IDs are integers.
- Removed programs: a program that is removed or deactivated stops appearing in lists, and retrieving it returns
404.
{
"success": true,
"message": "Programs fetched",
"data": {
"data": [ ... ],
"count": 137,
"pages": 14
}
}