Suggest Edits

Introduction

 

Fyber's Publisher Reporting API allows you to programmatically request several data points (views, transactions, revenue) for each of your applications, or a set of your applications to build your own dashboard.

Suggest Edits

Authentication

 

The authentication credentials consist of the username and the api password found in the Publisher's Dashboard under their Account page.

We recommend authentication by HTTP Authorisation Header.

Authorization Header

The Header must be constructed as follows:

  1. Combine the username and api password with a single colon. (username:api_password);
  2. Encode the resulting via Base64;
  3. Combine the resulted string with a preceding "Basic".

Example: Authorization: Basic MTplMzg4MmE1MzJmNzY0NzYzOTU2ZDE1ODQ3NjExNmRiYQ=

Suggest Edits

Applications Endpoint

Our Application endpoint is used to collect a list of all applications together with their Fyber application IDs and the respective platform. This list can be used to convert back application IDs to proper app store names. Additionally the Fyber application_id is a viable filter that can be applied to all API requests to reduce the amount of data sets.

Each object returned contains a set of application data.

Filtering the results is possible. Available filters are platform and test_mode.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://api.fyber.com/publishers/v2/applications
# basic request
curl 'https://api.fyber.com/publishers/v2'\
	'/applications.json' \
 	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='

# filter by platform
curl 'https://api.fyber.com/publishers/v2'\
	'/applications.json?platform=iOS' \
 	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='
A binary file was returned

You couldn't be authenticated

{
  "data": [
    {
      "id": 123,
      "name": "My Live iOS App",
      "platform": "iOS",
      "test_mode": false
    },
    {
      "id": 321,
      "name": "My Test iOS App",
      "platform": "iOS",
      "test_mode": true
    },
    {
      "id": 333,
      "name": "My Test Web App",
      "platform": "Web",
      "test_mode": true
    }
  ]
}
{
  "error": "platform is invalid. Possible values are (Android, iOS). Please review your query."
}
{
  "error": "Our servers had a problem and we are investigating. Please try again later."
}
 { 
   "error": "Your credentials are invalid. Please check your request." 
 }
{ 
  "error": "Number of requests exceeded. Please try again later." 
}
{ 
  "error": "Number of failed logins reached. Please try again later." 
}

Query Params

platform
string

The platform to be filtered. Possible values are Android, iOS and Web.

test_mode
boolean

Filter applications that are in test mode or live.

 

The application KPIs object

Property name Type Description
id Integer Fyber's internal application id
name String The application's name as seen in Dashboard
platform String The application's platform
test_mode Boolean Whether the application is in test mode or live
Suggest Edits

Publisher KPIs Endpoint

The Publisher statistics endpoint provides a summary on ad monetization across all publisher application. Fyber provides breakdowns for ad format, date, country and applications.

Each object returned contains a set of KPIs grouped by Ad Format, Application, Country and Day.

Filtering the results is possible and recommended. Available filters are application_ids, countries, since & until, and ad_formats.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://api.fyber.com/publishers/v2/reporting/publisher-kpis
# basic request
curl 'https://api.fyber.com/publishers/v2'\
	'/reporting/publisher-kpis.json' \
	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='
  
# filter by country
curl 'https://api.fyber.com/publishers/v2'\
	'/reporting/publisher-kpis.json?countries=DE,AT' \
	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='
 
# filter by time range
curl 'https://api.fyber.com/publishers/v2'\
	'/reporting/publisher-kpis.json?since=2016-07-1&until=2016-07-14' \
	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='
  
# filter by invalid ad format (will result in 400)
curl 'https://api.fyber.com/publishers/v2'\
	'/reporting/publisher-kpis.json?ad_formats=invalid-format' \
	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='


A binary file was returned

You couldn't be authenticated

{
  "data": [
    {
      "ad_format": "interstitial",
      "application_id": 123456,
      "application_name": "My Application",
      "ecpm_eur": 1.23,
      "ecpm_usd": 1.00,
      "fills": 100,
      "impressions": 1200,
      "revenue_eur": 0.071429,
      "revenue_usd": 0.08,
      "requests": 1000,
      "date": "2016-06-06",
      "country": "DE",
      "completions": 10,
      "unique_impressions": 23
    }
  ]
}
{
  "error": "ad_formats parameter is invalid. Possible values are (banner, interstitial, offer_wall, rewarded_video). Please review your query."
}
{
  "error": "Our servers had a problem and we are investigating. Please try again later."
}
{ "error": "Your credentials are invalid. Please check your request." }
{ "error": "Number of requests exceeded. Please try again later." }
{ "error": "Number of failed logins reached. Please try again later." }

Query Params

application_ids
string

A single application_id or a comma separated list of application_id's

countries
string

A single country or comma separated list of countries following ISO 3166 alpha-2 standard

since
date

The starting date of the filtered time range following ISO 8601 standard (YYYY-MM-DD), only in combination with until. Example: 2016-07-13

until
date

The end date of the filtered time range following ISO 8601 standard (YYYY-MM-DD), only in combination with since. Example: 2016-07-13

ad_formats
string

A single ad format or comma separated list of ad formats, possible values are: banner, interstitial, offer_wall, rewarded_video

 

Response

Property name Type Description
application_name String The human readable name of the application
application_id Integer Fyber's internal application id
ecpm_eur Float The effective Cost-per-Thousand-Impressions in Euro
ecpm_usd Float The effective Cost-per-Thousand-Impressions in US-Dollar
fills Integer The Number of fills
impressions Integer The Number of impressions
revenue_eur Float The revenue in Euro
revenue_usd Float The revenue in US dollars
requests Integer The number of ad requests
date String The date in ISO 8601 standard
country String The country code in ISO 3166 alpha-2 standard
ad_format String The ad format
completions Integer The number of completions
unique_impressions Integer The number of unique impressions
Suggest Edits

Ad Networks KPIs Endpoint

Our Ad Networks statistics endpoint gives detailed information on the entire mediation performance. Fyber provides breakdowns for ad network, ad format, date, country, and applications.

Each object returned contains a set of KPIs grouped by Ad Format, Application, Country, Day and also Ad Network.

Filtering the results is possible and recommended. Available filters are application_ids, countries, since & until, ad_formats and ad_networks.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://api.fyber.com/publishers/v2/reporting/ad-networks-kpis
# basic request
curl 'https://api.fyber.com/publishers/v2'\
	'/reporting/ad-networks-kpis.json' \
	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='
  
# filter by ad networks
curl 'https://api.fyber.com/publishers/v2'\
	'/reporting/ad-networks-kpis.json?ad_networks=AdColony,UnityAds'\
	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='
 
# filter by ad formats
curl 'https://api.fyber.com/publishers/v2'\
	'/reporting/ad-networks-kpis.json?ad_formats=banner,interstitial' \
	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='
A binary file was returned

You couldn't be authenticated

{
  "data": [
    {
      "application_name": "My Application",
      "application_id": 123456,
      "revenue_eur": 1.23,
      "revenue_usd": 1.43,
      "completions": 42,
      "date": "2016-06-06",
      "country": "DE",
      "ad_format": "rewarded_video",
      "impressions": 12,
      "ecpm_eur": 1.12,
      "ecpm_usd": 2.13,
      "fills": 10,
      "ad_network": "Vungle",
      "unique_impressions": 15,
      "requests": 10
    }
  ]
}
{
  "error": "countries parameter is invalid. Country codes must follow ISO 3166 alpha-2 Standard. Please review your query."
}
{
  "error": "Our servers had a problem and we are investigating. Please try again later."
}
{ "error": "Your credentials are invalid. Please check your request." }
{ "error": "Number of requests exceeded. Please try again later." }
{ "error": "Number of failed logins reached. Please try again later." }

Query Params

application_ids
string

A single application_id or a comma separated list of application_id's

countries
string

A single country or comma separated list of countries following ISO 3166 alpha-2 standard

since
date

The starting date of the filtered time range following ISO 8601 standard (YYYY-MM-DD), only in combination with until. Example: 2016-07-13

until
date

The end date of the filtered time range following ISO 8601 standard (YYYY-MM-DD), only in combination with since. Example: 2016-07-13

ad_formats
string

A single ad format or comma separated list of ad formats, possible values are: banner, interstitial, rewarded_video

ad_networks
string

A single ad network or comma separated list of ad networks, possible values are AdColony, AdMob, Amazon, AppLift, Applovin, AppleIAd, Chartboost, DirectSold, FacebookAudienceNetwork, Flurry, FyberExchange, HyprMX, InMobi, Inneractive, LoopMe, Mediabrix, Millennial, NativeX, Tapjoy, Tremor, UnityAds, Vungle, Ogury

 

The Ad Networks KPIs Object

Property name Type Description
application_name String The human readable name of the application
application_id Integer Fyber's internal application id
revenue_eur Float The revenue in EURO
revenue_usd Float The revenue in US dollars
completions Integer The number of completions
date String The date in ISO 8601 standard
country String The country code in ISO 3166 alpha-2 standard
ad_format String The ad format
ecpm_eur Float The effective Cost-per-Thousand-Impressions in Euro
ecpm_usd Float The effective Cost-per-Thousand-Impressions in US-Dollar
fills Integer The number of fills
ad_network String The ad network
impressions Integer The number of impressions
unique_impressions Integer The number of unique impressions
requests Integer The number of requests
Suggest Edits

Application KPIs Endpoint

Our Application statistics endpoint enables a quick overview of the DAU & ARPDAU of your applications. Fyber provides breakdowns for date, country and applications. 



Each object returned contains a set of KPIs grouped by Application, Country and Day.

Filtering the results is possible and recommended. Available filters are application_ids, countries and since & until.

 

Basic Auth

 Authentication is required for this endpoint.
gethttps://api.fyber.com/publishers/v2/reporting/application-kpis
# basic request
curl 'https://api.fyber.com/publishers/v2'\
	'/reporting/application-kpis.json' \
 	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='

# filter by application id's
curl 'https://api.fyber.com/publishers/v2'\
	'/reporting/application-kpis.json?application_ids=44163,45114' \
 	-H 'Authorization: Basic MToxNzgyM2RlZjZiZTU4NDExMzQ2MmUzMDZhYTA0NDg2Ng='
A binary file was returned

You couldn't be authenticated

{
  "data": [
    {
      "application_name": "My Application",
      "dau": 42,
      "arpdau_eur": 1.42,
      "arpdau_usd": 1.83,
      "application_id": 123456,
      "date": "2016-06-06",
      "country": "DE"
    }
  ]
}
{
  "error": "countries parameter is invalid. Country codes must follow ISO 3166 alpha-2 Standard. Please review your query."
}
{
  "error": "Our servers had a problem and we are investigating. Please try again later."
}
 { "error": "Your credentials are invalid. Please check your request." }
{ "error": "Number of requests exceeded. Please try again later." }
{ "error": "Number of failed logins reached. Please try again later." }

Query Params

application_ids
string

A single application id or a comma separated list of application id's

countries
string

A single country or list of countries following ISO 3166 alpha-2 standard

since
date

The starting date of the filtered time range following ISO 8601 standard (YYYY-MM-DD), only in combination with until. Example: 2016-07-13

until
date

The end date of the filtered time range following ISO 8601 standard (YYYY-MM-DD), only in combination with since. Example: 2016-07-13

 

The application KPIs object

Property name Type Description
application_name String The human readable name of the application
application_id Integer Fyber's internal application id
date String The date in ISO 8601 standard
country String The country code in ISO 3166 alpha-2 standard
dau Integer Number of daily active users
arpdau_eur Float Average revenue per daily active user in Euro
arpdau_usd Float Average revenue per daily active user in US-Dollar
Suggest Edits

Rate Limiting

 

Number of Requests Limits

Requests to Fyber's Publisher API are rate limited based on their username and not the IP. The current limit is 200 requests per 15 minute time period.

HTTP Responses

A throttled response will return a 429 Too Many Requests (RFC 6585) HTTP status code. See the endpoints documentation for an example response.

HTTP Headers

Non-throttled responses will contain the following HTTP Header fields:

X-RateLimit-Limit

Number of requests allowed.

X-RateLimit-Remaining

Number of remaining requests in the current time window.

X-RateLimit-Reset

Date and time when the rate limit will be reset.

Failed Login Attempts Limits

After 5 failed login attempts the requesting IP will be blocked for 1 minute.

HTTP Responses

A blocked request will receive a 403 Forbidden HTTP status code. See the endpoints documentation for an example response.