Live Apple App Listings Search Results

 
This endpoint will provide you with a list of apps published on App Store along with additional information: its ID, icon, reviews count, rating, price, and other data. The results are specific to the title, description, and categories parameters specified in the API request.

Note: data is currently available only for the United States (location code 2840).

checked POST
Pricing

Your account will be charged for each request. The cost can be calculated on the Pricing page.

All POST data should be sent in the JSON format (UTF-8 encoding). The task setting is done using the POST method. When setting a task, you should send all task parameters in the task array of the generic POST array. You can send up to 2000 API calls per minute, each Live API call can contain only one task. The maximum number of calls that can be sent simultaneously is limited to 30.

Below you will find a detailed description of the fields you can use for setting a task.

Description of the fields for setting a task:

Field nameTypeDescription
categoriesarray

app categories
optional field
the categories you specify are used to search for app listings;
you can get the full list of available app listing categories by this link
you can specify up to 10 categories

descriptionstring

keyword in the app's description
optional field
keywords that occur in the description of the app;
can contain up to 200 characters

titlestring

keyword in the app's title
optional field
keywords that occur in the title of the app;
can contain up to 200 characters

filtersarray

array of results filtering parameters
optional field
you can add several filters at once (8 filters maximum)
you should set a logical operator and, or between the conditions
the following operators are supported:
regex, not_regex, <, <=, >, >=, =, <>, in, not_in, like, not_like
you can use the % operator with like and not_like to match any string of zero or more characters
example:
["rating.value",">",3]

you can receive the list of available filters_by making a separate request to https://api.dataforseo.com/v3/app_data/apple/app_listings/available_filtersn

order_byarray

results sorting rules
optional field
you can use the same values as in the filters array to sort the results
possible sorting types:
asc - results will be sorted in the ascending order
desc - results will be sorted in the descending order
you should use a comma to set up a sorting parameter
example:
["item.rating.value,desc"]

note that you can set no more than three sorting rules in a single request
you should use a comma to separate several sorting rules
example:
["item.rating.value,desc","item.rating.value,desc"]

limitinteger

the maximum number of returned apps
optional field
default value: 100
maximum value: 1000

offsetinteger

offset in the results array of returned apps
optional field
default value: 0
if you specify the 10 value, the first ten entities in the results array will be omitted and the data will be provided for the successive entities
Note: we recommend using this parameter only when retrieving up to 10,000 results
for retrieving over 10,000 results, use the offset_token instead.

offset_tokenstring

token for subsequent requests
optional field
provided in the identical filed of the response to each request;
use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request;
by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task;
offset_token values are unique for each subsequent task
Note: if the offset_token is specified in the request, all other parameters should be identical to the previous request
learn more about this parameter on our Help Center

tagstring

user-defined task identifier
optional field
the character limit is 255
you can use this parameter to identify the task and match it with the result
you will find the specified tag value in the data object of the response


‌‌‌‌
‌‌As a response of the API server, you will receive JSON-encoded data containing a tasks array with the information specific to the set tasks.

Description of the fields in the results array:

Field nameTypeDescription
versionstring

the current version of the API

status_codeinteger

general status code
you can find the full list of the response codes here
Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions

status_messagestring

general informational message
you can find the full list of general informational messages here

timestring

execution time, seconds

costfloat

total tasks cost, USD

tasks_countinteger

the number of tasks in the tasks array

tasks_errorinteger

the number of tasks in the tasks array that were returned an error

tasksarray

array of tasks

    idstring

task identifier
unique task identifier in our system in the UUID format

    status_codeinteger

status code of the task
generated by DataForSEO; can be within the following range: 10000-60000
you can find the full list of the response codes here

    status_messagestring

informational message of the task
you can find the full list of general informational messages here

    timestring

execution time, seconds

    costfloat

cost of the task, USD

    result_countinteger

number of elements in the result array

    patharray

URL path

    dataobject

contains the same parameters that you specified in the POST request

    resultarray

array of results

        total_countinteger

the total number of relevant results in the database

        countinteger

the number of items in the results array

        offsetinteger

offset in the results array of returned apps

        offset_tokenstring

token for subsequent requests
you can use this parameter in the POST request to avoid timeouts while trying to obtain over 100,000 results in a single request

        itemsarray

array of apps and related data

            app_idstring

ID of the returned app

            se_domainstring

search engine domain in a POST array

            location_codeinteger

location code in a POST array

            language_codestring

language code in a POST array

            check_urlstring

direct URL to search engine results
you can use it to make sure that we provided accurate results

            time_updatestring

date and time when SERP data was last updated
in the ISO 8601 format: “YYYY-MM-DDThh:mm:ss.sssssssZ”
example:
2023-05-23 10:16:19 +00:00

            itemobject

detailed information about the app

                typestring

the item's type
possible item types: "app_store_info_organic"

                rank_groupinteger

position within a group of elements with identical type values
positions of elements with different type values are omitted from rank_group

                rank_absoluteinteger

absolute rank among all the listed apps
absolute position among all apps on the list

                positionstring

the alignment of the element in SERP
can take the following values: left

                app_idstring

ID of the returned app

                titlestring

title of the returned app

                subtitlestring

subtitle of the returned app

                urlstring

URL to the app page on App Store

                iconstring

URL to the app icon

                descriptionstring

description of the returned app

                reviews_countinteger

the total number of reviews the app has

                ratingobject

average rating of the app

                    rating_typestring

the type of the rating
can take the following values: Max5

                    valuefloat

the value of the rating

                    votes_countinteger

the amount of feedback
in this case, the value will be null

                    rating_maxinteger

the maximum value for a rating_type
the maximum value for Max5 is 5

                priceobject

price of the app

                    currentfloat

current price
refers to the current price indicated in the element

                    regularfloat

regular price
refers to the regular price indicated in the element

                    max_valuefloat

the maximum price
refers to the maximum price indicated in the element

                    currencystring

currency of the listed price
ISO code of the currency applied to the price

                    is_price_rangeboolean

price is provided as a range
indicates whether a price is provided in a range

                    displayed_pricestring

price string in the result
raw price string as provided in the result

                is_freeboolean

indicates whether the app is free

                main_categorystring

app category
App Store category most relevant to the app

                categoriesarray

list of additional app categories
App Store categories relevant to the app

                languagesarray

languages supported in the app

                advisoriesarray

app advisory rating and usage restrictions

                developerstring

name of the app developer

                developer_idstring

ID of the developer on App Store

                developer_urlstring

URL to the developer page on App Store

                versionstring

current version of the app

                minimum_os_versionstring

minimum OS version required to install the app

                sizestring

size of the app

                released_datestring

date and time when the app was released
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”;
example:
2019-11-15 12:57:46 +00:00

                last_update_datestring

date and time when the app was last updated
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”;
example:
2019-11-15 12:57:46 +00:00

                update_notesstring

update notes
contains the latest update notes from the developer

                imagesarray

app images
contains URLs to the images published on the app page on App Store

                similar_appsarray

similar apps
displays apps similar to the app in a POST request

                    app_idstring

ID of the app

                    titlestring

title of the app

                    urlstring

URL to the app page on App Store

                more_apps_by_developerarray

similar apps
information about apps built by the same developer

                    app_idstring

ID of the app

                    titlestring

title of the app

                    urlstring

URL to the app page on App Store


‌‌

Instead of ‘login’ and ‘password’ use your credentials from https://app.dataforseo.com/api-access

# Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access 
login="login" 
password="password" 
cred="$(printf ${login}:${password} | base64)" 
curl --location --request POST "https://api.dataforseo.com/v3/app_data/apple/app_listings/search/live" 
--header "Authorization: Basic ${cred}"  
--header "Content-Type: application/json" 
--data-raw '[
    {
     "title": "vpn",
     "description": "vpn",
     "categories": [
         "Tools"
        ],
     "order_by": ["item.rating.value,desc"],
     "filters": [
         ["item.rating.value", ">", 4.5]
        ],
     "limit": 2
    }
]'
<?php
// You can download this file from here https://cdn.dataforseo.com/v3/examples/php/php_RestClient.zip?202197
require('RestClient.php');
$api_url = 'https://api.dataforseo.com/';
// Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
$client = new RestClient($api_url, null, 'login', 'password');
$post_array = array();
// simple way to get a result
$post_array[] = array(
   "title" => "vpn",
   "description" => "vpn",
   "order_by" => [ "item.rating.value,desc" ],
   "filters" => [
      [ "item.rating.value",">",4 ]
   ],
   "limit" => 2
);
try {
   // POST /v3/app_data/apple/app_listings/search/live
   // the full list of possible parameters is available in documentation
   $result = $client->post('/v3/app_data/apple/app_listings/search/live', $post_array);
   print_r($result);
   // do something with post result
} catch (RestClientException $e) {
   echo "n";
   print "HTTP code: {$e->getHttpCode()}n";
   print "Error code: {$e->getCode()}n";
   print "Message: {$e->getMessage()}n";
   print  $e->getTraceAsString();
   echo "n";
}
$client = null;
?>
const post_array = [];

post_array.push({
    "title": "vpn",
    "description": "vpn",
    "categories": [
      "Tools"
    ],
    "order_by": [
      "item.rating.value,desc"
    ],
    "filters": [
      [
        "item.rating.value",
        ">",
        4.5
      ]
    ],
    "limit": 2
  });

const axios = require('axios');

axios({
  method: 'post',
  url: 'https://api.dataforseo.com/v3/business_data/business_listings/search/live',
  auth: {
    username: 'login',
    password: 'password'
  },
  data: post_array,
  headers: {
    'content-type': 'application/json'
  }
}).then(function (response) {
  var result = response['data']['tasks'];
  // Result data
  console.log(result);
}).catch(function (error) {
  console.log(error);
});
from client import RestClient
# You can download this file from here https://cdn.dataforseo.com/v3/examples/python/python_Client.zip
client = RestClient("login", "password")
post_data = dict()
# simple way to set a task
post_data[len(post_data)] = dict(
    title="vpn",
    description="vpn",
    order_by=["item.rating.value,desc"],
    filters=[
        ["item.rating.value",">",4]
    ],
    limit=2
)
# POST /v3/app_data/apple/app_listings/search/live
response = client.post("/v3/app_data/apple/app_listings/search/live", post_data)
# you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
if response["status_code"] == 20000:
    print(response)
    # do something with result
else:
    print("error. Code: %d Message: %s" % (response["status_code"], response["status_message"]))
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;

namespace DataForSeoDemos
{
    public static partial class Demos
    {
        public static async Task app_data_app_listings_search_live()
        {
            var httpClient = new HttpClient
            {
                BaseAddress = new Uri("https://api.dataforseo.com/"),
                // Instead of 'login' and 'password' use your credentials from https://app.dataforseo.com/api-access
                DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(Encoding.ASCII.GetBytes("login:password"))) }
            };
            var postData = new List<object>();
            postData.Add(new
            {
                title = "vpn",
                description = "vpn",
                order_by = new[]
                {
                    "item.rating.value,desc"
                },
                filters = new object[]
                {
                    new object[] { "item.rating.value", ">", 4 }
                },
                limit = 2
            });
            // POST /v3/app_data/apple/app_listings/search/live
            // the full list of possible parameters is available in documentation

            var taskPostResponse = await httpClient.PostAsync("/v3/app_data/apple/app_listings/search/live", new StringContent(JsonConvert.SerializeObject(postData)));
            var result = JsonConvert.DeserializeObject<dynamic>(await taskPostResponse.Content.ReadAsStringAsync());
            // you can find the full list of the response codes here https://docs.dataforseo.com/v3/appendix/errors
            if (result.status_code == 20000)
            {
                // do something with result
                Console.WriteLine(result);
            }
            else
                Console.WriteLine($"error. Code: {result.status_code} Message: {result.status_message}");
        }
    }
}

The above command returns JSON structured like this:

{
  "version": "0.1.20260717",
  "status_code": 20000,
  "status_message": "Ok.",
  "time": "0.2633 sec.",
  "cost": 0.101,
  "tasks_count": 1,
  "tasks_error": 0,
  "tasks": [
    {
      "id": "07271705-1535-0556-0000-78bc2071a241",
      "status_code": 20000,
      "status_message": "Ok.",
      "time": "0.1975 sec.",
      "cost": 0.101,
      "result_count": 1,
      "path": [
        "v3",
        "app_data",
        "apple",
        "app_listings",
        "search",
        "live"
      ],
      "data": {
        "api": "app_data",
        "function": "search",
        "se": "apple",
        "title": "vpn",
        "order_by": [
          "item.rating.value,desc"
        ],
        "filters": [
          [
            "item.rating.value",
            ">",
            4.5
          ]
        ],
        "internal_list_limit": 2,
        "limit": 1
      },
      "result": [
        {
          "total_count": 596,
          "count": 1,
          "offset": 0,
          "offset_token": "eyJDdXJyZW50T2Zmc2V0IjoxLCJSZXF1ZXN0RGF0YSI6eyJsb2NhdGlvbiI6bnVsbCwibGFuZ3VhZ2UiOm51bGwsImNhdGVnb3JpZXMiOm51bGwsInRpdGxlIjoidnBuIiwiZGVzY3JpcHRpb24iOm51bGwsInNlYXJjaF9hZnRlcl90b2tlbiI6bnVsbCwib3JkZXJfYnkiOnsib3JkZXJfZmllbGQiOiJpbmZvLml0ZW0ucmF0aW5nLnZhbHVlIiwib3JkZXJfdHlwZSI6IkRlc2MiLCJuZXh0IjpudWxsfSwibGltaXQiOjEsIm9mZnNldCI6bnVsbCwiYWlkIjoxNTM1LCJ1c2VfY2FjaGUiOnRydWUsInRhc2tfaWQiOiIwNzI3MTcwNS0xNTM1LTA1NTYtMDAwMC03OGJjMjA3MWEyNDEiLCJmbGFncyI6bnVsbH0sIlJhd1F1ZXJ5Ijp7ImZpZWxkIjoiaXRlbS5yYXRpbmcudmFsdWUiLCJ0eXBlIjoiZ3QiLCJ2YWx1ZSI6NC41fSwiSWQiOm51bGwsIlNlYXJjaEFmdGVyRGF0YSI6WzUuMCwiMTExNzQyNDE4OSJdLCJFeGVjdXRvciI6bnVsbH0=",
          "items": [
            {
              "app_id": "1117424189",
              "se_domain": "itunes.apple.com",
              "location_code": 2840,
              "language_code": "en",
              "check_url": "https://apps.apple.com/us/app/id1117424189?l=en-US",
              "time_update": "2026-07-23 09:41:12 +00:00",
              "item": {
                "type": "app_store_info_organic",
                "rank_group": 1,
                "rank_absolute": 1,
                "position": "left",
                "app_id": "1117424189",
                "title": "VPN Tracker World Connect",
                "subtitle": "Secure VPN for iPhone & WiFi",
                "url": "https://apps.apple.com/us/app/vpn-tracker-world-connect/id1117424189",
                "icon": "https://is1-ssl.mzstatic.com/image/thumb/Purple116/v4/26/3e/8e/263e8e5e-28a3-2142-a591-84d334884fc1/AppIcon-0-0-1x_U007emarketing-0-0-0-6-0-0-sRGB-0-0-0-GLES2_U002c0-512MB-85-220-0-0.png/512x512bb.jpg",
                "description": "VPN Tracker World Connect is a simple app that lets you browse the internet safely and securely.nnWHAT IS VPN TRACKER WORLD CONNECT?nVPN Tracker encrypts all your browsing data, as soon as it leaves your device. So VPN Tracker World Connect keeps your data secure, even when you’re using public WiFi, and protects you from advertisers or hackers. nnWHAT IS IT FOR?nYou can use it whenever you feel your connection might not be secure enough. We recommend using VPN Tracker World Connect when you’re connected to public WiFi, while travelling and using untrusted networks or when you’re working remotely. You can also use it to connect to open internet wherever you are. nnCAN I TRUST VPN TRACKER WORLD CONNECT?nVPN Tracker World Connect is made in Munich, Germany and follows strict European security standards. We don’t collect, store or share any identifiable browsing data of our users. We have more than 15 years experience building VPN products and know how to assist you with any technical issue. nVPN Tracker was designed for businesses and meets even the most demanding security standards. nnWHY SHOULD YOU CHOOSE VPN TRACKER WORLD CONNECT?n• Easy to use - zero configuration, one-tap connectionn• Lightning-fast - auto-connects to the fastest server when you open the appn• Strongest AES-256 encryption standardn• Global, ever-growing network of VPN servers n• Possibility to choose preferred region, country or even city of a servern• Siri Shortcuts integration - automate your routine and connect to VPN just by asking Siri n• One subscription for all your iPhones, iPads and Macsn• Unlimited traffic, no restrictionsn• Free premium trial with no cancellation needednnAfter your free trial, VPN Tracker World Connect offers the following in-app subscriptions: n• 1 month for $11.99n• 12 months for $49.99nn– Price may vary by locationn– Subscriptions payment will be charged through your iTunes account at confirmation of purchasen– Subscription will automatically renew unless cancelled at least 24 hours before the end of the current periodn– No cancellation of the current subscription is allowed during active subscription periodn– Subscriptions may be managed by user only, auto-renewal may be turned off in the user's App Store Account Settings after purchasennLooking for one solution for all you Apple devices? Get VPN Tracker World Connect for Mac at www.vpntracker.comnnPrivacy Policy: https://www.vpntracker.com/goto/vpnprivacypolicy nTerms of use: https://www.vpntracker.com/goto/worldconnectterms",
                "reviews_count": 4,
                "rating": {
                  "rating_type": "Max5",
                  "value": 5,
                  "votes_count": 4,
                  "rating_max": 5
                },
                "price": null,
                "is_free": true,
                "main_category": "Productivity",
                "categories": [
                  "Productivity"
                ],
                "languages": [
                  "EN"
                ],
                "advisories": [
                  "4+"
                ],
                "developer": "equinux AG",
                "developer_id": "1451197812",
                "developer_url": "https://apps.apple.com/us/developer/equinux-ag/id1451197812?platform=iphone",
                "version": "Version 1.4",
                "minimum_os_version": "Requires iOS 9.3 or later.",
                "size": "48.7 MB",
                "released_date": null,
                "last_update_date": "2023-04-17 09:39:48 +00:00",
                "update_notes": "World Connect now offers servers in 27 additional countries.nnStay connected!nnYour VPN Tracker Team",
                "images": [
                  "https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/b1/a4/17/b1a4178f-a027-7ddc-ae8c-fd3fec2bea14/pr_source.jpg/512x512bb.jpg",
                  "https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/e1/9f/47/e19f479c-ea9a-7739-3604-50036ad4582a/pr_source.jpg/512x512bb.jpg",
                  "https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/f9/87/1d/f9871dfd-7f25-23e8-be6a-5901ef212e0a/pr_source.jpg/512x512bb.jpg",
                  "https://is1-ssl.mzstatic.com/image/thumb/Purple128/v4/d8/bc/ad/d8bcada9-4186-d882-4d7f-51e7a67abb73/pr_source.jpg/512x512bb.jpg",
                  "https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/3e/33/de/3e33de69-9caa-cd12-df03-debc1673a9fb/pr_source.jpg/512x512bb.jpg",
                  "https://is1-ssl.mzstatic.com/image/thumb/Purple128/v4/50/6c/ec/506cec3d-1ec3-9a93-a995-a5a817c0bbd8/pr_source.jpg/512x512bb.jpg",
                  "https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/68/a4/e4/68a4e4ee-b088-677d-abe2-5b2ce7e9e6fe/pr_source.jpg/512x512bb.jpg",
                  "https://is1-ssl.mzstatic.com/image/thumb/Purple118/v4/f3/c0/18/f3c018aa-d711-e9ab-f5eb-2de3a3aa97ca/pr_source.jpg/512x512bb.jpg"
                ],
                "similar_apps": [
                  {
                    "app_id": "1453308678",
                    "title": "VPN Connector: Best Proxy",
                    "url": "https://apps.apple.com/us/app/vpn-connector-best-proxy/id1453308678"
                  },
                  {
                    "app_id": "1497922505",
                    "title": "MaxiVPN - Fastest VPN Proxy",
                    "url": "https://apps.apple.com/us/app/maxivpn-fastest-vpn-proxy/id1497922505"
                  },
                  {
                    "app_id": "1612857564",
                    "title": "VPNGN",
                    "url": "https://apps.apple.com/us/app/vpngn/id1612857564"
                  },
                  {
                    "app_id": "1565775173",
                    "title": "Connect2VPN - Fast & Safe VPN",
                    "url": "https://apps.apple.com/us/app/connect2vpn-fast-safe-vpn/id1565775173"
                  },
                  {
                    "app_id": "6443752434",
                    "title": "VPN Pumpkin Master",
                    "url": "https://apps.apple.com/us/app/vpn-pumpkin-master/id6443752434"
                  },
                  {
                    "app_id": "1436024470",
                    "title": "Securepoint VPN Client",
                    "url": "https://apps.apple.com/us/app/securepoint-vpn-client/id1436024470"
                  },
                  {
                    "app_id": "1466206847",
                    "title": "VPNBoss - Privacy & Security",
                    "url": "https://apps.apple.com/us/app/vpnboss-privacy-security/id1466206847"
                  },
                  {
                    "app_id": "1570302542",
                    "title": "Speed VPN and Private Browser",
                    "url": "https://apps.apple.com/us/app/speed-vpn-and-private-browser/id1570302542"
                  },
                  {
                    "app_id": "1533249581",
                    "title": "PrimeVPN - Fast & Secure VPN",
                    "url": "https://apps.apple.com/us/app/primevpn-fast-secure-vpn/id1533249581"
                  },
                  {
                    "app_id": "1478493486",
                    "title": "Dragon VPN for iPhone BytesGO",
                    "url": "https://apps.apple.com/us/app/dragon-vpn-for-iphone-bytesgo/id1478493486"
                  }
                ],
                "more_apps_by_developer": [
                  {
                    "app_id": "1552188254",
                    "title": "VPN Tracker – Remote Access",
                    "url": "https://apps.apple.com/us/app/vpn-tracker-remote-access/id1552188254"
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}