One GET request returns the app's name, full description, developer, icon, rating, and original-resolution screenshot URLs — from any App Store country.
Every endpoint on this server, callable right here. Pick a tab, keep the sample value or paste your own.
GET /api/apps/{id}?country={cc} — grab an ID from any link like apps.apple.com/us/app/chatgpt/id6448311069.GET /api/apps/{id}/developer — every app by the developer behind that app ID.GET /api/ms/apps/{id}?locale={lc} — IDs are alphanumeric, from links like apps.microsoft.com/detail/9MVB361DCB07.GET /api/ms/publishers/{name}/apps — the name must match the Store exactly; it is a filter, not a search.No signup, no API key. Six endpoints across two stores, JSON out.
# App Store — details + screenshots (country optional, defaults to us) curl "https://appstore-screenshots-api.iamdev.me/api/apps/6448311069?country=jp" # App Store — batch, up to 50 apps in one call curl "https://appstore-screenshots-api.iamdev.me/api/apps?ids=6448311069,6781505038&country=us" # App Store — every app by the developer behind an app id curl "https://appstore-screenshots-api.iamdev.me/api/apps/6448311069/developer" curl "https://appstore-screenshots-api.iamdev.me/api/developers/1559196726/apps" # Microsoft Store — details + screenshots (ids are alphanumeric) curl "https://appstore-screenshots-api.iamdev.me/api/ms/apps/9MVB361DCB07?locale=zh-CN" # Microsoft Store — every app by that product's publisher curl "https://appstore-screenshots-api.iamdev.me/api/ms/apps/9MVB361DCB07/publisher" curl "https://appstore-screenshots-api.iamdev.me/api/ms/publishers/IAM_DEV/apps"
{
"success": true,
"data": {
"id": "6448311069",
"country": "jp",
"name": "ChatGPT",
"description": "...",
"developer": "OpenAI OpCo, LLC",
"icon": "https://is1-ssl.mzstatic.com/.../512x512bb.jpg",
"rating": 4.69,
"rating_count": 2089933,
"genres": ["Productivity", "Utilities"],
"price": "Free",
"version": "1.2026.183",
"release_date": "2023-05-18T07:00:00Z",
"store_url": "https://apps.apple.com/jp/app/chatgpt/id6448311069",
"iphone_screenshots": ["https://is1-ssl.mzstatic.com/.../1242x2688bb.png"],
"ipad_screenshots": ["https://is1-ssl.mzstatic.com/.../2048x2732bb.png"]
}
}
# Screenshot URLs are resizable — edit the trailing size segment, # the CDN renders any size on demand: .../01_Home.png/1242x2688bb.png # original .../01_Home.png/400x0w.png # 400px wide, auto height .../01_Home.png/600x0w.jpg # JPEG, smaller payload
Everything under data. Failures return { "success": false, "message": "..." } with HTTP 200.
| Endpoint | Returns |
|---|---|
GET /api/apps/{id} | One iOS app: metadata + iPhone/iPad screenshots |
GET /api/apps?ids=… | Up to 50 iOS apps in one call |
GET /api/apps/{id}/developer | Every app by that app’s developer |
GET /api/developers/{artistId}/apps | Same listing, by developer ID |
GET /api/ms/apps/{id} | One Microsoft Store app: metadata + screenshots |
GET /api/ms/apps/{id}/publisher | Every app by that product’s publisher |
GET /api/ms/publishers/{name}/apps | Same listing, by exact publisher name |
/api/apps/{id}| Field | Type | Description |
|---|---|---|
id | string | App Store app ID |
country | string | Storefront country code |
name | string | App name |
description | string | Full App Store description |
developer | string | Seller / developer name |
icon | string | 512×512 app icon URL |
rating | number | Average user rating (0–5) |
rating_count | number | Number of ratings |
bundle_id | string | App bundle identifier |
content_rating | string | Age rating, e.g. 4+, 12+ |
primary_genre | string | Primary category name |
genres | string[] | All category names |
price | string | Formatted price, e.g. Free, $2.99 |
version | string | Current version |
release_notes | string | Current version release notes |
version_date | string | Current version release date (ISO 8601) |
release_date | string | First release date (ISO 8601) |
file_size_bytes | number | App binary size in bytes |
minimum_os | string | Minimum iOS version |
store_url | string | Canonical App Store page URL |
iphone_screenshots | string[] | iPhone screenshots, original resolution |
ipad_screenshots | string[] | iPad screenshots, original resolution |
/api/ms/apps/{id}| Field | Type | Description |
|---|---|---|
id | string | Product ID as the Store reports it |
market / locale | string | Storefront and language the data came from |
title | string | Product name, localized |
description | string | Full store description, localized |
short_description | string | One-line summary |
publisher | string | Publisher name — the key for publisher lookups |
developer | string | Developer name |
icon | string | Largest square icon available |
poster | string | Promotional tile artwork |
rating | number | Average rating (0–5) |
rating_count | number | Number of ratings |
price | number | Numeric price in the market currency |
display_price | string | Formatted price, e.g. Free, ¥14.00 |
categories | string[] | Store categories |
product_type | string | e.g. Application, Game |
release_date | string | First release date (ISO 8601) |
last_update_date | string | Last update date (ISO 8601) |
size_bytes | number | Approximate install size |
platforms | string[] | Architectures, e.g. x64, arm64 |
languages | string[] | Supported display languages |
website_url | string | Publisher’s app website |
privacy_url | string | Privacy policy URL |
release_notes | string[] | “What’s new” entries |
store_url | string | Canonical Microsoft Store page URL |
screenshots | object[] | { url, width, height, caption }, largest first |
| Field | Type | Description |
|---|---|---|
developer / publisher | string | Whose catalog this is |
artist_id | string | App Store developer ID (iOS listings only) |
count | number | Number of apps returned |
truncated | boolean | iOS only — true when Apple’s 200-app cap was hit |
apps | object[] | Per app: id, name, icon, price, categories, store_url |
Listings carry one representative screenshot per app at most. For an app’s full screenshot set, call the single-app endpoint with the id from the listing.
The iTunes Lookup API stopped returning screenshots, and neither store exposes a usable public product API — this service fills both gaps in one place.
Original-resolution iPhone, iPad and Windows screenshot URLs — Apple’s resizable on the fly via the CDN path.
App Store and Microsoft Store behind one JSON shape — any country, any locale, same call.
Results are cached server-side, so repeated lookups return instantly without hitting Apple.
Go from one app ID to every app by the same developer or publisher, in a single request.