Demographics
The demographics routes tell you who uses an app: how its audience splits by age and gender.
We estimate age and gender from the text of an app’s reviews, so every number here is an estimate. We need at least 50 reviews for an app before we’ll estimate its audience. You get raw counts, not percentages. Scale them into buckets or shares yourself.
Getting Review Counts for Several Apps
Section titled “Getting Review Counts for Several Apps”This route returns the raw counts behind the demographics for one or more apps at once: the number of reviews in each age bracket, split by gender. Use it to build your own age and gender breakdowns, or to compare a batch of apps.
Request
Section titled “Request”GET /demographics?{filters}One request requires five (5) partner credits.
Arguments
Section titled “Arguments”| Field | Type | Description |
|---|---|---|
| products | List | One or more Appfigures product IDs, separated by commas or semicolons. Required. We skip in-app purchases. |
| page | Number | A page number starting with 1. Defaults to 1. |
| count | Number | The number of apps per page, from 1 to 50. Defaults to 10. |
Response
Section titled “Response”The response is wrapped in an object that holds information about the results (metadata key) along with the results themselves (results key). Results are sorted by product ID.
Metadata
Section titled “Metadata”| Field | Type | Description |
|---|---|---|
| unsupported_products | List | The IDs of apps we couldn’t estimate, because they have no reviews or fewer than minimum_reviews. These apps aren’t in results. |
| minimum_reviews | Number | The number of reviews an app needs before we’ll estimate its audience. Currently 50. |
| resultset | Object | Paging details: count (apps per page), page (the current page), total_count (apps with results) and total_pages. |
Results
Section titled “Results”| Field | Type | Description |
|---|---|---|
| product_id | Number | The Appfigures ID of the app. |
| total_reviews | Number | The number of reviews we analyzed. This includes reviews we couldn’t place in an age bracket, so it can be higher than the sum of the counts in demographics. |
| demographics | Object | Review counts for each age bracket (age_18_to_24, age_25_to_34, age_35_to_49, age_50_to_64, age_65_and_older). Each bracket holds counts for female, male and even, where even covers reviews where we couldn’t tell the reviewer’s gender. These are counts, not shares. |
Example Response
Section titled “Example Response”// GET /demographics?products=40328745,280776982,280776983
{ "metadata": { "unsupported_products": [280776983], "minimum_reviews": 50, "resultset": { "count": 10, "page": 1, "total_count": 2, "total_pages": 1 } }, "results": [{ "product_id": 40328745, "total_reviews": 18240, "demographics": { "age_18_to_24": { "female": 2104, "even": 3311, "male": 4019 }, "age_25_to_34": { "female": 1286, "even": 1407, "male": 2232 }, "age_35_to_49": { "female": 512, "even": 640, "male": 1105 }, "age_50_to_64": { "female": 311, "even": 402, "male": 688 }, "age_65_and_older": { "female": 44, "even": 61, "male": 90 } } }, ... ]}