Sample Revenue Metrics API Requests
Below are practical examples of how to send requests to the RevenueMetrics API using various popular programming languages, such as Node.js, Python, and C#. These examples demonstrate how to structure your requests, authenticate using an API key, and handle responses effectively.
Node.js Example
const fetch = require('node-fetch');
async function fetchRevenueMetrics(apiKey, dateFrom, dateTo) {
const url = "https://universal-api.myappfree.com/graphql/index.html";
const headers = {
"x-api-key": apiKey,
"Content-Type": "application/json"
};
const query = {
query: `
query RevenueMetrics($fromDate: String!, $toDate: String!) {
revenueMetrics(where: { dateFrom: $fromDate, dateTo: $toDate }) {
total
items {
siteId
siteName
adunitId
adunitName
impressions
clicks
revenue
ecpm
arpdau
dau
}
}
}`,
variables: {
fromDate: dateFrom,
toDate: dateTo
}
};
const response = await fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(query)
});
if (response.ok) {
const data = await response.json();
return data;
} else {
throw new Error(`Query failed with status ${response.status}: ${await response.text()}`);
}
}
// Usage example
const apiKey = "YOUR_API_KEY";
const dateFrom = "2025-01-10 00:00:00";
const dateTo = "2025-01-10 10:00:00";
fetchRevenueMetrics(apiKey, dateFrom, dateTo)
.then(data => {
console.log("Revenue Metrics:");
console.log(JSON.stringify(data, null, 2)); // Pretty print the response with indentation
})
.catch(err => console.error("Error:", err));Python Example
import requests
import json
def fetch_revenue_metrics(api_key, date_from, date_to):
url = "https://universal-api.myappfree.com/graphql/index.html"
headers = {
"x-api-key": api_key,
"Content-Type": "application/json"
}
query = {
"query": """
query RevenueMetrics($fromDate: String!, $toDate: String!) {
revenueMetrics(where: { dateFrom: $fromDate, dateTo: $toDate }) {
total
items {
siteId
siteName
adunitId
adunitName
impressions
clicks
revenue
ecpm
arpdau
dau
}
}
}
""",
"variables": {
"fromDate": date_from,
"toDate": date_to
}
}
response = requests.post(url, json=query, headers=headers)
if response.status_code == 200:
return response.json()
else:
raise Exception(f"Query failed with status code {response.status_code}: {response.text}")
# Usage example
api_key = "YOUR_API_KEY"
date_from = "2025-01-10 00:00:00"
date_to = "2025-01-10 10:00:00"
try:
data = fetch_revenue_metrics(api_key, date_from, date_to)
print("Revenue Metrics:")
print(json.dumps(data, indent=2)) # Pretty print the response
except Exception as e:
print("Error:", e)C# Example
var client = new RestClient("https://universal-api.myappfree.com/graphql/index.html");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("x-api-key", "YOUR_API_KEY");
request.AddParameter("application/json", @"{
""query"": ""query RevenueMetrics($fromDate: String!, $toDate: String!) {
revenueMetrics(where: { dateFrom: $fromDate, dateTo: $toDate }) {
total
items {
siteId
siteName
adunitId
adunitName
impressions
clicks
revenue
ecpm
arpdau
dau
}
}
}"",
""variables"": {
""fromDate"": ""2025-01-10 00:00:00"",
""toDate"": ""2025-01-10 10:00:00""
}
}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);Shell Example
curl --request POST \
--url 'https://universal-api.myappfree.com/graphql/index.html' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"query": "query RevenueMetrics($fromDate: String!, $toDate: String!) {\n revenueMetrics(where: { dateFrom: $fromDate, dateTo: $toDate }) {\n total\n items {\n siteId\n siteName\n adunitId\n adunitName\n impressions\n clicks\n revenue\n ecpm\n arpdau\n dau\n }\n }\n }",
"variables": {
"fromDate": "2025-01-10 00:00:00",
"toDate": "2025-01-10 10:00:00"
}
}'
Last updated