Every iPhone and iPad app with category, IDs and age rating
A licensed app store database of 1.87 million apps, built for products that need to know what an app is before they allow it, block it or report on it.
Each row joins both store IDs, the developer, the App Store age rating and our filtering categories in one record.
Data dictionary: what each column holds
Every tier has the same twelve columns. Empty values mean the fact does not exist for that app, for example an iPhone app with no Android version.
| Column | Type | What it holds |
|---|---|---|
| app_store_id | integer | The numeric App Store ID, the number at the end of an App Store link. Unique per app and the right key for joins and monthly merges. |
| bundle_id | text | The iOS bundle identifier in reverse domain form. This is the value MDM restrictions use. Letter case is kept exactly as published. |
| name | text | The app name as listed in the App Store, including any subtitle the developer put in the name. |
| developer | text | The developer or seller name as listed with the app. |
| developer_domain | text | The domain of the developer's website, so you can join apps to domain data such as web filtering categories. |
| app_store_genre | text | The primary App Store genre, one of 26 genres from Games to Magazines and Newspapers. |
| age_rating | text | The App Store age rating as listed in the App Store. |
| content_advisories | list | The content descriptors behind the age rating, such as mild profanity, simulated gambling or loot boxes, as listed in the App Store. |
| rating_count | integer | The number of user ratings. A strong signal of how widely an app is used, and the ranking used for the tiers. |
| android_package | text | The Google Play package name of the same app, when it is published on both stores. Filled for 670,000+ apps. |
| filtering_categories | list | One or more of our 58 filtering categories, ranked by how much of the app each one describes. The first value is the main purpose. |
| iab_category | text | One category from the IAB Content Taxonomy 3.0, written as the full path from tier 1 down. |
Coverage across the App Store
The database spans every App Store genre. Counts below are apps in the full file; the genres add up to all 1,874,397 apps.
Apps per App Store genre
App Store age ratings
Ratings as listed in the App Store. Apple added 13+, 16+ and 18+ tiers in 2025, shown on iOS 26 and later.
Cross-platform: iOS and Android in one row
apps carry their Google Play package name next to the iOS bundle ID, so one record covers both stores.
We track 3.9 million Google Play package names in total, and hand-check the packages of the big apps.
58 filtering categories, plus IAB 3.0
Apps use the same 58 categories we apply to 120 million web domains, so one policy can cover a website and its app. The highlighted ones drive most blocking decisions.
Several categories per app
A video app with chat and a shop can carry Streaming Media, Social Networking and Shopping. The order tells you which one matters most.
Beyond the store genre
The App Store files a VPN app under Utilities and an AI chatbot under Productivity. Our categories name what the app actually does.
IAB 3.0 for ad tech
The IAB Content Taxonomy 3.0 category lets brand safety and audience tools treat apps like any other content.
See how the store genres map against our categories on the App Store categories page.
Questions the database answers
Real questions product and IT teams bring to the data, and the columns that answer them.
Size tiers and prices
Each tier is ranked by App Store rating count, so smaller files hold the most widely used apps. All tiers are one-time purchases with the same columns.
Top 100,000 apps
- The 100,000 most-rated apps
- Covers the apps most people install
- Right size for reports and research
Top 500,000 apps
- Reaches the long tail of clones and utilities
- Regional and niche apps included
- Good fit for app request tools
All 1.87 million apps
- Every app in the database
- Android packages for 670,000+ apps
- The base for product licences
Monthly update files: $999 per year
A refreshed file each month for your tier, with new apps added and removed apps dropped.
Add monthly updatesProduct licence: from $10,000 per year
Embed the data in an MDM, filter or parental control product, with monthly updates for the term.
Ask about a product licenceManaging devices rather than building a product? The MDM blocklist feed gives you ready files for your MDM, and all plans are on the pricing page.
Delivery: formats and monthly updates
You receive one file per order through a private download link. Both formats carry the same fields.
CSV
- Encoding
- UTF-8, so app names in every script stay intact
- Header
- One header row with the twelve column names
- List fields
- Categories and advisories separated by a pipe character
- Suits
- Spreadsheets, business intelligence tools and quick database loads
JSON
- Structure
- One object per app with the same field names
- List fields
- Categories and advisories as real arrays
- Numbers
- IDs and rating counts as numbers, not strings
- Suits
- Application code, document stores and data pipelines
Order confirmed
You pick the tier, format and licence on the order form.
File ready
A private download link for your CSV or JSON file.
Update file
With the update subscription, a refreshed file for your tier.
Merge
Upsert on app_store_id, retire apps that are no longer in the file.
Who licenses the database
Product teams that need a ready answer to one question: what is this app, and should it be allowed?
MDM vendors
Offer category-based app blocking to your customers instead of asking admins to type bundle IDs.
Web and DNS filters
Extend a website policy to apps, and join each app to its developer's domain.
Parental control makers
Age-appropriate app rules from the age rating, the content advisories and our categories.
App analytics teams
Segment the app market by category, genre, age rating and developer, with rating counts for weighting.
Ad tech brand safety
Classify in-app inventory by IAB 3.0 category and keep ads away from gambling, adult or violent apps.
Security and risk teams
Label every app in a device inventory and flag remote access, VPN or file sharing tools.
Concerned about apps that move data off devices? Our page on apps that share data shows how categories help a review.
Build it yourself or license it
Many teams start with a home-grown app list. This is what keeping one current at App Store scale involves.
| Task | Home-grown list | Licensed database |
|---|---|---|
| Coverage | The apps your team has heard of | 1.87 million apps across 26 genres |
| Both store IDs | Matched by hand, app by app | Android package for 670,000+ apps, big apps hand-checked |
| Categories | Store genre only, or a guess | 58 filtering categories plus IAB 3.0, ranked per app |
| New apps | Found when someone complains | Added in the next monthly file |
| Removed apps | Stay in your list for years | Dropped in the next monthly file |
| Staff time | Ongoing, and it grows with the store | One merge a month |
App database design and sync
A simple table design that keeps lookups fast and makes the monthly merge a single statement.
CREATE TABLE apps ( app_store_id BIGINT PRIMARY KEY, bundle_id VARCHAR(255) NOT NULL, name VARCHAR(512), developer VARCHAR(512), developer_domain VARCHAR(255), app_store_genre VARCHAR(64), age_rating VARCHAR(8), content_advisories TEXT, rating_count BIGINT, android_package VARCHAR(255), filtering_categories TEXT, iab_category VARCHAR(255) ); CREATE INDEX apps_bundle ON apps (bundle_id); CREATE INDEX apps_android ON apps (android_package); CREATE INDEX apps_domain ON apps (developer_domain);
Key on the App Store ID
It never changes for an app, while names and even developers can. Use it as the primary key and for every merge.
Index both store IDs
Devices report a bundle ID or a package name. Indexes on both make a lookup a single fast read.
Keep categories in order
Store the list as it arrives, or in a child table with a position column. The first category is the main purpose.
Merge monthly
Upsert each row of the update file, then mark apps that are missing as removed rather than deleting them at once.
Need single answers instead of a file? The App Lookup API returns the same record for one ID at a time. To find one app's IDs by hand, use the App Store ID lookup or the package name lookup.
Data security and privacy review
Security and privacy teams often review a data purchase before it lands. This is what they will find.
What the file contains
- Facts about apps: IDs, names, genres and ratings
- Developer names and website domains, as published with the apps
- Our filtering categories and IAB category per app
- A rating count as a popularity signal
What it never contains
- Data about app users or reviewers
- Device, location or usage data
- Download or revenue estimates
- Executable code or app binaries
The licence covers internal use or use inside your product. Resale or publication of the raw data is not allowed under either licence.
Questions about the app database
What data and product teams ask before they license.
Can I check the data before buying?
Yes. The free app category lookup shows the same fields for any app you type in, a few lookups a day. For larger checks, the App Lookup API returns the full record for 100,000 apps a month.
Does the database include Android-only apps?
The rows are iPhone and iPad apps, with the Google Play package name for more than 670,000 apps that are published on both stores. We track 3.9 million Google Play package names in total, so talk to us if you need Android-only coverage.
How are the categories assigned?
Every app is categorized from its store listing, then reviewed and validated. An app can carry several of the 58 filtering categories, ranked by how much of the app each one describes, plus one IAB Content Taxonomy 3.0 category.
Which age rating system does the file use?
Ratings are as listed in the App Store. The figures on this page use the 4+, 9+, 12+ and 17+ tiers. Apple added 13+, 16+ and 18+ tiers in 2025, shown on iOS 26 and later.
Does the database include downloads or revenue?
No. The file holds facts about each app and our categories. The rating count is included as a popularity signal, but there are no download or revenue estimates.
Does the file contain personal data?
No. It describes apps, not people. There is no data about app users, devices or behaviour. Developer names and website domains are the business details developers publish with their apps.
How often is the database updated?
With the monthly update subscription, at $999 per year, you get a refreshed file every month: new apps added, apps that left the store dropped and changed fields updated.
What is the difference between the database and the blocklist plans?
The blocklist plans give IT teams ready files per category for their own MDM. The database is the full data with every column, for teams that build products, run analysis or need their own logic.
Should I pick CSV or JSON?
Pick CSV if the data goes into a spreadsheet, a business intelligence tool or a quick database load. Pick JSON if application code reads it, because list fields arrive as real arrays.
Can I use the data inside my product?
Yes, with a product licence from $10,000 per year. It covers MDM, filtering and parental control products that use the categories in their features. Resale or publication of the raw data is never allowed.
License the app database
Tell us the tier, the format and whether the data stays internal or goes into a product. We reply within one business day with the licence and delivery details.
Apple, iPhone, iPad, iOS and App Store are trademarks of Apple Inc. Google Play and Android are trademarks of Google LLC. IAB is a trademark of the Interactive Advertising Bureau. Names are used only to identify the products discussed. AppBlockList is not affiliated with, sponsored or endorsed by these companies.