Geeklab API Documentation

Posted on Mar 11th 2021 by Jesse Lempiäinen
Tutorials
...

🚀 API Documentation

Geeklab API is created to allow Geeklab developers and users to access their apps, campaigns, and campaign results. The API requires a unique API token, you can receive and revoke from Geeklab’s dashboard if you have admin access.

The purpose of the API is to allow Geeklab users to receive campaign performance on a high-level, to allow faster analysis and reports on internal dashboards. All the data is returned as a JSON file.

The API works in three levels, which each of them works in two vectors, return and list.

  • App
  • Campaigns
  • Variant

🔭 List

List API will return all the different content with some relevant info.

🪐 List/App

The app-level list call requires only the token and will list all the different campaigns ever created that belong to that specific app.

Example Call

https://api.geeklab.app/v1/list/{geeklab.token}

Which would return a JSON like this where each child is an app created under the account with the API token

{
0: {
"name":"name",
"genre":"genre",
"subgenre":"subgenre",
"apptoken":"123456abcdef",
"icon_path":"https://geeklab.app/images/appimg/icon_path"
}


App call allows you to search for apps with specific genres, or subgenres as well as by date. The options are appended as GET parameters in the URL as such:

https://api.geeklab.app/v1/list/{geeklab.token}?genre=[csv]&subgenre=[csv]
// Genre Options Provided below
// note that the genre GET parameter is an array of options you want to receive
genre={
“AR Apps”,
“Books”,
“Business”,
“Education”,
“Entertainment”,
“Finance”,
“Food & Drinks”,
“Health & Fitness”,
“Magazines & Newspapers”,
“Medical”,
“Music”,
“Navigation”,
“News”,
“Photo & Video”,
“Productivity”,
“Reference”,
“Shopping”,
“Social Networking”,
“Sports”,
“Stickers”,
“Travel”,
“Utilities”,
“Weather”,
“Action”,
“RPG”,
“Racing”,
“Shooter”,
“Simulation”,
“Sports”,
“Strategy”,
“Hybrid Casino”,
“Traditional Casino”,
“Arcade”,
“Idle”,
“Kids”,
“Lifestyle”,
“Party”,
“Puzzle”
}


// Subgenre options Provided below
// note that the subgenre GET parameter is an array of options you want to receive
subgenre={
“Battle Royale”,
“Bulletstorm”,
“Fighting”,
“MOBA / ARTS”,
“Open World”,
“Other Action”,
“Physics-Based”,
“Platformer”,
“Run & Gun Platformer”,
“Strategy”,
“Action RPG”,
“Idle RPG”,
“Other RPG”,
“Puzzle Battle”,
“Team Battle”,
“Turn Based”,
“Combat Racing”,
“Drag Racing”,
“Kart Racing”,
“Off-Road/Rally Racing”,
“Other Racing”,
“Simulation Racing”,
“Stunt Racing”,
“First Person”,
“Other Shooter”,
“Third Person”,
“Vehicle”,
“Arcade”,
“Management Sim”,
“Other Sports”,
“Simulation”,
“Breed-Battle”,
“Build-Battle”,
“Card-Battle”,
“City Battle”,
“Lane-Battle”,
“Other Strategy”,
“Summon-Battle”,
“Tower Defence”,
“Hybrid”,
“Real Prizes”,
“Slots”,
“Poker”,
“Other Casino”,
“Mahjong”,
“Go-Stop”,
“Fish Hunter”,
“Bingo”,
“All-in-one”,
“Other Arcade”,
“Platformer”,
“Rhythm & Music”,
“Runner”,
“Shooter”,
“.io”,
“ASMR”,
“Aim/Shooting”,
“Other Hyper Casual”,
“Puzzle/Trivia”,
“Runners/Racing”,
“Simulation”,
“Build”,
“Reset”,
“Coloring & Drawing”,
“Educational”,
“Other Kids”,
“Customization”,
“Interactive Story”,
“Rhythm & Dance”,
“Quiz/Trivia/Word”,
“Other Party”,
“Karaoke”,
“Dice”,
“Word”,
“Solitaire”,
“Room Escape”,
“Physics Based”,
“Other Puzzle”,
“Merge”,
“Match 3”,
“Match + Build”,
“Hidden Object”,
“Chinese Card/Board”,
“Card/Board”,
“Bubble Shooter”,
“Time Management”,
“Tamagotchi”,
“Sandbox”,
“Other Simulation”,
“Management”,
“Love”,
“Life”,
“Crafting”,
“Builder”,
“Breeding/Merge”
}


🚀 List/Campaign

The campaign-level list call returns all the campaigns from one specific app, or if left empty, all the campaigns created in the account

Example Call:

https://api.geeklab.app/v1/list/c/{geeklab.token}

Which would return a JSON like this where each child is a campaign created under the account with the API token

{
0: {
"name":"name",
"status":"{answer from list}",
"credited":"{answer from list}",
"date-created":"YYYY-MM-DD",
"apptoken":"123456abcdef",
"campaigntoken":"123456abcdef",
"trackinglink":"https://geeklab.app/store/link"
}


// POSSIBLE RETURNS FOR STATUS
{
"Draft",
"Learning",
"Collecting Data",
"Winner Found",
"Completed (user)",
"Completed",
}

// POSSIBLE RETURNS FOR CREDITED
{
"Yes",
"No"
}


Campaign call allows you to search for campaigns from specific apps as well as by date. The options are appended as GET parameters in the URL as such:

https://api.geeklab.app/v1/list/c/{geeklab.token}?app=[app.token]

🧑‍🚀 List/Variant

The variant-level list call returns all the variants from one specific campaign, or if left empty, all the variants created in the account

Example Call:

https://api.geeklab.app/v1/list/v/{geeklab.token}

Which would return a JSON like this where each child is a campaign created under the account with the API token

{
0: {
"variantname":"Variant Name",
"variantdescription":"Variant description",
"name":"Name",
"subtitle":"Subtitle",
"icon":"https://geeklab.app/images/appimg/icon_path",
"platform":"platform",
"date-created":"YYYY-MM-DD",
"trackinglink":"https://geeklab.app/trackinglink",
"previewlink":"https://geeklab.app/previewlink",
"varianttoken":"123456abcdef",
"screenshots":[
"https://geeklab.app/images/appimg/screenshot_path",
"https://geeklab.app/images/appimg/screenshot_path",
"https://geeklab.app/images/appimg/screenshot_path"
]
}


A variant call allows you to search for variants from a specific campaign as well as by date. The options are appended as GET parameters in the URL as such:

[https://api.geeklab.app/v1/list/v/{geeklab.token}?campaign=

☄️ Retrieve

Retrieve API will return results per campaign. Unlike with the Geeklab dashboard, the API results are cached a few times a day.

Each of the retrieve calls will return the same parameters. App, Campaign, and Variant variables allow you to specify, at which level you want to receive the data.

All the returned values are integers

For App: [https://api.geeklab.app/v1/retrieve/{geeklab.token}&app=apptoken

For Campaign: [https://api.geeklab.app/v1/retrieve/{geeklab.token}&campaign=campaigntoken

For Variant: [https://api.geeklab.app/v1/retrieve/{geeklab.token}&variant=varianttoken


{
"CVR":"123",
"CVR Decisive":"123",
"CVR Exploring":"123",
"Installs":"123",
"Installs Decisive":"123",
"Installs Exploring":"123",
"Impressions":"123",
"Impressions Decisive":"123",
"Impressions Exploring":"123"
}
Jesse Lempiäinen
Jesse Lempiäinen

CEO / Co-Founder

Latest Post

Common A/B testing mistakes and how to avoid them

Nov 15th

Future of Mobile Marketing: Custom Marketing Funnels

Nov 5th

Apple's Social Marketing Tool & iOS15

Sep 28th

You may also like:

The Story of Spotify

Spotify is one of the leading streaming platforms in the world. It was founded b...

Miira Vehviläinen Apr 23rd

Case Study: How Rovio decreased their user acquisition cost by 20%

Rovio has been using Geeklab for both ASO A/B testing and concept assessment. To...

Jesse Lempiäinen May 20th

3 production phases to run ASO in 2020!

App Store Optimization is crucial, but often we wait until the product is live ...

Jani Torppa Apr 17th

Let's chat.