The catalogue, as JSON.
Two read-only endpoints: the whole offer list, and the subset that is actually converting right now. Crediting always happens through the postback, never through the API.
Overview
The Offers API returns the offer list in JSON with no filters applied. Save the response on your side and sort or filter it however your product needs.
Up to 10 request attempts per 60 minutes, shared between both endpoints. Cache the catalogue on your side instead of calling it per page view.
Request
| Param | Required | Type | Description |
|---|---|---|---|
| site_key | Yes | String | Public key of your placement. |
| site_secret | Yes | String | Secret key of your placement. |
| type | No | String | multireward returns only multi-step offers. |
| take | No | Integer | Limit the number of offers. Default 100. |
| skip | No | Integer | Skip the first X results. Default 0. |
GET https://newwall.178.105.95.44.nip.io/api/v1/offers?site_key=publickey&site_secret=secretkey&type=multireward
Copy the URL and swap in your own keys.
Error codes
| Error | Code | What happened |
|---|---|---|
| missing_fields | 400 | Both site_key and site_secret are required. |
| authentication_failed | 401 | No placement exists with that key and secret. |
| invalid_type | 401 | The type value is not one we accept. |
| pending_site | 202 | The placement is not approved or active yet. |
| too_many_requests | 429 | You went over the rate limit. Back off and cache. |
{
"error": "too_many_requests",
"message": "Too many attempts, please slow down."
}
Response fields
The ones worth explaining. Everything else is what it says on the tin.
| Field | What it means |
|---|---|
| payout | Always in USD. |
| image | Relative path. Full URL: https://newwall.178.105.95.44.nip.io/asset/images/offers/<image> |
| countries | "All", or an array of full country names — ["united states","india"]. |
| devices | "All", or an array like ["android","ios","PC"]. |
| categories | Array of categories, or null if the offer has none. |
| payment_term | NET30 or NET60. |
| url | The offer tracking link — append your public key and your userId. |
| events | For multi-reward offers, the array of events. Absent on single-reward offers. |
Top-converting offers
Same authentication and the same JSON shape, but limited to offers that actually converted in the last 48 hours, plus per-offer analytics. Use it to show users only what is working right now.
| Param | Required | Type | Description |
|---|---|---|---|
| site_key | Yes | String | Public key. |
| site_secret | Yes | String | Secret key. |
| type | No | String | multireward only. |
| take | No | Integer | Limit results. Default 100. |
| skip | No | Integer | Skip first X. Default 0. |
GET https://newwall.178.105.95.44.nip.io/api/v1/offers/top-converting?site_key=publickey&site_secret=secretkey
Same bucket as /api/v1/offers, and the response is cached 5 minutes per parameter set — calling it more often returns the same thing.
Extra fields on top-converting
Everything from the Offers API, plus a window object and these per offer:
| Field | What it means |
|---|---|
| trend | up / down / stable — conversion momentum over the last 2 days. |
| rank | 1-based position, hottest offer first. |