# Live Apple App Listings Search Results

**API:** Data API

**Endpoint:** `POST /v1/beta/dataforseo/app_data/apple/app_listings/search/live`

**Tags:** DataForSEO

Searches DataForSEO's own index of App Store listings, synchronously - the Apple twin of `post_dataforseo_app_google_app_listings_search_live`, same arguments and same shape. Wrapped in DataForSEO's envelope: data in `tasks[0].result`, outcome in `tasks[0].status_code` - a rejected request still returns HTTP 200. Category names come from `get_dataforseo_app_apple_app_listings_categories`.

### Pricing reference

- Metering: Reported response cost.
- Reference request estimate: USD 0.012.
- Reference customer multiplier: 1.0. Do not apply it again to a settled customer amount.

Reference metadata only, not an account quote, a guaranteed price or a spending cap. Resource credits are not Felo credits. Final charges follow Felo billing records.

## Base URL

- `https://openapi.felo.ai`

## Authentication

- `FeloBearerAuth` (http bearer, bearer format Felo API Key)
- `FeloApiKey` (apiKey in header `X-API-Key`)

## Request body

Required: **no**

### application/json

Schema:

```json
{
  "type": "array",
  "items": {
    "type": [
      "object",
      "null"
    ],
    "oneOf": [
      {
        "type": "object",
        "properties": {
          "categories": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "<em>app categories</em><br>optional field<br>the categories you specify are used to search for app listings;<br>you can get the full list of available app listing categories by <a href=\"http://docs.dataforseo.com/v3/app_data/apple/app_listings/categories\" rel=\"noopener noreferrer\" target=\"_blank\">this link</a><br>you can specify <strong>up to 10 categories</strong>"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>keyword in the app's description</em><br>optional field<br>keywords that occur in the description of the app;<br>can contain up to 200 characters"
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>keyword in the app's title</em><br>optional field<br>keywords that occur in the title of the app;<br>can contain up to 200 characters"
          },
          "filters": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": [
                "object",
                "null"
              ]
            },
            "description": "<em>array of results filtering parameters</em><br>optional field<br><strong>you can add several filters at once (8 filters maximum)</strong><br>you should set a logical operator <code>and</code>, <code>or</code> between the conditions<br>the following operators are supported:<br><code>regex</code>, <code>not_regex</code>, <code>&lt;</code>, <code>&lt;=</code>, <code>&gt;</code>, <code>&gt;=</code>, <code>=</code>, <code>&lt;&gt;</code>, <code>in</code>, <code>not_in</code>, <code>like</code>, <code>not_like</code><br>you can use the <code>%</code> operator with <code>like</code> and <code>not_like</code> to match any string of zero or more characters<br>example:<br><code>[\"rating.value\",\">\",3]</code><p>you can receive the list of available filters_by making a separate request to <code>https://api.dataforseo.com/v3/app_data/apple/app_listings/available_filters</code>n"
          },
          "order_by": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "<em>results sorting rules</em><br>optional field<br>you can use the same values as in the <code>filters</code> array to sort the results<br>possible sorting types:<br><code>asc</code> - results will be sorted in the ascending order<br><code>desc</code> - results will be sorted in the descending order<br>you should use a comma to set up a sorting parameter<br>example:<br><code>[\"item.rating.value,desc\"]</code><p><strong>note that you can set no more than three sorting rules in a single request</strong><br>you should use a comma to separate several sorting rules<br>example:<br><code>[\"item.rating.value,desc\",\"item.rating.value,desc\"]</code>"
          },
          "limit": {
            "type": [
              "integer",
              "null"
            ],
            "description": "<em>the maximum number of returned apps</em><br>optional field<br>default value: <code>100</code><br>maximum value: <code>1000</code>"
          },
          "offset": {
            "type": [
              "integer",
              "null"
            ],
            "description": "<em>offset in the results array of returned apps</em><br>optional field<br>default value: <code>0</code><br>if you specify the <code>10</code> value, the first ten entities in the results array will be omitted and the data will be provided for the successive entities<br><strong>Note:</strong> we recommend using this parameter only when retrieving up to 10,000 results<br>for retrieving over 10,000 results, use the <code>offset_token</code> instead."
          },
          "offset_token": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>token for subsequent requests</em><br>optional field<br>provided in the identical filed of the response to each request;<br>use this parameter to avoid timeouts while trying to obtain over 100,000 results in a single request;<br>by specifying the unique <code>offset_token</code> value from the response array, you will get the subsequent results of the initial task;<br><code>offset_token</code> values are unique for each subsequent task <br><strong>Note:</strong> if the <code>offset_token</code> is specified in the request, all other parameters should be identical to the previous request<br>learn more about this parameter on our <a href=\"https://dataforseo.com/help-center/what-is-the-difference-between-the-offset-and-offset_token-parameters#offset_token\" target=\"_blank\">Help Center</a>"
          },
          "tag": {
            "type": [
              "string",
              "null"
            ],
            "description": "<em>user-defined task identifier</em><br>optional field<br><em>the character limit is 255</em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag</code> value in the <code>data</code> object of the response"
          }
        },
        "example": [
          {
            "title": "vpn",
            "description": "vpn",
            "categories": [
              "Utilities"
            ],
            "order_by": [
              "item.rating.value,desc"
            ],
            "filters": [
              [
                "item.rating.value",
                ">",
                4.5
              ]
            ],
            "limit": 10
          }
        ]
      }
    ]
  },
  "example": [
    {
      "title": "vpn",
      "description": "vpn",
      "categories": [
        "Utilities"
      ],
      "order_by": [
        "item.rating.value,desc"
      ],
      "filters": [
        [
          "item.rating.value",
          ">",
          4.5
        ]
      ],
      "limit": 10
    }
  ]
}
```

## Responses

### 200 — Successful operation

Headers:
- `X-Request-Id` (string) — Request identifier to include when contacting Felo support.

**application/json**

Schema: object | null

```json
{
  "type": [
    "object",
    "null"
  ],
  "oneOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_AppDataAppleAppListingsSearchLiveResponseInfo"
    }
  ]
}
```

### 400 — The request could not be processed. Check the request parameters.

### 401 — A valid Felo API key is required.

### 402 — The request cannot proceed because a billing requirement is not met.

### 403 — The account is not permitted to perform this operation.

### 429 — A request or spending limit has been reached.

### 502 — The service could not complete the request.

### 503 — The API or billing service is temporarily unavailable.

### 504 — The service timed out while processing the request.

### default — Error response; upstream passthrough responses may use provider formats

**application/json**

Schema:

```json
{}
```

## Schema definitions

### Response36Afe1097B20_AppDataAppleAppListingsSearchLiveItem

`#/components/schemas/Response36Afe1097B20_AppDataAppleAppListingsSearchLiveItem`

```json
{
  "type": "object",
  "properties": {
    "app_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>ID of the returned app</em>"
    },
    "se_domain": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>search engine domain in a POST array</em>"
    },
    "location_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>location code in a POST array</em>"
    },
    "language_code": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>language code in a POST array</em>"
    },
    "check_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>direct URL to search engine results</em><br>you can use it to make sure that we provided accurate results"
    },
    "time_update": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>date and time when SERP data was last updated</em><br>in the <a href=\"https://en.wikipedia.org/wiki/ISO_8601\">ISO 8601</a> format: “YYYY-MM-DDThh:mm:ss.sssssssZ”<br>example:<br><code class=\"long-string\">2023-05-23 10:16:19 +00:00</code>"
    },
    "item": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_AppStoreInfoOrganic"
        }
      ],
      "description": "<em>detailed information about the app</em>"
    }
  }
}
```

### Response36Afe1097B20_AppDataAppleAppListingsSearchLiveResponseInfo

`#/components/schemas/Response36Afe1097B20_AppDataAppleAppListingsSearchLiveResponseInfo`

```json
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_BaseResponseInfo"
    },
    {
      "type": "object",
      "properties": {
        "tasks": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": [
              "object",
              "null"
            ],
            "oneOf": [
              {
                "$ref": "#/components/schemas/Response36Afe1097B20_AppDataAppleAppListingsSearchLiveTaskInfo"
              }
            ]
          },
          "description": "<em>array of tasks</em>"
        }
      }
    }
  ]
}
```

### Response36Afe1097B20_AppDataAppleAppListingsSearchLiveResultInfo

`#/components/schemas/Response36Afe1097B20_AppDataAppleAppListingsSearchLiveResultInfo`

```json
{
  "type": "object",
  "properties": {
    "total_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>the total number of relevant results in the database</em>",
      "format": "int64"
    },
    "count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>the number of items in the results array</em>",
      "format": "int64"
    },
    "offset": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>offset in the results array of returned apps</em>"
    },
    "offset_token": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>token for subsequent requests</em><br>you can use this parameter in the POST request to avoid timeouts while trying to obtain over 100,000 results in a single request"
    },
    "items": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_AppDataAppleAppListingsSearchLiveItem"
          }
        ]
      },
      "description": "<em>array of apps and related data</em>"
    }
  }
}
```

### Response36Afe1097B20_AppDataAppleAppListingsSearchLiveTaskInfo

`#/components/schemas/Response36Afe1097B20_AppDataAppleAppListingsSearchLiveTaskInfo`

```json
{
  "type": "object",
  "allOf": [
    {
      "$ref": "#/components/schemas/Response36Afe1097B20_BaseResponseTaskInfo"
    },
    {
      "type": "object",
      "properties": {
        "result": {
          "type": [
            "array",
            "null"
          ],
          "items": {
            "type": [
              "object",
              "null"
            ],
            "oneOf": [
              {
                "$ref": "#/components/schemas/Response36Afe1097B20_AppDataAppleAppListingsSearchLiveResultInfo"
              }
            ]
          },
          "description": "<em>array of results</em>"
        }
      }
    }
  ]
}
```

### Response36Afe1097B20_AppStoreInfoOrganic

`#/components/schemas/Response36Afe1097B20_AppStoreInfoOrganic`

```json
{
  "type": "object",
  "properties": {
    "type": {
      "type": [
        "string",
        "null"
      ],
      "description": "type of element"
    },
    "rank_group": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>position within a group of elements with identical <code>type</code> values</em><br>positions of elements with different <code>type</code> values are omitted from <code>rank_group</code>"
    },
    "rank_absolute": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>absolute rank among all the listed apps</em><br>absolute position among all apps on the list"
    },
    "position": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>the alignment of the element in SERP</em><br>can take the following values: <code>left</code>"
    },
    "app_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>ID of the app</em>"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>title of the app</em>"
    },
    "subtitle": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>subtitle of the app</em>"
    },
    "url": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>URL to the app page on App Store</em>"
    },
    "icon": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>URL to the app icon</em>"
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>description of the app</em>"
    },
    "reviews_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "<em>the total number of reviews of the app</em>",
      "format": "int64"
    },
    "rating": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_RatingInfo"
        }
      ],
      "description": "<em>average rating of the app</em>"
    },
    "price": {
      "type": [
        "object",
        "null"
      ],
      "oneOf": [
        {
          "$ref": "#/components/schemas/Response36Afe1097B20_PriceInfo"
        }
      ],
      "description": "<em>price of the app</em>"
    },
    "is_free": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "<em>indicates whether the app is free</em>"
    },
    "main_category": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>main category/genre of the app</em>"
    },
    "categories": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "<em>all relevant categories/genres of the app</em><br><strong>Note:</strong> this field returns only one relevant category in the array"
    },
    "languages": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "<em>languages supported in the app</em><br><strong>Note:</strong> this field returns only one supported language in the array"
    },
    "advisories": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "<em>age rating and age-based content advisories</em>"
    },
    "developer": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>name of the app developer</em>"
    },
    "developer_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>ID of the app developer</em>"
    },
    "developer_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>URL to the developer page on App Store</em>"
    },
    "version": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>current version of the app</em>"
    },
    "minimum_os_version": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>minimum OS version required to install the app</em>"
    },
    "size": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>size of the app</em>"
    },
    "released_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>date and time when the app was released</em><br>in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”;<br>example:<br><code>2019-11-15 12:57:46 +00:00</code><br><strong>Note:</strong> this field is deprecated and always returns <code>null</code>"
    },
    "last_update_date": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>date and time when the app was last updated</em><br>in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”;<br>example:<br><code>2019-11-15 12:57:46 +00:00</code>"
    },
    "update_notes": {
      "type": [
        "string",
        "null"
      ],
      "description": "<em>update notes</em><br>contains the latest update notes from the developer"
    },
    "images": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "<em>app images</em><br>contains URLs to the images used on the app page on App Store"
    },
    "similar_apps": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_AppsInfo"
          }
        ]
      },
      "description": "<em>similar apps</em><br>displays apps similar to the app in a POST request"
    },
    "more_apps_by_developer": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "object",
          "null"
        ],
        "oneOf": [
          {
            "$ref": "#/components/schemas/Response36Afe1097B20_AppsInfo"
          }
        ]
      },
      "description": "<em>similar apps</em><br>information about apps built by the same developer"
    }
  }
}
```

### Response36Afe1097B20_AppsInfo

`#/components/schemas/Response36Afe1097B20_AppsInfo`

```json
{
  "type": "object",
  "properties": {
    "app_id": {
      "type": [
        "string",
        "null"
      ],
      "description": "<i>ID of the app</i>"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "<i>title of the app</i>"
    },
    "url": {
      "type": [
        "string",
        "null"
      ],
      "description": "<i>URL to the app page on Google Play</i>"
    }
  }
}
```

### Response36Afe1097B20_BaseResponseInfo

`#/components/schemas/Response36Afe1097B20_BaseResponseInfo`

```json
{
  "properties": {
    "version": {
      "type": [
        "string",
        "null"
      ],
      "description": "the current version of the API"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "general status code\nyou can find the full list of the response codes here"
    },
    "status_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "general informational message\nyou can find the full list of general informational messages here"
    },
    "time": {
      "type": [
        "string",
        "null"
      ],
      "description": "total execution time, seconds"
    },
    "cost": {
      "type": [
        "number",
        "null"
      ],
      "description": "total tasks cost, USD",
      "format": "double"
    },
    "tasks_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "the number of tasks in the tasks array",
      "format": "int64"
    },
    "tasks_error": {
      "type": [
        "integer",
        "null"
      ],
      "description": "the number of tasks in the tasks array returned with an error",
      "format": "int64"
    }
  }
}
```

### Response36Afe1097B20_BaseResponseTaskInfo

`#/components/schemas/Response36Afe1097B20_BaseResponseTaskInfo`

```json
{
  "properties": {
    "id": {
      "type": [
        "string",
        "null"
      ],
      "description": "task identifier\nunique task identifier in our system in the UUID format"
    },
    "status_code": {
      "type": [
        "integer",
        "null"
      ],
      "description": "status code of the task\ngenerated by DataForSEO, can be within the following range: 10000-60000\nyou can find the full list of the response codes here"
    },
    "status_message": {
      "type": [
        "string",
        "null"
      ],
      "description": "informational message of the task\nyou can find the full list of general informational messages here"
    },
    "time": {
      "type": [
        "string",
        "null"
      ],
      "description": "execution time, seconds"
    },
    "cost": {
      "type": [
        "number",
        "null"
      ],
      "description": "total tasks cost, USD",
      "format": "double"
    },
    "result_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "number of elements in the result array",
      "format": "int64"
    },
    "path": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "description": "URL path"
    },
    "data": {
      "type": [
        "object",
        "null"
      ],
      "additionalProperties": {
        "type": [
          "object",
          "null"
        ]
      },
      "description": "contains the same parameters that you specified in the POST request"
    }
  }
}
```

### Response36Afe1097B20_PriceInfo

`#/components/schemas/Response36Afe1097B20_PriceInfo`

```json
{
  "type": "object",
  "properties": {
    "current": {
      "type": [
        "number",
        "null"
      ],
      "description": "current price\nindicates the current price of the product or service featured in the result",
      "format": "double"
    },
    "regular": {
      "type": [
        "number",
        "null"
      ],
      "description": "regular price\nindicates the regular price of the product or service with no discounts applied",
      "format": "double"
    },
    "max_value": {
      "type": [
        "number",
        "null"
      ],
      "description": "the maximum price\nthe maximum price of the product or service as indicated in the result",
      "format": "double"
    },
    "currency": {
      "type": [
        "string",
        "null"
      ],
      "description": "currency of the listed price\nISO code of the currency applied to the price"
    },
    "is_price_range": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "price is provided as a range\nindicates whether a price is provided in a range"
    },
    "displayed_price": {
      "type": [
        "string",
        "null"
      ],
      "description": "price string in the result\nraw price string as provided in the result"
    }
  }
}
```

### Response36Afe1097B20_RatingInfo

`#/components/schemas/Response36Afe1097B20_RatingInfo`

```json
{
  "properties": {
    "rating_type": {
      "type": [
        "string",
        "null"
      ],
      "description": "the type of rating\nhere you can find the following elements: Max5, Percents, CustomMax"
    },
    "value": {
      "type": [
        "number",
        "null"
      ],
      "description": "the value of the rating",
      "format": "double"
    },
    "votes_count": {
      "type": [
        "integer",
        "null"
      ],
      "description": "the amount of feedback",
      "format": "int64"
    },
    "rating_max": {
      "type": [
        "integer",
        "null"
      ],
      "description": "the maximum value for a rating_type"
    }
  }
}
```
