Offers API (v3)

Use Case

Our offers API allow you to pull offers compatible with virtual currency applications and display them natively on your website or app. This API will return a complete list of offers available on the AdGate Media platform. You will need to store this list within your application and decide which offers to display to your users.

It is recommended to get a fresh list of offers every 10 minutes. Please do not use live traffic to request offers; the API should be called periodically from the backend.

Limitations

There are certain features that are available via the AdGate Rewards offer wall that are currently not accessible via the offers API.

These include:

  • A page that displays user history

  • Access to thousands of market research surveys via the AdGate Rewards routing system

Please keep this in mind prior to implementation.

API

Method: GET Base URL: https://api.adgatemedia.com/v3/offers

Required Parameters

Parameter

Description

Type

Example

aff

Any Integer

60000

api_key

Any String

941bd1fecf7e6596823b895e04df3a0c

wall_code

String

nQug

Optional Parameters

Parameter

Description

Type

Example

countries

Filter by specific countries. Accepts a list of comma separated country codes.

String

gb,us,ca

offer

Filter by specific offers. Accepts a list of comma separated offer IDs.

String

4849,5201,4809

paymin

Filter by offers above a minimum payout. Values are in USD.

Decimal

0.50

minepc

Filter by offers above a minimum EPC. Values are in USD.

Decimal

0.05

categories

Filter by offers in certain categories. Accepts a comma separated list of category IDs. Please see the table below for the category ID list.

String

4,10,11

platform

Filter by specific platforms. Accepts a list of comma separated platforms from this list: desktop, smartphone, tablet

String

smartphone,tablet

orderby

Order results by either payout,epc , or id(offer id) in descending order.

payout is calculated as the maximum payout from the offer's events. Default is epc.

String

payout

take

Limit the number of results to X. By default all results are returned.

Integer

200

skip

Skips the first X number of results. Useful when combined with limiting (see above). By default, no offers are skipped.

Integer

Category List

Category ID

Category Name

1

Android

2

Downloads

3

Email Submits

4

Free

10

iPad

11

iPhone

12

Lead Gen

13

Credit Card Required

14

Mobile Subscription

16

Surveys

17

Videos

18

CPC

19

Pay Per Call

20

Cash Back

21

CPI

22

CPE

23

CPA

Response

Note that country abbreviations use the ISO standard, e.g. GB instead of UK.

Sample Response

[
    {
        "status": "success",
        "data": [
            {
                "id": 100677,
                "name": "Final Fantasy XV iPhone CPE (US) (Incentive)",
                "anchor": "Final Fantasy XV",
                "description": "Be the hero of your own Final Fantasy XV adventure in the brand new mobile strategy game Final Fantasy XV!",
                "requirements": "Install and Reach Citadel level 10.",
                "pending_time": 60,
                "translations": {
                    "de": {
                        "anchor": "Final Fantasy XV",
                        "description": "Sei der Held deines eigenen Final Fantasy XV Abenteuers im brandneuen mobilen Strategiespiel Final Fantasy XV!",
                        "requirements": "Installieren und Erreichen der Zitadellebene 10!"
                    }
                },
                "device_targeting": {
                    "browsers": [
                        {"name": "chrome mobile"}
                    ],
                    "operating_systems": [
                        {
                            "name": "android",
                            "min_version": "4.4",
                            "max_version": null
                        }
                    ],
                    "devices": [
                        {"name": "samsung"}
                    ],
                    "platforms": [
                        {"name": "smartphone"},
                        {"name": "tablet"}
                    ]
                },
                "geo_targeting": {
                    "countries": [
                        {"country_code": "US"},
                        {"country_code": "CA"}
                    ],
                    "states": [
                        {"geoname_id": 5883102, "name": "Alberta"}
                    ],
                    "cities": [
                        {"geoname_id": 5913490, "name": "Calgary"}
                    ],
                    "postal_codes": [
                        {"code": "T1X 0L3"}
                    ]
                },
                "demographic_targeting": {
                    "age": {
                        "exclude": false,
                        "unknown_allowed": false,
                        "options": [
                            {
                                "min_age": 18,
                                "max_age": 25
                            },
                            {
                                "min_age": 60,
                                "max_age": null
                            }
                        ]
                    },
                    "gender": {
                        "exclude": false,
                        "unknown_allowed": true,
                        "options": [
                            "male",
                            "female"
                        ]
                    }
                },
                "creatives": {
                    "icon": "<https://linkhere>"
                },
                "epc": 1.98,
                "categories": [
                    "iPhone"
                ],
                "events": [
                    {
                        "id": "a9bf882a-5e06-49de-8cf7-a708ac653636",
                        "name": "install app",
                        "payout_type": "flat",
                        "payout": 1.30,
                        "is_cpc": false,
                        "event_type_id": 1,
                        "multiple_conversions_allowed": false,
                        "translations": {
                            "de": {
                                "label": "App installieren",
                            }
                        },
                    },
                    {
                        "id": "68c2dabe-c5f6-4785-9ea2-582fc039fe09",
                        "name": "make an in-app purchase",
                        "payout_type": "flat",
                        "payout": 20,
                        "is_cpc": false,
                        "event_type_id": 2,
                        "multiple_conversions_allowed": true,
                        "multiple_conversions_rules": {
                            "rule_type": "INTERVAL",
                            "x_conversions": 1,
                            "every_y_seconds": 60
                        },
                        "translations": {
                            "de": {
                                "label": "einen In-App-Kauf tätigen",
                            }
                        },
                    }
                ],
                "click_url": "<https://agm.mobi/vc/nQ/offers/100677?s1=>",
                "support_url": "<https://wall.adgaterewards.com/offer/contact/nQ/100677?s1=>",
                "preview_url": "<https://itunes.apple.com/app/final-fantasy-xv-a-new-empire/id1186994231?mt=8>",
                "country_stats": [
                    {
                        "country_code": "US",
                        "mobile_rank": 1,
                        "desktop_rank": 442
                    },
                    {
                        "country_code": "CA",
                        "mobile_rank": 259,
                        "desktop_rank": 189
                    }
                ]
            },
            ......
        ]
    }
]

Response Parameters

Key Name

Description

id

AdGate offer id.

name

AdGate's internal offer name, not to be displayed to end-users.

anchor

Offer title as shown to the end-user.

country_stats

Mobile and desktop ranks that indicate how well the offer performs compared to other offers within the same country. If API options are provided that filter the results, such as categories or platform, the ranks are calculated within the filtered result set. Note: the ranking algorithm is subject to change in the future. Please allow for gaps in the numeric ranks.

description

Offer description.

requirements

Offer requirements. The user must complete these requirements in order to convert.

pending_time

Time in minutes that a reward will be held from the user following completion.

translations

Available translations for the offer anchor, description and requirements.

device_targeting

device_targeting.browsers[].name

If present, the offer requires one of the specified browsers. Possible values are:

  • chrome

  • firefox

  • safari

  • edge

  • internet explorer

  • chrome mobile

  • mobile safari

(More values may be added in the future)

device_targeting.platforms[].name

If present, the offer requires one of the specified platforms.

Possible values are:

  • smartphone

  • tablet

  • desktop

(More values may be added in the future)

device_targeting.devices[].name

If present, the offer requires one of the specified devices.

Possible values are:

  • iphone

  • ipad

(More values may be added in the future)

device_targeting.operating_systems[].name

If present, the offer requires one of the specified operating systems.

Possible values are:

  • windows

  • mac os

  • ios

  • android

(More values may be added in the future)

device_targeting.operating_systems[].min_version

Minimum version number of the operating system above. If there is no minimum version requirement, this value will be null.

device_targeting.operating_systems[].min_version

Maximum version number of the operating system above. If there is no minimum version requirement, this value will be null.

geo_targeting

geo_targeting.countries[].country_code

The two-letter country codes this offer is available to. If no countries are provided, all countries are permitted. Use "GB" for the UK.

geo_targeting.states[].geoname_id

geo_targeting.states[].name

The name of the state/region as provided by Geonames.

geo_targeting.cities[].geoname_id

The cities that the offer is limited to, provided by the geoname ID.

geo_targeting.cities[].name

The name of the city as provided by Geonames.

geo_targeting.postal_codes[].code

The postal code the offer is limited to.

demographic_targeting.age.exclude

Whether to exclude the specified age groups from the targeting.

demographic_targeting.age.unknown_allowed

Whether to allow users with unknown or unspecified age.

demographic_targeting.age.options[].min_age

The minimum age for the range (inclusive).

demographic_targeting.age.options[].max_age

The maximum age for the range (inclusive).

demographic_targeting.gender.exclude

Whether to exclude the specified gender groups from the targeting.

demographic_targeting.gender.unknown_allowed

Whether to allow users with unknown or unspecified gender.

demographic_targeting.gender.options[]

An array of strings specifying the genders.

creatives

Object of key-values representing creatives, such as the offer's icon.

epc

Network-wide EPCs

categories

An array of offer categories (listed above)

events

An array of offer events.

event.id

UUID of the event

event.name

Event title

event.payout_type

One of "flat" or "dynamic". Flat payouts don't change. Dynamic payouts vary. Only 'flat' events are served at the moment.

event.payout

The dollar amount.

event.is_cpc

Boolean. Indicates if the offer event is CPC (cost-per-click).

event.multiple_conversions_allowed

Boolean. Indicates if the offer event allows multiple conversions for a single user (IP), according to the rules specified in "multiple_conversions_rules".

event.multiple_conversions_rules

Only present if "multiple_conversions_allowed" is true. It is an object with the following values: rule_type: Can be one of "UNLIMITED" or "INTERVAL". "UNLIMITED" means that the offer event can be completed an indefinite amount of times without time limit. "INTERVAL" means the offer event can be completed a certain amount of times in a given amount of time, in the format "allow X conversions every Y seconds". x_conversions: Integer when the rule type is "INTERVAL", "null" otherwise. every_y_seconds: Integer when the rule type is "INTERVAL", "null" otherwise. More attempts than the rule allows will not result in a conversion.

event.event_type_id

ID used to identify the event type

event.translations

Available translations for the event name (label).

click_url

Tracking link. The s1 parameter should include the ID of the user accessing the offer. The ID can be any string up to 255 characters long. s2,s3,s4 and s5 subids are available.

support_url

The URL the user can access to get support in case they are not rewarded. The s1 parameter is required (see click_url above for info.) Note that most offers require waiting at least one hour after clicking an offer to be able to contact support.

preview_url

Preview of the offer's landing page.

app_metadata.app_id

App ID on the mobile app store. It can be either App Store or Google Play Store app ID.

app_metadata.categories

An array of app metadata categories.

app_metadata.screenshot_urls

An array of app metadata screenshot URLs.

app_metadata.video_urls

An array of app metadata video URLs.

is_game

Whether the offer is a game offer

Offer Event Types

The following table shows the list of offer event type ids that can be retrieved in the API:

ID
Type

1

Install

2

Event

3

Purchase

NULL

N/A

Last updated