# Phones Specs Db (`fetchcraftlabs/phones-specs-db`) Actor

Access more than 25,000 phone specifications from our database including detailed information about models, features, and technical specifications.

- **URL**: https://apify.com/fetchcraftlabs/phones-specs-db.md
- **Developed by:** [FetchCraft Labs](https://apify.com/fetchcraftlabs) (community)
- **Categories:** Automation, Integrations, Developer tools
- **Stats:** 45 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Phones Database Actor

A comprehensive Actor for extracting phone and device data from a phones database. This Actor allows you to search for mobile devices either by brand or release year, providing detailed specifications and technical information for each device.

### Features

- **Search by Brand**: Get all phones from a specific manufacturer (e.g., Apple, Samsung, Nokia)
- **Search by Release Year**: Get all phones released in a specific year
- **Complete Device Data**: Returns comprehensive specifications including hardware, software, display, connectivity, and more
- **No Pagination Limits**: Automatically fetches all available results for your search criteria
- **Clean Data Output**: Structured JSON output ready for analysis or integration

### Input

The Actor accepts the following input parameters:

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `searchType` | String | Yes | Choose search method: `"brand"` or `"releaseYear"` |
| `brand` | String | Conditional | Brand name to search for (required when `searchType` is `"brand"`) |
| `releaseYear` | String | Conditional | Release year to search for (required when `searchType` is `"releaseYear"`) |

#### Input Examples

**Search by Brand:**
```json
{
  "searchType": "brand",
  "brand": "Apple"
}
````

**Search by Release Year:**

```json
{
  "searchType": "releaseYear", 
  "releaseYear": "2023"
}
```

### Output

The Actor outputs a structured dataset containing detailed phone specifications. Each device record includes:

- **Basic Info**: ID, brand, model, release date, hardware designer
- **Physical**: Dimensions, weight, build materials
- **Display**: Screen size, resolution, display type, pixel density
- **Hardware**: CPU, RAM, storage, chipset details
- **Connectivity**: Cellular bands, WiFi, Bluetooth, USB specifications
- **Camera**: Camera specifications, video recording capabilities
- **Battery**: Battery type, capacity, charging specifications
- **Software**: Operating system, platform details
- **Market**: Supported countries and regions

#### Output Example

Here's a real example of device data extracted by the Actor (Xiaomi Mi 13 5G):

```json
[
  {
    "id": 21343,
    "brand": "Xiaomi",
    "model": "Mi 13 5G Premium Edition Global Dual SIM TD-LTE 256GB 2211133G",
    "released": "2023 Feb 26",
    "announced": "2023 Feb 8",
    "hardware_designer": "Xiaomi",
    "codename": "Xiaomi Fuxi",
    "device_category": "Smartphone",
    "width": "71.5 mm 2.81 inch",
    "height": "152.8 mm 6.02 inch", 
    "depth": "7.98 mm 0.31 inches",
    "mass": "189 g 6.67 ounces",
    "platform": "Google Android",
    "operating_system": "Google Android 13 (Tiramisu) MIUI 14",
    "cpu_clock": "3187 MHz",
    "cpu": "Qualcomm Snapdragon 8 Gen 2 5G SM8550-AB (Kalama), 2022, 64 bit, octa-core, 8192 Kbyte L3, 4 nm, Qualcomm Adreno 740 GPU",
    "ram_type": "LPDDR5X SDRAM 4233 MHz",
    "ram_capacity": "12288 MiB RAM 11160 MiB user accessible RAM",
    "display_diagonal": "161.54 mm 6.4 inch",
    "resolution": "1080x2400 2592000 pixels",
    "pixel_density": "414 PPI",
    "display_type": "Color AM-OLED display",
    "display_refresh_rate": "120 Hz",
    "scratch_resistant_screen": "Corning Gorilla Glass Victus",
    "camera_placement": "Rear",
    "number_of_effective_pixels": "53.9 MP camera",
    "aperture_w": "f/1.80",
    "zoom": "3.3 x optical zoom",
    "video_recording": "7680x4320 pixel 24 fps",
    "secondary_camera_placement": "Front",
    "secondary_camera_number_of_pixels": "32.0 MP sec. cam",
    "battery": "Lithium-ion polymer (LiPo) built-in 1-cell",
    "nominal_battery_capacity": "4500 mAh battery",
    "max_charging_power": "67.0 W charging",
    "bluetooth": "Bluetooth 5.3 Internal antenna",
    "wireless_lan": "IEEE 802.11a,IEEE 802.11b,IEEE 802.11g,IEEE 802.11n,IEEE 802.11ac,IEEE 802.11ax (Wi-Fi 6),IEEE 802.11be (Wi-Fi 7)",
    "usb_connector": "USB Type-C reversible",
    "sim_card_slot": "e-SIM (embedded),Nano-SIM (4FF)",
    "built_in_compass": "Yes",
    "built_in_accelerometer": "3D (3-axis)accelerometer", 
    "built_in_gyroscope": "3D (3-axis)gyro",
    "additional_sensors": "Barometer,In-screen fingerprint sensor,Light intensity sensor,Proximity sensor,Step counter",
    "protection_from_solid_materials": "6 Totally protected from dust (no ingress)",
    "protection_from_liquids": "8 Persistently protected against immersion beyond 1 meter of depth",
    "market_countries": "Australia,Austria,Bahrain,Belarus,Belgium,Bulgaria,Cyprus,Croatia,Czech Republic,Denmark,Estonia,Egypt,France,Greece,Germany,HK,Hungary,India,Indonesia,Iran,Iraq,Ireland,Israel,Italy,Kazakhstan,Kuwait,Latvia,Lithuania,Lebanon,Luxembourg,Malaysia,Mexico,Netherlands,Norway,NZ,Oman,Philippines,Poland,Portugal,Qatar,Romania,Russia,Saudi Arabia,Serbia,Slovakia,Singapore,Slovenia,South Africa,Spain,Sweden,Switzerland,Taiwan,Tunisie,Thailand,Turkey,Emirates (UAE),UK,Ukraine,Vietnam",
    "price": "3499 Malaysian Ringgit"
  }
]
```

### How to Use

1. **Choose Search Type**: Select either "Search by Brand" or "Search by Release Year"
2. **Enter Search Parameters**:
   - For brand search: Enter the manufacturer name (e.g., "Apple", "Samsung")
   - For year search: Enter the release year (e.g., "2023", "2022")
3. **Run the Actor**: The Actor will automatically fetch all matching devices
4. **Download Results**: Access your data from the Actor's dataset in JSON, CSV, or other formats

### Use Cases

- **Market Research**: Analyze device specifications across different brands and time periods
- **Competitive Analysis**: Compare features and specifications between manufacturers
- **Historical Analysis**: Track technology evolution over different release years
- **Data Integration**: Export phone data for use in other applications or databases
- **Product Catalogs**: Build comprehensive device databases for e-commerce or comparison sites

### Getting Started

#### Running the Actor

1. **Open the Actor**: Go to the Actor's page on Apify platform
2. **Configure Input**:
   - Select your search type (Brand or Release Year)
   - Enter the search parameter
3. **Run**: Click "Start" to begin data extraction
4. **Download Results**: Access your data from the "Dataset" tab

# Actor input Schema

## `searchType` (type: `string`):

Choose how to search for phones

## `brand` (type: `string`):

The brand name to search for (e.g., Apple, Samsung, Nokia)

## `releaseYear` (type: `string`):

The release year to search for (e.g., 2023, 2022). Must be 1991 or later.

## Actor input object example

```json
{
  "searchType": "brand",
  "brand": "Apple",
  "releaseYear": "2023"
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "brand": "Apple",
    "releaseYear": "2023"
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetchcraftlabs/phones-specs-db").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "brand": "Apple",
    "releaseYear": "2023",
}

# Run the Actor and wait for it to finish
run = client.actor("fetchcraftlabs/phones-specs-db").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "brand": "Apple",
  "releaseYear": "2023"
}' |
apify call fetchcraftlabs/phones-specs-db --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=fetchcraftlabs/phones-specs-db",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Phones Specs Db",
        "description": "Access more than 25,000 phone specifications from our database including detailed information about models, features, and technical specifications.",
        "version": "0.1",
        "x-build-id": "neWBKEC184sUrChqW"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fetchcraftlabs~phones-specs-db/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fetchcraftlabs-phones-specs-db",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/fetchcraftlabs~phones-specs-db/runs": {
            "post": {
                "operationId": "runs-sync-fetchcraftlabs-phones-specs-db",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/fetchcraftlabs~phones-specs-db/run-sync": {
            "post": {
                "operationId": "run-sync-fetchcraftlabs-phones-specs-db",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "searchType"
                ],
                "properties": {
                    "searchType": {
                        "title": "Search Type",
                        "enum": [
                            "brand",
                            "releaseYear"
                        ],
                        "type": "string",
                        "description": "Choose how to search for phones",
                        "default": "brand"
                    },
                    "brand": {
                        "title": "Brand Name",
                        "type": "string",
                        "description": "The brand name to search for (e.g., Apple, Samsung, Nokia)"
                    },
                    "releaseYear": {
                        "title": "Release Year",
                        "pattern": "^(199[1-9]|20[0-9][0-9]|2[1-9][0-9][0-9])$",
                        "minLength": 4,
                        "maxLength": 4,
                        "type": "string",
                        "description": "The release year to search for (e.g., 2023, 2022). Must be 1991 or later."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
