Skip to content

Instantly share code, notes, and snippets.

@ryandhubbard
Created November 30, 2023 21:22
Show Gist options
  • Save ryandhubbard/370441d8f7a9088c6e1e0d5122394012 to your computer and use it in GitHub Desktop.
Save ryandhubbard/370441d8f7a9088c6e1e0d5122394012 to your computer and use it in GitHub Desktop.
AppsFlyer Get Modeled Conversion Value by Campaign and App
import requests
import datetime
import pandas as pd
import time
from io import StringIO
app_ids = []
#set start date to 7 days ago as a date formatted yyyy-mm-dd
start_date = datetime.datetime.today() - datetime.timedelta(days=7)
# set end date to yesterday
end_date = datetime.datetime.today() - datetime.timedelta(days=1)
modeled_conversion_values = 'false'
# for loop to iterate through app_ids
for app_id in app_ids:
# Replace 'YOUR_API_KEY' with your actual API key.
api_key = ''
url = f"https://hq1.appsflyer.com/api/skadnetworks/v3/data/app/{app_id}?start_date={start_date.date()}&end_date={end_date.date()}&modeled_conversion_values={modeled_conversion_values}"
headers = {
"accept": "application/json",
"Authorization": f"Bearer {api_key}" # Bearer authentication is commonly used, but adjust if necessary
}
response = requests.get(url, headers=headers)
# parse the response.text into seperate csv files grouped by each "Date" column
# Assuming response.text contains CSV formatted data
data = StringIO(response.text)
df = pd.read_csv(data)
for date in df['Date'].unique():
df[df['Date'] == date].to_csv(fr"C:\\Users\{app_id}_{date}.csv", index=False)
print(f"Saved {app_id}_{date}.csv")
# sleep for 30 seconds to avoid rate limiting
time.sleep(30)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment