PopAds API v2 is designed to facilitate the creation and updating of campaigns and feeds. The API offers a variety of endpoints to retrieve options for campaigns and feeds.
Base URL for all API actions: https://www.popads.net/apiv2
The number of required arguments varies depending on the specific action.
Important: All requests require an API key parameter. This is an individually assigned access token that can be obtained from the Account Manager section of our Panel.
Endpoints for creating new campaigns and updating existing ones. These allow advertisers to set up and modify their advertising campaigns with various targeting options and parameters.
key required | string api key |
required | object (CampaignGeneralInformationCreate) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Budget) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Throttling) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Categories) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Countries) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Society) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Environment) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Device) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Connection) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Time) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (WebsiteTargeting) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (AdScore) | ||||||||||||||||||||||||||||||||||||
|
{- "general_information": {
- "name": "Example request body for campaign creation with multiple urls",
- "adult": true,
- "minimum_quality": 1,
- "minimum_quality_mode": "minimum",
- "incognito": "incognito",
- "frequency_cap": {
- "days": 2,
- "hours": 23,
- "minutes": 25
}, - "after_approval": 3,
- "referrer": 1,
- "primespot": "no_primespot",
- "ad_type": "popup",
- "ad_block": "adblock",
- "ad_type_other": true
}, - "budget": {
- "mode": "legacy_bid",
- "max_bid": 0.09866406,
- "max_per_day": 5,
- "budget": 3
}, - "throttling": {
- "type": "manual",
- "speed": 50
}, - "categories": {
- "list": [
- 1,
- 2
], - "include_subcategories": true
}, - "countries": {
- "codes": [
- "GR",
- "RU",
- "DK"
], - "regions": [ ]
}, - "society": {
- "language_mode": "first",
- "languages": [
- "af",
- "sq",
- "ar-sa"
], - "populations": [
- 1,
- 5
]
}, - "environment": {
- "os": [
- 5579
], - "browser": [
- 23248
], - "resolutions": [
- 6
]
}, - "device": {
- "device": [
- 237
], - "form_factor": [
- 3155
]
}, - "connections": {
- "ip_targeting_id": 74150
}, - "time": {
- "time": [
- "110",
- "111",
- "112",
- "113"
], - "timezone": "Europe/Athens"
}, - "website_targeting": {
- "type": "include",
- "items_incl": [
- 1883,
- 1884
]
}, - "adscore": {
- "valid_traffic": 1,
- "proxy_traffic": 0,
- "junk_traffic": 1,
- "bot_traffic": 0,
- "compliance_intelligence": 1,
- "compliance": 1,
- "true_location": 0
}
}
{- "status": "success",
- "code": 201,
- "records": 1,
- "messages": [
- "Thank you for the submission. Our staff has just been notified about your new campaign and it will be reviewed as soon as possible.As you set your campaign budget to be $3.00, the amount of $3.00 was debited from your account balance and moved to this campaign budget."
], - "data": {
- "campaign": {
- "id": 8573006,
- "status": "Pending Approval",
- "general_information": {
- "ad_block": "adblock",
- "ad_type": "popup",
- "ad_type_other": true,
- "adult": true,
- "after_approval": 3,
- "frequency_cap": {
- "days": 2,
- "hours": 23,
- "minutes": 25
}, - "incognito": "incognito",
- "minimum_quality": 1,
- "minimum_quality_mode": "minimum",
- "name": "Example update campaign with multiple urls",
- "primespot": "no_primespot",
- "referrer": 1,
}, - "budget": {
- "mode": "legacy_bid",
- "max_bid": "0.09866406",
- "max_per_day": 5,
- "budget": 3
}, - "throttling": {
- "type": "manual",
- "speed": 50
}, - "categories": {
- "include_subcategories": true,
- "list": [
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8
]
}, - "countries": {
- "codes": [
- "GR",
- "RU",
- "DK"
], - "regions": [ ]
}, - "society": {
- "language_mode": "first",
- "languages": [
- "af",
- "sq",
- "ar-sa"
], - "populations": [
- 1,
- 5
]
}, - "environment": {
- "os": [
- 5579
], - "browser": [
- 23248
], - "resolutions": [
- 6
]
}, - "device": {
- "device": [
- 237
], - "form_factor": [
- 3155
]
}, - "connections": {
- "ip_targeting_id": 74150
}, - "time": {
- "time": [
- "110",
- "111",
- "112",
- "113"
], - "timezone": "Europe/Athens"
}, - "website_targeting": {
- "type": "include",
- "items_incl": [
- 1883,
- 1884
]
}, - "adscore": {
- "valid_traffic": 1,
- "proxy_traffic": 0,
- "junk_traffic": 1,
- "bot_traffic": 0,
- "compliance_intelligence": 1,
- "compliance": 1
}
}
}
}
campaignId required | integer <int64> campaign id |
key required | string api key |
required | object (CampaignGeneralInformationUpdate) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Budget-2) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Throttling) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Categories) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Countries) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Society) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Environment) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Device) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Connection) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (Time) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (WebsiteTargeting) | ||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||
required | object (AdScore) | ||||||||||||||||||||||||||||||||||||
|
{- "general_information": {
- "name": "Example update campaign with multiple urls",
- "minimum_quality": 2,
- "minimum_quality_mode": "exact",
- "frequency_cap": {
- "days": 5,
- "hours": 13,
- "minutes": 50
}, - "incognito": "regular",
- "after_approval": 1,
- "referrer": 1,
- "primespot": "all",
- "ad_type": "popunder",
- "ad_block": "all",
- "ad_type_other": false
}, - "budget": {
- "mode": "smart_bid",
- "max_bid": 0.01,
- "max_per_day": 2.5
}, - "throttling": {
- "type": "auto",
- "unit": "s",
- "mode": "spent",
- "value": 1.23
}, - "categories": {
- "list": [
- 1,
- 2,
- 3,
- 4
], - "include_subcategories": false
}, - "society": {
- "language_mode": "first",
- "languages": [
- "af",
- "ar-sa"
], - "populations": [
- 0,
- 3
]
}, - "environment": {
- "os": [
- 1,
- 14
], - "browser": [
- 2,
- 174
], - "resolutions": [
- 4,
- 5,
- 6,
- 7
]
}, - "device": {
- "device": [
- 235,
- 237
], - "form_factor": [ ]
}, - "countries": {
- "codes": [
- "GR",
- "RU"
], - "regions": [
- "GR",
- "GR02",
- "RU"
]
}, - "connections": {
- "conntype": [
- 1,
- 2,
- 3,
- 7
], - "connspeed": [
- 1,
- 2,
- 3
], - "internet_service_providers": [
- 2543477
]
}, - "time": {
- "timezone": "Europe/Moscow",
- "time": [
- 505,
- 602
]
}, - "website_targeting": {
- "type": "exclude",
- "items_excl": [
- 2832627,
- 3134369
]
}, - "adscore": {
- "valid_traffic": 1,
- "proxy_traffic": 1,
- "junk_traffic": 0,
- "bot_traffic": 0,
- "compliance_intelligence": 1,
- "compliance": 1
}
}
{- "status": "success",
- "code": 200,
- "records": 1,
- "messages": [
- "Your campaign has been updated"
], - "data": null,
- "campaign": {
- "id": 8594963,
- "status": "Pending Approval",
- "general_information": {
- "ad_block": "all",
- "ad_type": "popunder",
- "ad_type_other": false,
- "adult": false,
- "after_approval": 1,
- "frequency_cap": {
- "days": 5,
- "hours": 13,
- "minutes": 50
}, - "incognito": "regular",
- "minimum_quality": 2,
- "minimum_quality_mode": "exact",
- "name": "Example update campaign with multiple urls",
- "primespot": "all",
- "referrer": 1,
}, - "budget": {
- "mode": "smart_bid",
- "max_bid": "0.01",
- "max_per_day": 2.5,
- "budget": 3
}, - "throttling": {
- "type": "auto",
- "value": 1.23,
- "mode": "spent",
- "unit": "s"
}, - "categories": {
- "include_subcategories": false,
- "list": [
- 1,
- 2,
- 3,
- 4
]
}, - "countries": {
- "codes": [
- "GR",
- "RU"
], - "regions": [
- "GR01",
- "GR02",
- "RU"
]
}, - "society": {
- "language_mode": "first",
- "languages": [
- "af",
- "ar-sa"
], - "populations": [
- 0,
- 3
]
}, - "environment": {
- "os": [
- 1,
- 14
], - "browser": [
- 2,
- 174
], - "resolutions": [
- 4,
- 5,
- 6,
- 7
]
}, - "device": {
- "device": [
- 235
], - "form_factor": [ ]
}, - "connections": {
- "conntype": [
- 1,
- 2,
- 3,
- 7
], - "connspeed": [
- 1,
- 2,
- 3
], - "internet_service_providers": [
- 2543477
]
}, - "time": {
- "time": [
- "505",
- "602"
], - "timezone": "Europe/Moscow"
}, - "website_targeting": {
- "type": "exclude",
- "items_excl": [
- 2832627,
- 3134369
]
}, - "adscore": {
- "valid_traffic": 1,
- "proxy_traffic": 1,
- "junk_traffic": 0,
- "bot_traffic": 0,
- "compliance_intelligence": 1,
- "compliance": 1,
- "true_location": 0
}
}
}
Endpoints for creating and updating feeds. Feeds are used to manage multiple ad placements or websites where ads will be displayed, allowing for efficient bulk management of ad inventory.
key required | string api key |
required | object (FeedGeneralInformation) | ||||||||||||||||||||||
| |||||||||||||||||||||||
object (OpenRTB) Use this section only if your feed is using OpenRTB protocol. For normal XML/JSON feeds, leave all fields on this tab blank. | |||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (ThrottlingFeed) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Categories) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Countries) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Society) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Environment) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Device) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Connection) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Time) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (WebsiteTargeting) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (AdScore) | ||||||||||||||||||||||
|
Example request body for feed creation for floating banner
{- "general_information": {
- "name": "floatingbanner - throttling none - website id",
- "minimum_quality": 1,
- "minimum_quality_mode": "exact",
- "ad_type": "floatingbanner",
- "ad_block": "all",
- "bid_modifier": 0,
- "referrer": 2,
- "primespot": "no_primespot",
- "position": "top-left",
- "width": "550px",
- "height": "250px",
- "incognito": "all"
}, - "openrtb": {
- "root_ext": {
- "sub": "[WEBSITEID]"
}, - "user_ext": {
- "remote_addr": "[IP]",
- "x_forwarded_for": "[XFOFO]"
}
}, - "throttling": {
- "type": "none"
}, - "categories": {
- "list": [
- 1,
- 2,
- 3
], - "include_subcategories": true
}, - "countries": {
- "codes": [
- "AM",
- "AS",
- "AZ"
], - "regions": [ ]
}, - "society": {
- "language_mode": "exact",
- "languages": [
- "af",
- "hu"
], - "populations": [
- 4,
- 8
]
}, - "environment": {
- "os": [
- 91
], - "browser": [
- 194
], - "resolutions": [
- 4,
- 10
]
}, - "device": {
- "device": [ ],
- "form_factor": [ ],
- "request_as_desktop": 0
}, - "connections": {
- "ip_targeting_id": 75279
}, - "time": {
- "time": [
- 101,
- 201,
- 301
], - "timezone": "Detect"
}, - "website_targeting": {
- "type": "none",
- "id": 9603
}, - "adscore": {
- "valid_traffic": 1,
- "proxy_traffic": 1,
- "junk_traffic": 0,
- "bot_traffic": 0,
- "compliance_intelligence": 1,
- "compliance": 1
}
}
Example response body for feed creation for floating banner
{- "status": "success",
- "code": 200,
- "records": 1,
- "data": {
- "general_information": {
- "name": "create floatingbanner feed",
- "minimum_quality": 1,
- "minimum_quality_mode": "exact",
- "ad_type": "floatingbanner",
- "ad_block": "all",
- "bid_modifier": 0,
- "referrer": 2,
- "primespot": "no_primespot",
- "position": "top-left",
- "width": "550px",
- "height": "250px",
- "incognito": "all"
}, - "openrtb": {
- "root_ext": {
- "sub": "[WEBSITEID]"
}, - "user_ext": {
- "remote_addr": "[IP]",
- "x_forwarded_for": "[XFOFO]"
}
}, - "throttling": {
- "type": "none"
}, - "categories": {
- "list": [
- 1,
- 2,
- 3
], - "include_subcategories": true
}, - "countries": {
- "codes": [
- "AM",
- "AS",
- "AZ"
], - "regions": [ ]
}, - "society": {
- "language_mode": "exact",
- "languages": [
- "af",
- "hu"
], - "populations": [
- 4,
- 8
]
}, - "environment": {
- "os": [
- 91
], - "browser": [
- 194
], - "resolutions": [
- 4,
- 10
]
}, - "device": {
- "device": [ ],
- "form_factor": [ ],
- "request_as_desktop": 0
}, - "connections": {
- "ip_targeting_id": 75279
}, - "time": {
- "time": [
- 101,
- 201,
- 301
], - "timezone": "Detect"
}, - "website_targeting": {
- "type": "none",
- "id": 9603
}, - "adscore": {
- "valid_traffic": 1,
- "proxy_traffic": 1,
- "junk_traffic": 0,
- "bot_traffic": 0,
- "compliance_intelligence": 1,
- "compliance": 0
}
}
}
feedId required | integer <int64> feed id |
key required | string api key |
required | object (FeedGeneralInformation) | ||||||||||||||||||||||
| |||||||||||||||||||||||
object (OpenRTB) Use this section only if your feed is using OpenRTB protocol. For normal XML/JSON feeds, leave all fields on this tab blank. | |||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (ThrottlingFeed) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Categories) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Countries) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Society) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Environment) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Device) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Connection) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (Time) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (WebsiteTargeting) | ||||||||||||||||||||||
| |||||||||||||||||||||||
required | object (AdScore) | ||||||||||||||||||||||
|
{- "general_information": {
- "name": "floatingbanner - throttling none - website id",
- "minimum_quality": 1,
- "minimum_quality_mode": "exact",
- "ad_type": "floatingbanner",
- "ad_block": "all",
- "bid_modifier": 0,
- "referrer": 2,
- "primespot": "no_primespot",
- "position": "top-left",
- "width": "550px",
- "height": "250px",
- "incognito": "all"
}, - "openrtb": {
- "root_ext": {
- "sub": "[WEBSITEID]"
}, - "user_ext": {
- "remote_addr": "[IP]",
- "x_forwarded_for": "[XFOFO]"
}
}, - "throttling": {
- "type": "none"
}, - "categories": {
- "list": [
- 1,
- 2,
- 3
], - "include_subcategories": true
}, - "countries": {
- "codes": [
- "AM",
- "AS",
- "AZ"
], - "regions": [ ]
}, - "society": {
- "language_mode": "exact",
- "languages": [
- "af",
- "hu"
], - "populations": [
- 4,
- 8
]
}, - "environment": {
- "os": [
- 91
], - "browser": [
- 194
], - "resolutions": [
- 4,
- 10
]
}, - "device": {
- "device": [ ],
- "form_factor": [ ],
- "request_as_desktop": 0
}, - "connections": {
- "ip_targeting_id": 75279
}, - "time": {
- "time": [
- 101,
- 201,
- 301
], - "timezone": "Detect"
}, - "website_targeting": {
- "type": "none",
- "id": 9603
}, - "adscore": {
- "valid_traffic": 1,
- "proxy_traffic": 1,
- "junk_traffic": 0,
- "bot_traffic": 0,
- "compliance_intelligence": 1,
- "compliance": 1
}
}
{- "status": "success",
- "code": 200,
- "records": 1,
- "messages": "Your campaign has been updated",
- "data": {
- "id": 12345,
- "status": "Paused",
- "general_information": {
- "name": "update floatingbanner feed",
- "minimum_quality": 1,
- "minimum_quality_mode": "exact",
- "ad_type": "floatingbanner",
- "ad_block": "all",
- "bid_modifier": 0,
- "referrer": 2,
- "primespot": "no_primespot",
- "position": "top-left",
- "width": "550px",
- "height": "250px",
- "incognito": "all"
}, - "openrtb": {
- "root_ext": {
- "sub": "[WEBSITEID]"
}, - "user_ext": {
- "remote_addr": "[IP]",
- "x_forwarded_for": "[XFOFO]"
}
}, - "throttling": {
- "type": "none"
}, - "categories": {
- "list": [
- 1,
- 2,
- 3
], - "include_subcategories": true
}, - "countries": {
- "codes": [
- "AM",
- "AS",
- "AZ"
], - "regions": [ ]
}, - "society": {
- "language_mode": "exact",
- "languages": [
- "af",
- "hu"
], - "populations": [
- 4,
- 8
]
}, - "environment": {
- "os": [
- 91
], - "browser": [
- 194
], - "resolutions": [
- 4,
- 10
]
}, - "device": {
- "device": [ ],
- "form_factor": [ ],
- "request_as_desktop": 0
}, - "connections": {
- "ip_targeting_id": 75279
}, - "time": {
- "time": [
- 101,
- 201,
- 301
], - "timezone": "Detect"
}, - "website_targeting": {
- "type": "none",
- "id": 9603
}, - "adscore": {
- "valid_traffic": 1,
- "proxy_traffic": 1,
- "junk_traffic": 0,
- "bot_traffic": 0,
- "compliance_intelligence": 1,
- "compliance": 1
}
}
}
Endpoints to retrieve various option values that can be used in campaigns and feeds. These include lists of available targeting options such as devices, operating systems, browsers, countries, and more, enabling advertisers to refine their campaign settings.
{- "status": "success",
- "code": 200,
- "records": 2,
- "data": [
- {
- "id": 2,
- "type": "browser",
- "parent_id": null,
- "name": "Unknown",
- "depth": 1
}, - {
- "id": 174,
- "type": "browser",
- "parent_id": null,
- "name": "Firefox",
- "depth": 1
}
]
}
Information about categories
key required | string api key |
{- "status": "success",
- "code": 200,
- "records": 2,
- "data": [
- {
- "id": 253,
- "label": "General",
- "parent_id": null
}, - {
- "id": 1,
- "label": "General/Arts",
- "parent_id": 253
}
]
}
Information about floating mode positions
key required | string api key |
{- "status": "success",
- "code": 200,
- "records": 2,
- "data": [
- {
- "id": "top-left",
- "label": "Top left"
}, - {
- "id": "top-right",
- "label": "Top right"
}
]
}
Information about form factors
key required | string api key |
{- "status": "success",
- "code": 200,
- "records": 2,
- "data": [
- {
- "id": 4,
- "type": "form_factor",
- "parent_id": null,
- "name": "Unknown",
- "depth": 1
}, - {
- "id": 310,
- "type": "form_factor",
- "parent_id": null,
- "name": "Smartphone",
- "depth": 1
}
]
}
{- "status": "success",
- "code": 200,
- "records": 2,
- "data": [
- {
- "id": 3,
- "type": "device",
- "parent_id": null,
- "name": "Unknown",
- "depth": 1
}, - {
- "id": 235,
- "type": "device",
- "parent_id": null,
- "name": "Apple",
- "depth": 1
}
]
}
Specifies, whether to include visitors browsing only in Incognito mode.
key required | string api key |
{- "status": "success",
- "code": 200,
- "records": 3,
- "data": [
- {
- "id": "all",
- "label": "All traffic"
}, - {
- "id": "incognito",
- "label": "Incognito only"
}, - {
- "id": "regular",
- "label": "Non-Incognito traffic only"
}
]
}
Information about internet service providers. Multiple values can provided with comma separated codes values
key required | string api key |
codes required | string one or more separated with comma get all the valid values from Countries |
{- "status": "success",
- "code": 200,
- "records": 2,
- "data": [
- {
- "id": 2543477,
- "name": "Cosmote",
- "country": "GR",
- "connection_speed": [
- 2,
- 4,
- 0
], - "connection_type": [
- 10,
- 3,
- 0
]
}, - {
- "id": 2500849,
- "name": "Vodafone Greece",
- "country": "GR",
- "connection_speed": [
- 2,
- 0,
- 3
], - "connection_type": [
- 10,
- 0,
- 7
]
}
]
}
Information about operating systems
key required | string api key |
{- "status": "success",
- "code": 200,
- "records": 2,
- "data": [
- {
- "id": 1,
- "type": "os",
- "parent_id": null,
- "name": "Unknown",
- "depth": 1
}, - {
- "id": 7,
- "type": "os",
- "parent_id": null,
- "name": "Windows",
- "depth": 1
}
]
}
Information about regions by country(ies)
key required | string api key |
codes required | string one or more separated with comma get all the valid values from Countries |
{- "status": "success",
- "code": 200,
- "records": 2,
- "data": [
- {
- "id": "GR01",
- "label": "Evros"
}, - {
- "id": "GR02",
- "label": "Rodhopi"
}
]
}
{- "status": "success",
- "code": 200,
- "records": 2,
- "data": [
- {
- "id": "Detect",
- "label": "Detect My Timezone"
}, - {
- "id": "Africa/Abidjan",
- "label": "Africa/Abidjan"
}
]
}