Offers API

This Offers API endpoint provides a flexible interface for retrieving offers with various filtering and pagination options.

Make sure your API is active before reading this documentation.

API

Method: GET or POST

Base URL: https://revtoo.com/api/offers/

Parameter
Description
Type

api_key

Your API Key, get it from your app placement

String

Optional Parameters

Parameter
Description
Type
Default

countries

Comma-separated list of 2-letter country codes

String

All countries

user_id

Your user unique identifier

String

[USER_ID]

limit

Number of offers per page

Integer

Unlimited

page

Pagination page number

Integer

1

If you use "page" then you must have to use "limit", otherwise you'll face a status 103 error.

Example Request: GET https://revtoo.com/api/offers/?api_key=YOUR_API_KEY&user_id=USER_ID&countries=US,CA,DE&limit=100&page=1

OR

Example Request (Use form-data request body): POST https://revtoo.com/api/offers/

Responses

A successful response

{
  "success": true,
  "status": 200,
  "reward_value": 60,
  "reward_name": "Points",
  "reward_round": 2,
  "total_offers": 10,
  "shown_offers": 2,
  "offers": [
    {
      "id": 1,
      "hasEvents": false,
      "featured": false,
      "title": "Pokemon GO",
      "description": "Start a 14 Day Free Trial (New Users Only)",
      "payout": 1.96,
      "reward": 117.6,
      "url": "https://revtoo.com/redirect?api_key=YOUR_API_KEY&offer_id=1&user_id=USER_ID",
      "image": "https://play-lh.googleusercontent.com/eftfcMyaaRruAiGPgVZ4rkBsKU_s6qNswWuIOpF7PCNcsd2pY1vhkYnYEKdszfLfTu4=s96-rw",
      "category": "offer",
      "countries": [
        "BE",
        "FR",
        "NL"
      ],
      "os": [
        "web",
        "android",
        "ios"
      ],
      "timestamp": 1737321735,
      "events": []
    },
    {
      "id": 2,
      "hasEvents": true,
      "featured": false,
      "title": "Puzzles & Survival",
      "description": "Purchase Scarlett Pack 2 (Min. $9.99, New Users Only)",
      "payout": 21,
      "reward": 1260,
      "url": "https://revtoo.com/redirect?api_key=YOUR_API_KEY&offer_id=2&user_id=USER_ID",
      "image": "https://play-lh.googleusercontent.com/NeANdRQlPAh2vgZW1oU0_6teTt8tsJwiJoYXE5SRjRoqdbJP_3wJxIIRcViSti-1qGV0=w480-h960-rw",
      "category": "offer",
      "countries": [
        "AU"
      ],
      "os": [
        "android"
      ],
      "timestamp": 1737321735,
      "events": [
        {
          "event_id": "65105-1",
          "event_title": "install_game",
          "event_description": "Install the game and play for 1 minute",
          "event_payout": 1,
          "event_reward": 60
        },
        {
          "event_id": "65105-10",
          "event_title": "buy_scarlett2_pack",
          "event_description": "Purchase Scarlett Pack 2 ($9.99)",
          "event_payout": 21,
          "event_reward": 1260
        }
      ]
    }
  ],
  "pagination": {
    "limit": 2,
    "page": 1
  }
}

The “payout, reward” can have two possible values:

1. An asterisk (*) to indicate that the payout and reward values are variable.

2. A number (e.g., 12.32, 432.12, 233) to represent a fixed payout, reward amount.

See example below.

An example with asterisk payout response

{
  "success": true,
  "status": 200,
  "reward_value": 60,
  "reward_name": "Points",
  "reward_round": 2,
  "total_offers": 10,
  "shown_offers": 1,
  "offers": [
    {
      "id": 1970,
      "hasEvents": false,
      "featured": true,
      "title": "Pollfish Surveys",
      "description": "Complete a survey and earn reward, can be completed multiple times a day.",
      "payout": "*", // Explains it have variable payout
      "reward": "*", // Explains it have variable reward
      "url": "https://revtoo.com/redirect?api_key=YOUR_API_KEY&offer_id=pollfish&user_id=[USER_ID]",
      "image": "https://gdm-catalog-fmapi-prod.imgix.net/ProductLogo/b4ee8bec-dcea-4f03-8bb8-9b3398e9dccd.jpeg?auto=format%2Ccompress&fit=max&w=256&q=75&ch=Width%2CDPR",
      "category": "survey",
      "countries": [
        "US",
        "UK",
        "DE"
      ],
      "os": [
        "android", "ios", "web"
      ],
      "timestamp": 1737440432,
      "events": []
    }
  ],
  "pagination": {
    "limit": 1,
    "page": 1
  }
}

Response Root Structure

{
  "success": true,
  "status": 200,
  "reward_value": 60,
  "reward_name": "Points",
  "reward_round": 2,
  "total_offers": 100,
  "shown_offers": 10,
  "offers": [ ... ], // The core offers data is contained here, let's learn this.
  "pagination": {
    "limit": 10,
    "page": 1
  }
}

Offer Object

Key
Type
Description
Example

id

Integer

Unique offer identifier

123

hasEvents

Boolean

Whether offer has events

true/false

featured

Boolean

If offer is featured

true/false

title

String

Offer title

Pokemon GO - A World of Pokemons

description

String

Offer description

Join Trainers around the world and play Pokémon GO together in new and exciting ways.

payout

Float/String (*)

Offer payout amount

12.05

reward

Float/String (*)

Calculated reward amount

6025

url

String

Tracking redirect URL

image

String

Offer image URL

https://revtoo.com/path/to/image

category

String

Offer category

offer/survey

countries

Array

Supported countries

["US", "CA", "DE"]

os

Array

Supported operating systems

["andorid", "ios", "web"]

timestamp

Integer

Offer creation timestamp

1737778104

events

Array

Offer-specific events

Error Responses (status with message field)

Status
Code
Message

100

Missing API Key

No API key provided

101

Invalid API Key

API key not found in database

102

Rate Limit Exceeded

Too many requests

103

Pagination Error

Page specified without limit

105

Country Code Error

No valid country codes

Example Requests (GET)

Get All Active Offers

GET https://revtoo.com/api/offers/?api_key=YOUR_API_KEY

Filter by Countries

GET https://revtoo.com/api/offers/?api_key=YOUR_API_KEY&countries=US,CA,UK

Paginated Offers

GET https://revtoo.com/api/offers/?api_key=YOUR_API_KEY&limit=10&page=2

Example Requests (POST)

Get All Active Offers

POST https://revtoo.com/api/offers/

// FORM-DATA (REQUEST BODY)
{
"api_key" = "YOUR_API_KEY"
}

Filter by Countries

POST https://revtoo.com/api/offers/

// FORM-DATA (REQUEST BODY)
{
"api_key" = "YOUR_API_KEY",
"countries" = "US,CA,UK"
}

Paginated Offers

POST https://revtoo.com/api/offers/

// FORM-DATA (REQUEST BODY)
{
"api_key" = "YOUR_API_KEY",
"countries" = "US,CA,UK",
"limit" = 10,
"page" = 2
}

We only tried to visualize the REQUEST BODY in Example Requests (POST), be aware that actual code may vary.

Last updated