GeezerVison is showing mobileapi.dev — API Documentation - Device Specs & Images Integration | MobileAPI.dev
Welcome to MobileAPI's Docs
This comprehensive guide covers everything you need to integrate device specifications, images, and metadata into your applications, from authentication and device search to bulk processing and advanced features.
INFO
Introduction
Learn about MobileAPI.dev and how our comprehensive device database can power your applications.
What is MobileAPI.dev?
MobileAPI.dev is a comprehensive REST API that provides access to detailed specifications, images, and metadata for over 31,500 mobile devices including smartphones, tablets, and smartwatches. Our API is designed to power device catalogs, comparison tools, e-commerce platforms, and mobile applications with accurate, up-to-date device information.
Key Features
-
31,500+ devices from 572+ brands with real-time updates
-
High-quality device images and specifications
-
Lightning-fast search with autocomplete and fuzzy matching
-
Developer-friendly with comprehensive documentation
Perfect For
E-commerce platforms, device comparison websites, mobile app stores, technical documentation sites, and any application that needs reliable, up-to-date mobile device information. Our API eliminates the need to maintain your own device database and ensures your users always have access to the latest device specifications and images.
START
Getting Started
Follow these simple steps to start using the MobileAPI.dev API. The entire process takes just a few minutes, and you'll be making your first API calls in no time.
Quick Setup Process
What You Can Do
-
Search for devices by name with fuzzy matching and autocomplete support
-
Get detailed device specifications including display, camera, processor, and more
-
Access high-quality device images in multiple formats (URL and base64)
-
Monitor your API usage and remaining credits in your dashboard
Base URL
All API requests should be made to:
https://api.mobileapi.dev/
GET
Authentication
All API requests require authentication using your API key. Include your key in the Authorization header (recommended) using either Token or Bearer format, or as a query parameter fallback.
Using Authorization Header
# Option 1: Token format (traditional)
GET https://api.mobileapi.dev/devices/search
Authorization: Token YOUR_API_KEY
# Option 2: Bearer format (OAuth2-style)
GET https://api.mobileapi.dev/devices/search
Authorization: Bearer YOUR_API_KEY
Note: Both Token and Bearer formats are fully equivalent. Use whichever format your HTTP client or framework prefers.
# Include your API key as a query parameter
GET https://api.mobileapi.dev/devices/search?key=YOUR_API_KEY&name=iPhone%2015
KEY
API Key Required
Overview of all endpoints that require authentication with an API key.
Endpoints Requiring API Key
The following endpoints require a valid API key for authentication. You can get your API key from your profile page after signing up.
🔐 Authenticated Endpoints
GET
List All Devices
/devices/
Get a paginated list of all devices in the database. Returns complete device information including specifications and images. Use the limit parameter to control results per page (default: 10, max: 50).
Requires API Key
Uses Credits
GET
Device Search
/devices/search/
Search for devices by name (e.g., "iPhone 17 Pro") or model number (e.g., "A3520") with detailed specifications and images. Use the name parameter to search by device name, or the model_number parameter to search by model number. At least one parameter is required, but both cannot be used together. Returns comprehensive device information including specs, images, and metadata.
Requires API Key
Uses Credits
GET
Device Autocomplete
/devices/autocomplete/
Get device name suggestions as you type. Perfect for building search interfaces with autocomplete functionality.
Requires API Key
Uses Credits
GET
Manufacturers List
/manufacturers/
Get a list of all device manufacturers with their names and website URLs. Requires authentication.
Requires API Key
Uses Credits
GET
Devices by Manufacturer
/devices/by-manufacturer/
Get all devices from a specific manufacturer. Returns complete device information including specifications and images.
Requires API Key
Uses Credits
Quick Reference
Authentication Methods
- • Query parameter:
?key=YOUR_API_KEY
- • Header:
Authorization: Token YOUR_API_KEY
Credit Usage
- • List All Devices: 1 credit per request
- • Device Search: 1 credit per request
- • Device Autocomplete: 1 credit per request
- • Manufacturers List: 1 credit per request
- • Devices by Manufacturer: 1 credit per request
- • Devices by Year: 1 credit per request
- • Device Images: 1 credit per request
- • Device Specifications (each type): 1 credit per request
- • AI Natural Language Query: 1 credit per request
GET
/devices/
Get a paginated list of all devices in the database. Returns complete device information including specifications and images. Results are paginated (default: 10 per page, customizable via 'limit' parameter up to 50). The response includes metadata showing total count, current page, and pagination information.
| Parameter |
Type |
Required |
Description |
| key |
string |
Yes |
Your API key for authentication |
| page |
integer |
No |
Page number for pagination (default: 1) |
| limit |
integer |
No |
Number of results per page (default: 10, max: 50) |
# Get first page of devices (default 10 per page)
curl -X GET \
"https://api.mobileapi.dev/devices/?page=1&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Get 20 devices per page
curl -X GET \
"https://api.mobileapi.dev/devices/?page=1&limit=20&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Get second page of devices
curl -X GET \
"https://api.mobileapi.dev/devices/?page=2&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Success Response (200)
{
"total": 31563,
"page": 1,
"page_size": 10,
"total_pages": 3156,
"has_next": true,
"has_previous": false,
"devices": [
{
"id": 1,
"name": "iPhone 17 Pro",
"brand": {
"id": 6,
"name": "Apple"
},
"screen_resolution": "2556 x 1179",
"camera": "48 MP + 12 MP + 12 MP",
"hardware": "A17 Pro",
"battery_capacity": "3274 mAh",
"release_date": "2023-09-22"
}
// ... more devices
]
}
200
Devices retrieved successfully
400
Invalid page number or insufficient credits
401
Invalid API key or authentication required
Try It Live
API Key Required
This demo uses a free testing key. In production, you'll need your own API key and each request will use 1 credit. Get your API key
Click "Get Devices" to see all devices...
GET
/devices/{id}/
Retrieve detailed device information by providing its unique ID. Returns complete device specifications, images, and metadata.
| Parameter |
Type |
Required |
Description |
| id |
integer |
Yes |
The unique ID of the device (path parameter) |
| key |
string |
Yes |
Your API key for authentication (query parameter) |
# Get device with ID 12345
curl -X GET \
"https://api.mobileapi.dev/devices/12345/?key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Success Response (200)
{
"id": 12345,
"name": "iPhone 17 Pro",
"brand": {
"id": 6,
"name": "Apple",
"logo_b64": "iVBORw0KGgo..."
},
"main_image_b64": "iVBORw0KGgo...",
"screen_resolution": "2556 x 1179",
"camera": "48 MP + 12 MP + 12 MP",
"hardware": "A17 Pro",
"battery_capacity": "3274 mAh",
"storage": "128GB, 256GB, 512GB, 1TB",
"weight": "187 g",
"release_date": "2023-09-22",
"colors": "Natural Titanium, Blue Titanium, White Titanium, Black Titanium"
}
200
Device found successfully
400
Insufficient credits
401
Invalid API key or authentication required
404
Device with given ID not found
Try It Live
API Key Required
This demo uses a free testing key. In production, you'll need your own API key and each request will use 1 credit. Get your API key
Click "Get Device" to see the API response...
GET
/devices/search/
Search for devices by name (e.g., 'iPhone 17 Pro') or model number (e.g., "A3520") with fuzzy matching and autocomplete support. Use the `name` parameter to search by device name, or the `model_number` parameter to search by model number. At least one parameter is required, but both cannot be used together. Optionally filter results by manufacturer. Results are paginated with 10 devices per page (customizable via 'limit' up to 50). The response includes metadata showing total count, current page, and pagination information. Returns device specifications, images, metadata, a match certainty percentage (100% for exact matches only, up to 99% for fuzzy matches), and a match_type field indicating whether the match was by 'name', 'exact_model', or 'partial_model'. Exact model number matches are prioritized over name matches.
| Parameter |
Type |
Required |
Description |
| key |
string |
Yes |
Your API key for authentication |
| name |
string |
Yes* |
Device name to search for (e.g., "iPhone 17 Pro", "Samsung Galaxy S24"). Mutually exclusive with model_number. |
| model_number |
string |
Yes* |
Model number to search for (e.g., "A3520", "SM-S928B"). Mutually exclusive with name. |
| manufacturer |
string |
No |
Filter results to devices from this manufacturer only (e.g., "Apple", "Samsung"). Returns empty results if manufacturer doesn't exist or has no matching devices. Case-insensitive. |
| page |
integer |
No |
Page number to retrieve (default: 1). Each page contains 10 devices by default (max 50 via limit). |
| exact |
boolean |
No |
Set to true for exact matching (default: false). When true, only returns devices with 100% match certainty (exact name or exact model number match). |
* Note: At least one of name or model_number is required, but both cannot be provided at the same time. Use name to search by device name, or model_number to search by model number.
# Search by device name: iPhone 17 Pro (first page)
curl -X GET \
"https://api.mobileapi.dev/devices/search/?name=iPhone%2017%20Pro&page=1&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Search by model number: A3520
curl -X GET \
"https://api.mobileapi.dev/devices/search/?model_number=A3520&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Get second page of search results (by name)
curl -X GET \
"https://api.mobileapi.dev/devices/search/?name=iPhone&page=2&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Search with Manufacturer Filter
# Search by name with manufacturer filter: Apple devices only
curl -X GET \
"https://api.mobileapi.dev/devices/search/?name=iPhone&manufacturer=Apple&page=1&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Search by model number with manufacturer filter
curl -X GET \
"https://api.mobileapi.dev/devices/search/?model_number=A3520&manufacturer=Apple&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Search only Samsung devices for "Galaxy" (first page)
curl -X GET \
"https://api.mobileapi.dev/devices/search/?name=Galaxy&manufacturer=Samsung&page=1&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Search by model number (e.g., "A3520" for iPhone 15 Pro)
curl -X GET \
"https://api.mobileapi.dev/devices/search/?model_number=A3520&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Search by model number with exact match
curl -X GET \
"https://api.mobileapi.dev/devices/search/?model_number=A3520&exact=true&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Manufacturer Filter
The manufacturer parameter filters search results to only include devices from the specified manufacturer. This is useful when you want to search within a specific brand's device lineup. If the manufacturer doesn't exist or has no matching devices, the endpoint returns empty results.
Success Response (200)
{
"total": 15,
"page": 1,
"page_size": 10,
"total_pages": 1,
"has_next": false,
"has_previous": false,
"devices": [
{
"id": 43,
"match_certainty": "100.00%",
"match_type": "exact_model",
"name": "iPhone 17 Pro",
"image_b64": "/9j/4QAYRXhpZgAASUkqAA...../2Q==",
"manufacturer_name": "Apple",
"device_type": "phone",
"description": "Apple iPhone 17 Pro smartphone. Announced Sep 2025. Features 6.3\" display, Apple A19 Pro chipset, 3998 mAh battery, 1024 GB storage, 12 GB RAM, Ceramic Shield 2.",
"colors": "Silver, Cosmic Orange, Deep Blue",
"storage": "256GB, 512GB, 1TB",
"screen_resolution": "6.3\", 1206x2622 pixels",
"weight": "206g",
"thickness": "8.8mm",
"release_date": "Released 2025, September 19",
"camera": "48MP",
"battery_capacity": "3998 mAh",
"hardware": "12GB RAM, Apple A19 Pro",
"model_numbers": "iPhone18,3, A3520, A3258, A3519, A3521"
},
{
"id": 44,
"match_certainty": "99.50%",
"match_type": "name",
"name": "iPhone 17",
"image_b64": "/9j/4QAYRXhpZgAASUkqAA...../2Q==",
"manufacturer_name": "Apple",
"device_type": "phone",
"description": "Apple iPhone 17 smartphone. Announced Sep 2025. Features 6.1\" display, Apple A19 chipset, 3500 mAh battery, 512 GB storage, 8 GB RAM, Ceramic Shield 2.",
"colors": "Black, White, Blue, Pink, Green",
"storage": "128GB, 256GB, 512GB",
"screen_resolution": "6.1\", 1179x2556 pixels",
"weight": "175g",
"thickness": "7.8mm",
"release_date": "Released 2025, September 19",
"camera": "48MP",
"battery_capacity": "3500 mAh",
"hardware": "8GB RAM, Apple A19",
"model_numbers": "iPhone18,1, A3256, A3523, A3522, A3524"
}
// ... more matching devices
]
}
Match Certainty
The match_certainty field indicates how confident the search algorithm is about the result. 100% indicates an exact match, while fuzzy matches range from 70% to 99.99%. Higher percentages (90-99%) indicate very close matches, while lower percentages (70-89%) indicate partial matches. The match_type field indicates how the device was matched: "exact_model" for exact model number matches, "partial_model" for partial model number matches, or "name" for device name matches. Exact model number matches are prioritized in the results.
200
Device found successfully
204
No device found
400
Invalid parameters
401
Invalid API key
429
Rate limit exceeded
Try It Live
API Key Required
This demo uses a free testing key. In production, you'll need your own API key and each request will use 1 credit. Get your API key
Search by:
Device Name
Model Number
Click "Search Device" to see the API response...
GET
/devices/autocomplete/
Get device name suggestions as you type. Perfect for building search interfaces with autocomplete functionality.
| Parameter |
Type |
Required |
Description |
| key |
string |
Yes |
Your API key for authentication (can use demo key for testing) |
| q |
string |
Yes |
Query string to search for (minimum 2 characters) |
| limit |
integer |
No |
Maximum number of results (default: 10, max: 50) |
# Get autocomplete suggestions for "iPhone" (key optional for demo)
curl -X GET \
"https://api.mobileapi.dev/devices/autocomplete/?q=iPhone&limit=5" \
-H "Content-Type: application/json"
Success Response (200)
[
{
"id": 12345,
"name": "iPhone 17 Pro",
"brand": "Apple",
"full_name": "Apple iPhone 17 Pro"
},
{
"id": 12346,
"name": "iPhone 15",
"brand": "Apple",
"full_name": "Apple iPhone 15"
}
]
Try It Live
Click "Get Suggestions" to see autocomplete results...
GET
/devices/by-manufacturer/
Get all devices from a specific manufacturer. Filter devices by manufacturer name to retrieve complete device information including specifications and images. Results are paginated with 10 devices per page (customizable via 'limit' up to 50). The response includes metadata showing total count, current page, and pagination information.
| Parameter |
Type |
Required |
Description |
| key |
string |
Yes |
Your API key for authentication (can also be passed in Authorization header) |
| manufacturer |
string |
Yes |
Manufacturer name to filter devices (e.g., "Apple", "Samsung", "Google") |
| page |
integer |
No |
Page number to retrieve (default: 1). Each page contains 10 devices by default (max 50 via limit). |
# Get Apple devices (first page)
curl -X GET \
"https://api.mobileapi.dev/devices/by-manufacturer/?manufacturer=Apple&page=1&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Get second page of Apple devices
curl -X GET \
"https://api.mobileapi.dev/devices/by-manufacturer/?manufacturer=Apple&page=2&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Success Response (200)
{
"manufacturer": "Apple",
"total": 125,
"page": 1,
"page_size": 10,
"total_pages": 3,
"has_next": true,
"has_previous": false,
"devices": [
{
"id": 101,
"name": "iPhone 17 Pro",
"manufacturer": {
"id": 6,
"name": "Apple",
"website_url": "https://www.apple.com/"
},
"description": "Apple iPhone 17 Pro smartphone...",
"colors": "Natural Titanium, Blue Titanium, White Titanium, Black Titanium",
"storage": "128GB, 256GB, 512GB, 1TB",
"camera": "48 MP",
"battery_capacity": 3274
}
// ... 49 more devices on this page
]
}
Try It Live
API Key Required
This demo uses a free testing key. In production, you'll need your own API key and each request will use 1 credit. Get your API key
Click "Get Devices" to see all devices from the manufacturer...
GET
/devices/by-year/
Get all devices released in a specific year. Filter devices by launch year to retrieve complete device information including specifications and images. Results are paginated with 10 devices per page (customizable via 'limit' up to 50). The response includes metadata showing total count, current page, and pagination information.
| Parameter |
Type |
Required |
Description |
| key |
string |
Yes |
Your API key for authentication (can also be passed in Authorization header) |
| year |
integer |
Yes |
Launch year in 4-digit format (e.g., 2023, 2024) |
| page |
integer |
No |
Page number to retrieve (default: 1). Each page contains 10 devices by default (max 50 via limit). |
# Get devices released in 2023 (first page)
curl -X GET \
"https://api.mobileapi.dev/devices/by-year/?year=2023&page=1&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Get second page of devices from 2023
curl -X GET \
"https://api.mobileapi.dev/devices/by-year/?year=2023&page=2&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Success Response (200)
{
"total": 401,
"page": 1,
"page_size": 10,
"total_pages": 9,
"has_next": true,
"has_previous": false,
"devices": [
{
"id": 101,
"name": "iPhone 17 Pro",
"brand": {
"id": 6,
"name": "Apple",
"website_url": "https://www.apple.com/"
},
"description": "Apple iPhone 17 Pro smartphone...",
"colors": "Natural Titanium, Blue Titanium, White Titanium, Black Titanium",
"storage": "128GB, 256GB, 512GB, 1TB",
"release_date": "Released 2023, September 22",
"camera": "48 MP",
"battery_capacity": "3274 mAh"
}
// ... 49 more devices on this page
]
}
Try It Live
Test the API endpoint with real data
Click "Get Devices" to see all devices from the year...
GET
/devices/by-type/
Get all devices of a specific type (phone, tablet, laptop, wearable, or other). Filter devices by their category to retrieve complete device information. Results are paginated with 10 devices per page (customizable via 'limit' up to 50). The response includes metadata showing total count, current page, and pagination information.
| Parameter |
Type |
Required |
Description |
| key |
string |
Yes |
Your API key for authentication (can also be passed in Authorization header) |
| type |
string |
Yes |
Device type: phone, tablet, laptop, wearable, or other |
| page |
integer |
No |
Page number to retrieve (default: 1). Each page contains 10 devices by default (max 50 via limit). |
# Get tablets (first page)
curl -X GET \
"https://api.mobileapi.dev/devices/by-type/?type=tablet&page=1&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Get second page of tablets
curl -X GET \
"https://api.mobileapi.dev/devices/by-type/?type=tablet&page=2&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Success Response (200)
{
"device_type": "tablet",
"total": 128,
"page": 1,
"page_size": 10,
"total_pages": 3,
"has_next": true,
"has_previous": false,
"devices": [
{
"id": 27,
"name": "iPad (2022)",
"manufacturer_name": "Apple",
"brand_name": "Apple",
"device_type": "tablet",
"description": "Apple iPad (2022) tablet...",
"colors": "Silver, Space Gray, Gold, Rose Gold",
"storage": "64GB, 256GB",
"screen_resolution": "10.9\", 1640 x 2360 pixels",
"weight": "477g",
"thickness": "7mm",
"release_date": "Released 2022, October 26",
"camera": "12MP",
"battery_capacity": "7606 mAh",
"hardware": "Apple A14 Bionic, 4GB RAM"
}
// ... 49 more devices on this page
]
}
Try It Live
API Key Required
This demo uses a free testing key. In production, you'll need your own API key and each request will use 1 credit. Get your API key
Select a device type and click "Get Devices" to see the API response...
GET
/devices/{id}/images/
Get all images for a specific device including the main image and gallery images. This endpoint provides high-quality images when you need more than just the thumbnail from device listings.
| Parameter |
Type |
Required |
Description |
| id |
integer |
Yes |
Device ID (in URL path) |
| key |
string |
Yes |
Your API key for authentication (can also be passed in Authorization header) |
| limit |
integer |
No |
Maximum number of images to return (default: 10, max: 50) |
# Get all images for device ID 101
curl -X GET \
"https://api.mobileapi.dev/devices/101/images/?key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Success Response (200)
[
{
"id": "main_101",
"image_url": "main_image",
"image_b64": "iVBORw0KGgoAAAANSUhEUgAA...",
"caption": "Apple iPhone 17 Pro - Main Image",
"is_official": true,
"order": 0
},
{
"id": 201,
"image_url": "https://fdn2.gsmarena.com/vv/pics/apple/apple-iphone-15-pro-1.jpg",
"image_b64": "iVBORw0KGgoAAAANSUhEUgAA...",
"caption": "Front view",
"is_official": true,
"order": 1
}
]
Try It Live
Test the API endpoint with real data
Click "Get Images" to see all images for the device...
GET
/devices/{id}/{specification}/
Get individual specifications for a specific device. Each specification type has its own endpoint, allowing you to request only the data you need. This provides better performance and reduced bandwidth usage compared to fetching the complete device details.
📋 Specification Endpoints
Instead of requesting all device data at once, you can fetch individual specifications on demand. This is useful when you only need specific information like camera specs or battery details.
Available Specification Types:
📡 Network
2G, 3G, 4G, 5G bands
Fields: id, technology, bands_2g, bands_3g, bands_4g, bands_5g, speed
📱 Body
Dimensions, weight, build
Fields: id, dimensions, weight, build, sim, other
🖥️ Display
Type, size, resolution
Fields: id, type, size, resolution, protection, other
⚙️ Platform
OS, chipset, CPU, GPU
Fields: id, os, chipset, cpu, gpu
💾 Memory
Internal, card slot
Fields: id, card_slot, internal, other
📷 Main Camera
Modules, features, video
Fields: id, modules, features, video
🤳 Selfie Camera
Modules, features, video
Fields: id, modules, features, video
🔊 Sound
Loudspeaker, audio jack
Fields: id, loudspeaker, audio_jack
📶 Communications
WiFi, Bluetooth, NFC
Fields: id, wlan, bluetooth, positioning, nfc, radio, usb
✨ Features
Sensors, other features
Fields: id, sensors, other
🔋 Battery
Type, charging info
Fields: id, type, charging
📝 Miscellaneous
Model numbers, SAR, price
Fields: id, model_numbers, sar_us, sar_eu, price
Specification Endpoint URLs:
| Specification |
Endpoint |
Description |
| Network |
/devices/{id}/network/ |
Network technologies and bands (2G, 3G, 4G, 5G) |
| Body |
/devices/{id}/body/ |
Physical characteristics (dimensions, weight, build, SIM) |
| Display |
/devices/{id}/display/ |
Display specifications (type, size, resolution, protection) |
| Platform |
/devices/{id}/platform/ |
Software and hardware platform (OS, chipset, CPU, GPU) |
| Memory |
/devices/{id}/memory/ |
Storage and memory specifications |
| Main Camera |
/devices/{id}/main-camera/ |
Rear camera specifications (modules, features, video) |
| Selfie Camera |
/devices/{id}/selfie-camera/ |
Front camera specifications (modules, features, video) |
| Sound |
/devices/{id}/sound/ |
Audio capabilities (loudspeaker, 3.5mm jack) |
| Communications |
/devices/{id}/comms/ |
Connectivity options (WiFi, Bluetooth, NFC, USB, etc.) |
| Features |
/devices/{id}/features/ |
Device features (sensors, special features) |
| Battery |
/devices/{id}/battery/ |
Battery specifications and charging capabilities |
| Miscellaneous |
/devices/{id}/misc/ |
Other information (models, SAR values, price) |
⚠️ Note
All specification endpoints require an API key and will return 404 if the device doesn't have that particular specification.
# Get network specifications for device ID 1
curl -X GET \
"https://api.mobileapi.dev/devices/1/network/?key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Get display specifications
curl -X GET \
"https://api.mobileapi.dev/devices/1/display/?key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Get camera specifications
curl -X GET \
"https://api.mobileapi.dev/devices/1/main-camera/?key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Get battery specifications
curl -X GET \
"https://api.mobileapi.dev/devices/1/battery/?key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Example Response (Network):
{
"id": 123,
"technology": "GSM / HSPA / LTE / 5G",
"bands_2g": "GSM 850 / 900 / 1800 / 1900 - SIM 1 & SIM 2",
"bands_3g": "HSDPA 850 / 900 / 1700(AWS) / 1900 / 2100",
"bands_4g": "1, 2, 3, 4, 5, 7, 8, 12, 13, 17, 18, 19, 20, 25, 26, 28, 30, 32, 38, 39, 40, 41, 42, 46, 48, 66",
"bands_5g": "1, 2, 3, 5, 7, 8, 12, 20, 25, 28, 38, 40, 41, 66, 71, 77, 78, 79 SA/NSA/Sub6",
"speed": "HSPA, LTE-A, 5G"
}
Example Response (Battery):
{
"id": 456,
"type": "Li-Ion 4323 mAh, non-removable",
"charging": "25W wired, PD3.0, 15W wireless, 4.5W reverse wireless"
}
Error Response (Specification Not Found):
{
"detail": "Network specifications not found for this device"
}
GET
/devices/ai-query/
🤖 Query devices using natural language powered by AI. Ask questions like "Get top 5 devices with the most RAM", "Show me Samsung phones with 5G", or "Find phones with the biggest battery under $500". The AI understands your intent and returns relevant results.
⭐ Enterprise Only: This endpoint is available exclusively for Enterprise plan subscribers.
AI-Powered Feature
This endpoint uses GPT-4o-mini to understand natural language queries and convert them into precise database searches. No need to remember exact field names or SQL syntax!
| Parameter |
Type |
Required |
Description |
| key |
string |
Yes |
Your API key for authentication |
| query |
string |
Yes |
Your natural language query (e.g., "top 5 phones with most RAM", "Samsung devices with 5G") |
💳 Credits
AI queries cost 1 credit per request (same as other authenticated endpoints). Rate limited to 1000 requests per hour per IP.
# Query for top devices with most RAM
curl -X GET \
"https://api.mobileapi.dev/devices/ai-query/?query=Get%20top%205%20devices%20with%20most%20RAM&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Find phones with biggest battery
curl -X GET \
"https://api.mobileapi.dev/devices/ai-query/?query=Find%20phones%20with%20biggest%20battery&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Show all Samsung phones
curl -X GET \
"https://api.mobileapi.dev/devices/ai-query/?query=Show%20me%20all%20Samsung%20phones&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Find 5G devices
curl -X GET \
"https://api.mobileapi.dev/devices/ai-query/?query=Find%20all%205G%20devices&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Success Response (200)
{
"query": "Get top 5 devices with most RAM",
"interpretation": "Found 5 devices matching your criteria",
"filters_applied": {},
"order_by": "-hardware",
"devices": [
{
"id": 123,
"name": "Galaxy S24 Ultra",
"manufacturer_name": "Samsung",
"brand_name": "Samsung",
"description": "Flagship phone with advanced features",
"storage": "256GB, 512GB, 1TB",
"screen_resolution": "6.8\", 3088 x 1440 pixels",
"weight": "232g",
"thickness": "8.6mm",
"release_date": "Released 2024, January 24",
"camera": "200MP",
"battery_capacity": "5000",
"hardware": "12GB RAM, Snapdragon 8 Gen 3"
}
// ... more devices
]
}
200
Query executed successfully
400
Bad request - missing query parameter or invalid query
401
Invalid API key or authentication required
403
Enterprise plan required
429
Rate limit exceeded
503
LLM service unavailable
Try It Live
Ask anything about mobile devices in plain English
⭐ Note: AI Query is available exclusively for Enterprise plan subscribers. Upgrade to Enterprise to access this feature.
Click "Ask AI" to query devices using natural language...
GET
/manufacturers/
Get a list of all device manufacturers with their names and website URLs. Results are paginated with 50 manufacturers per page. The response includes metadata showing total count, current page, and pagination information. Requires authentication with API key.
| Parameter |
Type |
Required |
Description |
| key |
string |
Yes |
Your API key for authentication (can also be passed in Authorization header) |
| page |
integer |
No |
Page number to retrieve (default: 1). Each page contains 10 manufacturers by default (max 50 via limit). |
# Get manufacturers (first page)
curl -X GET \
"https://api.mobileapi.dev/manufacturers/?page=1&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
# Get second page of manufacturers
curl -X GET \
"https://api.mobileapi.dev/manufacturers/?page=2&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Success Response (200)
{
"total": 124,
"page": 1,
"page_size": 10,
"total_pages": 3,
"has_next": true,
"has_previous": false,
"manufacturers": [
{
"id": 6,
"name": "Apple",
"website_url": "https://www.apple.com/"
},
{
"id": 93,
"name": "Samsung",
"website_url": "https://www.samsung.com"
},
{
"id": 36,
"name": "Google",
"website_url": "https://www.google.com"
},
{
"id": 119,
"name": "Xiaomi",
"website_url": null
},
{
"id": 42,
"name": "Huawei",
"website_url": "https://www.huawei.com"
}
// ... 45 more manufacturers on this page
]
}
Try It Live
API Key Required
This demo uses a free testing key. In production, you'll need your own API key and each request will use 1 credit. Get your API key
Click "Get All Manufacturers" to see the API response...
GET
/manufacturers/{id}/
Retrieve detailed manufacturer information by providing its unique ID. Returns manufacturer name, website URL, and logo information.
| Parameter |
Type |
Required |
Description |
| id |
integer |
Yes |
The unique ID of the manufacturer (path parameter) |
| key |
string |
Yes |
Your API key for authentication (query parameter) |
# Get manufacturer with ID 6 (Apple)
curl -X GET \
"https://api.mobileapi.dev/manufacturers/6/?key=YOUR_API_KEY" \
-H "Content-Type: application/json"
Success Response (200)
{
"id": 6,
"name": "Apple",
"website_url": "https://www.apple.com/"
}
Try It Live
API Key Required
This demo uses a free testing key. In production, you'll need your own API key. Get your API key
Enter a manufacturer ID and click "Get Manufacturer"...
HTTP
Error Codes
Understanding HTTP status codes and error responses from our API.
200
Success - Request completed successfully
204
No Content - Request successful but no data found
400
Bad Request - Invalid parameters or malformed request
401
Unauthorized - Invalid or missing API key
403
Forbidden - API key doesn't have permission for this endpoint
429
Too Many Requests - Rate limit exceeded
500
Internal Server Error - Something went wrong on our end
Error Response Format
{
"error": "Invalid API key",
"code": 401,
"message": "The provided API key is invalid or has been revoked.",
"details": {
"key_provided": false,
"timestamp": "2024-01-15T10:30:00Z"
}
}
RATE
Rate Limits
Understanding rate limits and request quotas for optimal API usage.
Plan Comparison
| Plan |
Requests/Month |
Rate Limit |
Features |
| Free |
50 requests/month |
5 requests/minute |
Full database access, monthly updates, community support |
| Pro |
10000 requests/month (~333/day) |
10 requests/second |
Everything in Free + weekly updates, priority email support, commercial usage, advanced analytics |
| Enterprise |
Unlimited requests |
Custom rate limits |
Everything in Pro + daily updates, dedicated support team, account manager, custom integrations |
Rate Limit Headers
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9999
X-RateLimit-Reset: 1640995200
429
Rate limit exceeded - wait before retrying
CODE
Code Examples
Ready-to-use code examples in multiple programming languages.
# Search for a device
curl -X GET \
"https://api.mobileapi.dev/devices/search/?name=iPhone%2017%20Pro&key=YOUR_API_KEY" \
-H "Content-Type: application/json"
// Search for a device
const searchDevice = async (deviceName) => {
const response = await fetch(`/devices/search/?name=${deviceName}&key=YOUR_API_KEY`);
const data = await response.json();
return data;
};
// Usage
searchDevice("iPhone 17 Pro").then(console.log);
# Search for a device
import requests
def search_device(device_name):
url = "https://api.mobileapi.dev/devices/search/"
params = {
"name": device_name,
"key": "YOUR_API_KEY"
}
response = requests.get(url, params=params)
return response.json()
# Usage
result = search_device("iPhone 17 Pro")
print(result)
// Search for a device
function searchDevice($deviceName) {
$url = "https://api.mobileapi.dev/devices/search/";
$params = [
"name" => $deviceName,
"key" => "YOUR_API_KEY"
];
$response = file_get_contents($url . "?" . http_build_query($params));
return json_decode($response, true);
}
// Usage
$result = searchDevice("iPhone 17 Pro");
print_r($result);
|