Mobile Action API Documentation

Search Ads Services

This section describes SearchAds.com based API endpoints.

Get Search Ads Integrations ( 1 Credit / Request )

This endpoint provides list of Search Ads API integrations you have on the SearchAds.com. You can find your organization (campaign group) ids to use them on reporting endpoint.

GET /searchads/info/sa-integrations?token=YOUR_API_KEY

Example request

curl "https://api.mobileaction.co/searchads/info/sa-integrations?token=YOUR_API_KEY"

Request Parameters

Parameter Description
token (required) API key

Response Fields

Field Description
success Status of the request
data JSON object contains the data
orgName Apple Search Ads Campaign Group Name (same with SearchAds.com Account Name)
orgId Apple Search Ads Campaign Group Id (same with SearchAds.com Account Id)

Example response

{
    "data": [
        [
            {
                "id": 1,
                "integId": "b257ac98005aatr38jrff60ad59cc609d4",
                "orgName": "Florist Campaign Group",
                "orgId": 1783948,
                "currency": "USD",
                "timeZone": "America/Los_Angeles",
                "paymentModel": "PAYG",
                "valid": true,
                "roleNames": [
                    "API Campaign Manager"
                ],
                "fetchCompleted": true,
                "createDate": "2021-09-19T11:10:10"
            },
            {
                "id": 2,
                "integId": "b357ac980055d4ebaff60ad59cc609d4",
                "orgName": "Test Campaign Group",
                "orgId": 7453620,
                "currency": "USD",
                "timeZone": "America/Los_Angeles",
                "paymentModel": "PAYG",
                "valid": true,
                "roleNames": [
                    "API Campaign Manager"
                ],
                "fetchCompleted": true,
                "createDate": "2021-09-19T11:10:10"
            }
        ]
    ],
    "success": true
}

Get MMP Integrations ( 1 Credit / Request )

[DEPRECATED] This endpoint provides list of mmp integrations you have on the SearchAds.com.

GET /searchads/info/mmp-integrations?token=YOUR_API_KEY

Request Parameters

Parameter Description
token (required) API key

Response Fields

Field Description
success Status of the request
data JSON object contains the data
trackId AppStore/PlayStore track id of app
trackerType Integrated MMP name

Example request

curl "https://api.mobileaction.co/searchads/info/mmp-integrations?token=YOUR_API_KEY"

Example response

{
    "success": true,
    "data": [
        {
            "accountId": 1,
            "trackId": 218370703,
            "trackerType": "APPSFLYER",
            "username": "[email protected]",
            "attributionAccountState": "PENDING_FIRST_EVENT",
            "attributionNotification": false,
            "userWarned": false
        }
    ]
}

Get MMP Integrations ( 1 Credit / Request )

[NEW] This endpoint provides list of mmp integrations you have on the SearchAds.com.

GET /searchads/info/v2/mmp-integrations?token=YOUR_API_KEY

Request Parameters

Parameter Description
token (required) API key

Response Fields

Field Description
success Status of the request
data JSON object contains the data
trackId AppStore/PlayStore track id of app
trackerType Integrated MMP name
state MMP integration state

Example request

curl "https://api.mobileaction.co/searchads/info/v2/mmp-integrations?token=YOUR_API_KEY"

Example response

{
    "data": [
        {
            "name": "Uber - Request a ride",
            "trackId": "368677368",
            "iconUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple116/v4/f6/aa/f4/f6aaf471-4dc9-8653-62f1-7c162c3f200e/AppIcon-0-1x_U007emarketing-0-7-0-sRGB-85-220.png/60x60.png",
            "developerName": "Uber Technologies, Inc.",
            "integrations": [
                {
                    "trackerType": "ADJUST",
                    "state": "NO_RECENT_EVENT"
                }
            ]
        },
        {
            "name": "Instagram",
            "trackId": "389801252",
            "iconUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple116/v4/f2/fc/92/f2fc923b-44f5-692c-12cd-901620e1d9b7/Prod-0-0-1x_U007emarketing-0-7-0-85-220.png/60x60.png",
            "developerName": "Instagram, Inc.",
            "integrations": [
                {
                    "trackerType": "APPSFLYER",
                    "state": "SUCCESSFULLY_INTEGRATED"
                },
                {
                    "trackerType": "ADJUST",
                    "state": "PENDING_FIRST_EVENT"
                },
                {
                    "trackerType": "BRANCH",
                    "state": "CREATE_FIRST_GOAL"
                }
            ]
        }
    ],
    "success": true
}

Get Goals ( 1 Credit / Request )

This endpoint provides list of goals you created on the SearchAds.com. You can use ids to fetch MMP reports.

GET /searchads/info/goals?token=YOUR_API_KEY

Request Parameters

Parameter Description
token (required) API key
trackIds (optional) comma separated track Ids

Response Fields

Field Description
success Status of the request
data JSON object contains the data
id Goal id to use for report endpoint

Example request

curl "https://api.mobileaction.co/searchads/info/goals?token=YOUR_API_KEY"

Example response

{
    "success": true,
    "data": [
        {
            "id": 1,
            "accountId": 1,
            "trackId": 2183740703,
            "trackerType": "APPSFLYER",
            "goalName": "purchase",
            "category": "PURCHASE",
            "currency": "USD",
            "createDate": "2020-06-22T16:01:04",
            "updateDate": "2021-09-16T07:36:36",
            "eventList": [
                {
                    "id": 1,
                    "eventName": "af_purchase",
                    "revenuePolicy": "IN_APP_VALUE"
                }
            ]
        },
        {
            "id": 2,
            "accountId": 1,
            "trackId": 2183740703,
            "trackerType": "APPSFLYER",
            "goalName": "subscription",
            "category": "SUBSCRIPTION",
            "currency": "USD",
            "createDate": "2020-06-23T10:47:35",
            "updateDate": "2022-01-14T03:16:34",
            "eventList": [
                {
                    "id": 2,
                    "eventName": "af_subscription",
                    "revenuePolicy": "FIXED_VALUE",
                    "customRevenue": 1.99,
                    "customUsdRevenue": 1.99
                }
            ]
        }
    ]
}

Get a Goal ( 1 Credit / Request )

This endpoint provides specific goal details you created on the SearchAds.com.

GET /searchads/info/goals/{id}?token=YOUR_API_KEY

Request Parameters

Parameter Description
token (required) API key

Response Fields

Field Description
success Status of the request
data JSON object contains the data
id Goal id to use for report endpoint

Example request

curl "https://api.mobileaction.co/searchads/info/goals/1?token=YOUR_API_KEY"

Example response

{
    "success": true,
    "data": {
        "id": 1,
        "accountId": 1,
        "trackId": 2183740703,
        "trackerType": "APPSFLYER",
        "goalName": "purchase",
        "category": "PURCHASE",
        "currency": "USD",
        "createDate": "2020-06-22T16:01:04",
        "updateDate": "2021-09-16T07:36:36",
        "eventList": [
            {
                "id": 1,
                "eventName": "af_purchase",
                "revenuePolicy": "IN_APP_VALUE"
            }
        ]
    }
}

Get Apps ( 1 Credit / Request )

This endpoint provides list of apps you run campaigns for SearchAds.com.

GET /searchads/info/apps?token=YOUR_API_KEY

Request Parameters

Parameter Description
token (required) API key

Response Fields

Field Description
success Status of the request
data JSON object contains the data
trackId AppStore/PlayStore track id of app

Example request

curl "https://api.mobileaction.co/searchads/info/apps?token=YOUR_API_KEY"

Example response

{
    "data": [
        {
            "trackId": "368677368",
            "name": "Uber - Request a ride",
            "categoryName": "Travel",
            "categoryId": 6003,
            "subCategories": [
                "Lifestyle"
            ],
            "iconUrl": "https://is2-ssl.mzstatic.com/image/thumb/Purple113/v4/0a/8b/a7/0a8ba7db-928b-d62e-1ec2-044328127448/AppIcon-0-0-1x_U007emarketing-0-0-0-7-0-0-sRGB-0-0-0-GLES2_U002c0-512MB-85-220-0-0.png/60x60bb.png",
            "price": "$0.00",
            "developerId": "368677371",
            "developerName": "Uber Technologies, Inc.",
            "rating": 4.66985,
            "ratingCount": 1200547,
            "lastUpdate": "2020-06-29T18:29:19",
            "releaseDate": "2010-05-21T00:00:00"
        },
        {
            "trackId": "389801252",
            "name": "Instagram",
            "categoryName": "Photo & Video",
            "categoryId": 6008,
            "subCategories": [
                "Social Networking"
            ],
            "iconUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple123/v4/1d/01/74/1d0174d4-29d4-cb0d-b5f5-5998541905dc/Prod-0-0-1x_U007emarketing-0-0-0-6-0-0-sRGB-0-0-0-GLES2_U002c0-512MB-85-220-0-0.png/60x60bb.png",
            "price": "$0.00",
            "developerId": "389801255",
            "developerName": "Instagram, Inc.",
            "rating": 4.78107,
            "ratingCount": 17356052,
            "lastUpdate": "2020-06-22T17:02:28",
            "releaseDate": "2010-10-06T00:00:00"
        }
    ],
    "success": true
}

Get Bid History Logs ( 20 Credits / Request )

This endpoint provides logs of bid changes on SearchAds.com.

GET /searchads/bid-history-logs?token=YOUR_API_KEY&orgId=ORG_ID&startDate=START_DATE&endDate=END_DATE

Request Parameters

Parameter Description
token (required) API key
orgId (required) Organization (campaign group) Id ../info/sa-integrations
startDate (required) Start date of logs with ISO Date Format (yyyy-MM-dd)
endDate (required) End date of logs with ISO Date Format (yyyy-MM-dd). The max allowed date range is 1 week.

Response Fields

Field Description
success Status of the request
data JSON object contains the data

Example request

curl "https://api.mobileaction.co/searchads/bid-history-logs?token=YOUR_API_KEY&orgId=2833500&startDate=2020-06-29&endDate=2020-06-30"

Example response

{
    "data": [
       {
          "entityLevel": "KEYWORD",
          "orgId": 2833500,
          "entityId": 230491795,
          "currency": "USD",
          "oldValue": 6.0,
          "newValue": 6.6,
          "date": "2020-06-29T09:01:39",
          "source": "DASHBOARD"
        },
        {
          "entityLevel": "KEYWORD",
          "orgId": 2833500,
          "entityId": 740491789,
          "currency": "USD",
          "oldValue": 6.0,
          "newValue": 6.6,
          "date": "2020-06-29T12:02:47",
          "source": "RULE",
          "ruleName": "Increase Bid %10"
        }
    ],
    "success": true
}

Get Reports ( 20 Credits / Request )

This endpoint provides ASA + MMP reports (REPORT, DAILY or SUMMARY) for different data levels ACCOUNT, APP, CAMPAIGN, AD_GROUP, AD, KEYWORD, NEGATIVE or SEARCH_TERM

POST /searchads/reports?token=YOUR_API_KEY&page={PAGE_NUMBER}

Request Parameters

Parameter Description
token (required) API key
page (optional) The cursor of the report data. Default is 0.

Request Body

Field Description
reportType (required) Type of report : REPORT, DAILY or SUMMARY
reportLevel (required) Level of report : ACCOUNT, APP, CAMPAIGN, AD_GROUP, AD, KEYWORD, NEGATIVE or SEARCH_TERM
startDate (required) Start date of reports with ISO Date Format (yyyy-MM-dd)
endDate (required) End date of reports with ISO Date Format (yyyy-MM-dd). The max date range is 1 month per request
orgIds List of organization (campaign group) ids. You can find your organization ids from ../info/sa-integrations endpoint. It can be null for ACCOUNT and APP level reports but required for other levels. The max allowed number of orgIds is 1 for CAMPAIGN, AD_GROUP, AD, KEYWORD, NEGATIVE or SEARCH_TERM reports.
goalId (optional) The goal id for the MMP reports. You can find your goal ids from ../info/goals endpoint. If you don't provide the goal Id you can only fetch ASA reports.
reAttrType (optional) To decide to use re-attribution data while calculating metrics. Options: WITH, WITHOUT, ONLY Default: WITH
currency (optional) Three letter currency code that you want to see metrics based on this. Default: USD

Response Fields

Field Description
status Status of the request
data JSON object contains the data

Example request

curl "https://api.mobileaction.co/searchads/reports?token=YOUR_API_KEY&page=1"

Example request body

{
    "reportType": "REPORT",
    "reportLevel": "CAMPAIGN",
    "startDate": "2020-06-01",
    "endDate": "2020-06-21",
    "orgIds": [
        26320
    ],
    "goalId": 1,
    "reAttrType": "WITH",
    "currency": "EUR"
}

Example response

{
    "success": true,
    "data": [
        {
            "pagination": {
                "totalRowCount": 2,
                "limit": 100,
                "offset": 0
            },
            "tableData": [
                {
                    "orgId": 1,
                    "orgName": "Aykut Karaalioglu",
                    "country": "US",
                    "currency": "USD",
                    "appId": 368677368,
                    "appName": "Uber - Request a ride",
                    "campaignId": 123456,
                    "campaignName": "Brand Campaign",
                    "spend": 30.88,
                    "impressions": 2500,
                    "taps": 31,
                    "installs": 1,
                    "redownloads": 0,
                    "newDownloads": 1,
                    "startTime": "2021-10-30T08:00:00",
                    "adChannelType": "SEARCH",
                    "billingEvent": "TAPS",
                    "cpa": 30.88,
                    "cpt": 1.0,
                    "cpm": 1.22,
                    "ttr": 0.12,
                    "cr": 3.23,
                    "goalRevenue": 0.0,
                    "goalRevenue1": 0.0,
                    "goalRevenue3": 0.0,
                    "goalRevenue7": 0.0,
                    "goalRevenue14": 0.0,
                    "goalRevenue30": 0.0,
                    "goalCount1": 0,
                    "goalCount3": 0,
                    "goalCount7": 0,
                    "goalCount14": 0,
                    "goalCount30": 0,
                    "numberOfInstall": 0,
                    "numberOfGoal": 0,
                    "goalRoas": 0.0,
                    "goalRoas1": 0.0,
                    "goalRoas3": 0.0,
                    "goalRoas7": 0.0,
                    "goalRoas14": 0.0,
                    "goalRoas30": 0.0,
                    "cpi": 0.0,
                    "attrInstallRate": 0.0,
                    "costPerGoal": 0.0,
                    "goalsRate": 0.0,
                    "revenuePerGoal": 0.0,
                    "arpu": 0.0,
                    "campaignStatus": "ENABLED",
                    "displayStatus": "RUNNING",
                    "totalBudget": 100000.0,
                    "dailyBudget": 100.0,
                    "ltv": 127.4,
                    "countries": [
                        "US"
                    ],
                    "countryWithStatus": {
                        "US": true
                    },
                    "supplySources": [
                        "APPSTORE_SEARCH_RESULTS"
                    ],
                    "original": {
                        "dailyBudget": 100.0,
                        "spend": 30.88,
                        "cpa": 30.88,
                        "cpt": 1.0,
                        "goalRevenue": 0.0,
                        "goalRevenue1": 0.0,
                        "goalRevenue3": 0.0,
                        "goalRevenue7": 0.0,
                        "goalRevenue14": 0.0,
                        "goalRevenue30": 0.0,
                        "goalRoas": 0.0,
                        "goalRoas1": 0.0,
                        "goalRoas3": 0.0,
                        "goalRoas7": 0.0,
                        "goalRoas14": 0.0,
                        "goalRoas30": 0.0,
                        "cpi": 0.0,
                        "costPerGoal": 0.0,
                        "revenuePerGoal": 0.0,
                        "arpu": 0.0
                    }
                },
                {
                    "orgId": 1,
                    "orgName": "Aykut Karaalioglu",
                    "country": "US",
                    "currency": "USD",
                    "appId": 389801252,
                    "appName": "Instagram",
                    "campaignId": 1234567,
                    "campaignName": "Competitor Campaign",
                    "spend": 0.0,
                    "impressions": 0,
                    "taps": 0,
                    "installs": 0,
                    "redownloads": 0,
                    "newDownloads": 0,
                    "startTime": "2022-10-30T08:00:00",
                    "adChannelType": "DISPLAY",
                    "billingEvent": "TAPS",
                    "cpa": 0.0,
                    "cpt": 0.0,
                    "cpm": 0.0,
                    "ttr": 0.0,
                    "cr": 0.0,
                    "goalRevenue": 0.0,
                    "goalRevenue1": 0.0,
                    "goalRevenue3": 0.0,
                    "goalRevenue7": 0.0,
                    "goalRevenue14": 0.0,
                    "goalRevenue30": 0.0,
                    "goalCount1": 0,
                    "goalCount3": 0,
                    "goalCount7": 0,
                    "goalCount14": 0,
                    "goalCount30": 0,
                    "numberOfInstall": 0,
                    "numberOfGoal": 0,
                    "goalRoas": 0.0,
                    "goalRoas1": 0.0,
                    "goalRoas3": 0.0,
                    "goalRoas7": 0.0,
                    "goalRoas14": 0.0,
                    "goalRoas30": 0.0,
                    "cpi": 0.0,
                    "attrInstallRate": 0.0,
                    "costPerGoal": 0.0,
                    "goalsRate": 0.0,
                    "revenuePerGoal": 0.0,
                    "arpu": 0.0,
                    "campaignStatus": "PAUSED",
                    "displayStatus": "PAUSED",
                    "servingStatusReasons": "PAUSED_BY_USER",
                    "totalBudget": 100000.0,
                    "dailyBudget": 100.0,
                    "ltv": 127.4,
                    "countries": [
                        "US"
                    ],
                    "countryWithStatus": {
                        "US": true
                    },
                    "supplySources": [
                        "APPSTORE_SEARCH_TAB"
                    ],
                    "original": {
                        "dailyBudget": 100.0,
                        "spend": 0.0,
                        "cpa": 0.0,
                        "cpt": 0.0,
                        "goalRevenue": 0.0,
                        "goalRevenue1": 0.0,
                        "goalRevenue3": 0.0,
                        "goalRevenue7": 0.0,
                        "goalRevenue14": 0.0,
                        "goalRevenue30": 0.0,
                        "goalRoas": 0.0,
                        "goalRoas1": 0.0,
                        "goalRoas3": 0.0,
                        "goalRoas7": 0.0,
                        "goalRoas14": 0.0,
                        "goalRoas30": 0.0,
                        "cpi": 0.0,
                        "costPerGoal": 0.0,
                        "revenuePerGoal": 0.0,
                        "arpu": 0.0
                    }
                }
            ]
        }
    ]
}

Search Ads Insights

This section describes Apple Search Ads insight services.

Provides paid keywords of SearchAds and their shares for the given app.

GET /searchads-stats/paid-keywords/{trackId}/{countryCode}?date={date}

Request Parameters

Parameter Description
trackId (required) Appstore track id of the app
countryCode (required) Two letter country code
date (required) YYYY-MM-DD formatted date, history start date, covers to 7 days prior

Response Fields

Field Description
trackId Appstore track id of the app
shares List of paid keywords and their shares

Example request

curl "http://api.mobileaction.co/searchads-stats/paid-keywords/479516143/US?date=2019-06-13&token=YOUR_API_KEY"

Example response

{
    "trackId": 479516143,
    "shares": [
        {
            "keyword": "platoon",
            "appShare": 100
        },
        {
            "keyword": "flappy golf",
            "appShare": 100
        },
        {
            "keyword": "pokémon",
            "appShare": 100
        },
        {
            "keyword": "duck life",
            "appShare": 100
        },
        {
            "keyword": "rick and morty",
            "appShare": 100
        },
        {
            "keyword": "fnaf free",
            "appShare": 100
        }
    ]
}

Paying Apps ( 50 Credits / Request )

Provides the track ids and shares of apps paying for the given keyword.

GET /searchads-stats/paying-apps/{countryCode}?keyword={keyword}&date={date}

Request Parameters

Parameter Description
trackId (required) Appstore track id of the app
countryCode (required) Two letter country code
date (required) YYYY-MM-DD formatted date, history start date, covers to 7 days prior

Response Fields

Field Description
keyword Given keyword
shares List of paying apps' track ids and their shares

Example request

curl "http://api.mobileaction.co/searchads-stats/paying-apps/US?keyword=game&date=2019-06-13&token=YOUR_API_KEY"

Example response

{
    "keyword": "game",
    "shares": [
        {
            "trackId": 1315531311,
            "share": 37.3913
        },
        {
            "trackId": 1142128785,
            "share": 28.69565
        },
        {
            "trackId": 1397824035,
            "share": 13.91304
        },
        {
            "trackId": 1268486152,
            "share": 6.08696
        },
        {
            "trackId": 1367054026,
            "share": 4.34783
        }
    ]
}

Start for free - upgrade anytime!

No credit card required.