App Store Search Endpoint
Search apps, localize the storefront, and control the result set.
Getting Started
Send your API key as a bearer token. Start with the smallest request below.
Search Apps
Send term and read normalized rows from apps.
curl -X POST "https://api.datablue.dev/v1/data/app-store/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"term": "fitness tracker",
"country": "us",
"limit": 10
}'{
"success": true,
"source": "app_store",
"term": "fitness tracker",
"country": "us",
"total_results": 2,
"time_taken": 0.61,
"apps": [
{
"position": 1,
"app_id": "123456789",
"app_name": "Fitness Tracker",
"bundle_id": "com.example.fitness",
"developer": "Example Inc.",
"price": 0,
"currency": "USD",
"rating": 4.7,
"rating_count": 18234,
"primary_genre": "Health & Fitness"
}
]
}Storefront and Results
Choose a Storefront
Set the two-letter country code used by the App Store.
curl -X POST "https://api.datablue.dev/v1/data/app-store/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"term": "fitness tracker",
"country": "gb",
"limit": 10
}'{
"success": true,
"source": "app_store",
"term": "fitness tracker",
"country": "us",
"total_results": 2,
"time_taken": 0.61,
"apps": [
{
"position": 1,
"app_id": "123456789",
"app_name": "Fitness Tracker",
"bundle_id": "com.example.fitness",
"developer": "Example Inc.",
"price": 0,
"currency": "USD",
"rating": 4.7,
"rating_count": 18234,
"primary_genre": "Health & Fitness"
}
]
}Limit Results
Set limit from 1 to 200.
curl -X POST "https://api.datablue.dev/v1/data/app-store/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"term": "fitness tracker",
"country": "us",
"limit": 25
}'{
"success": true,
"source": "app_store",
"term": "fitness tracker",
"country": "us",
"total_results": 2,
"time_taken": 0.61,
"apps": [
{
"position": 1,
"app_id": "123456789",
"app_name": "Fitness Tracker",
"bundle_id": "com.example.fitness",
"developer": "Example Inc.",
"price": 0,
"currency": "USD",
"rating": 4.7,
"rating_count": 18234,
"primary_genre": "Health & Fitness"
}
]
}Catalog Filters
Set Media and Entity
Use media and entity to target an iTunes catalog type.
curl -X POST "https://api.datablue.dev/v1/data/app-store/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"term": "fitness tracker",
"country": "us",
"media": "software",
"entity": "software"
}'{
"success": true,
"source": "app_store",
"term": "fitness tracker",
"country": "us",
"total_results": 2,
"time_taken": 0.61,
"apps": [
{
"position": 1,
"app_id": "123456789",
"app_name": "Fitness Tracker",
"bundle_id": "com.example.fitness",
"developer": "Example Inc.",
"price": 0,
"currency": "USD",
"rating": 4.7,
"rating_count": 18234,
"primary_genre": "Health & Fitness"
}
]
}Request Controls
Set Provider Timeout
Set timeout_ms from 3,000 to 60,000 milliseconds.
curl -X POST "https://api.datablue.dev/v1/data/app-store/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"term": "fitness tracker",
"timeout_ms": 30000
}'{
"success": true,
"source": "app_store",
"term": "fitness tracker",
"country": "us",
"total_results": 2,
"time_taken": 0.61,
"apps": [
{
"position": 1,
"app_id": "123456789",
"app_name": "Fitness Tracker",
"bundle_id": "com.example.fitness",
"developer": "Example Inc.",
"price": 0,
"currency": "USD",
"rating": 4.7,
"rating_count": 18234,
"primary_genre": "Health & Fitness"
}
]
}Response
Use total_results for the returned count and consume normalized records from apps.
Error Handling
Handle 401 for authentication, 422 for invalid input, 429 for limits, and retry only transient failures.
