An open, structured database of 1,314 CCTV / IP camera models and their technical specifications, covering 67 brands across every market segment — from budget consumer WiFi cameras to enterprise PTZ domes and thermal imaging systems. Each camera is a validated JSON file, aggregated into a single queryable dataset (JSON + CSV).
Why this exists
Camera spec sheets are scattered across vendor PDFs, retailer pages, and paywalled databases (IPVM, etc.) in inconsistent formats. This repo normalises them into one machine-readable structure so they can be compared, filtered, and reused.
Browse online
What you see above:
- Search — instant full-text search across brand, model, and features
- Filter — narrow by brand, camera type, night vision, resolution, or market
- Sort — click any column header to sort ascending/descending
- Detail drawer — click a row to slide open the full spec sheet (resolution, connectivity, protocols, storage, audio, pricing, source links)
- Pagination — page through all 1,314 cameras, 25 per page
- Stats bar — live counts for total cameras, brands, 4K+, WiFi, and no-subscription models
How this was built
The database was assembled with the help of Claude Code.
Specs are sourced from manufacturer datasheets and reputable retailer listings —
each entry includes a sources array with URLs. As with any compiled dataset,
errors are possible; always verify against the official datasheet before purchasing
or deploying.
The demo video was produced with hve-spielberg, a Claude Code skill for AI-powered video production built on Remotion.
Repository layout
cctv-camera-database/
├── cameras/ # source of truth — one JSON file per camera, grouped by brand
│ ├── hikvision/ # 150 cameras
│ ├── reolink/ # 130 cameras
│ ├── dahua/ # 107 cameras
│ ├── hanwha/ # 71 cameras
│ ├── axis/ # 66 cameras
│ ├── tapo/ # 62 cameras
│ └── …60 more brands
├── data/ # GENERATED — do not edit by hand
│ ├── cameras.json # all 1,314 cameras as one array
│ └── cameras.csv # flattened, spreadsheet-friendly
├── schema/
│ └── camera.schema.json
├── scripts/
│ └── build.js # aggregates + validates cameras/ → data/
├── docs/
│ └── glossary.md
├── CONTRIBUTING.md
└── LICENSE
Quick start
npm install # installs Ajv for schema validation (no runtime deps)
npm run build # validates all JSON, writes data/cameras.json + data/cameras.csv
Querying the data
const cameras = require('./data/cameras.json');
// All 4K PoE outdoor cameras
const poe4k = cameras.filter(c =>
c.connectivity?.includes('poe') &&
c.resolution.megapixels >= 8
);
// All cameras with color night vision
const colorNight = cameras.filter(c =>
c.night_vision?.type === 'color'
);
// All cameras for the UK market
const uk = cameras.filter(c =>
c.markets?.includes('UK')
);
// All cameras with no subscription fee
const noSub = cameras.filter(c =>
c.features?.some(f => f.toLowerCase().includes('no subscription'))
);
Or open data/cameras.csv in any spreadsheet for a quick browse.
Coverage
By the numbers
| Metric | Count |
|---|---|
| Total cameras | 1,314 |
| Brands | 67 |
| Form factors | 10 (bullet, dome, turret, PTZ, dual-lens, panoramic, covert, box, fisheye, doorbell) |
| PoE wired | 856 |
| WiFi | 430 |
| Battery / wire-free | 155 |
| 4K / 8MP+ | 417 |
| 4–5MP | 594 |
| 1080p–2MP | 292 |
All 67 brands
| Brand | Cameras | Segment |
|---|---|---|
| Hikvision | 150 | Enterprise + consumer, global |
| Reolink | 130 | Prosumer, no-subscription, global |
| Dahua | 107 | Enterprise + consumer, global |
| Hanwha | 71 | Enterprise AI, Korea/global |
| Axis | 66 | Enterprise premium, global |
| Tapo (TP-Link) | 62 | Consumer budget, global |
| Eufy (Anker) | 36 | Consumer no-subscription, global |
| Arlo | 29 | Consumer premium wire-free, global |
| Ring (Amazon) | 25 | Consumer ecosystem, US/EU/AU |
| Avigilon | 24 | Enterprise NDAA, US/CA |
| Amcrest | 24 | Prosumer, US |
| Ubiquiti UniFi | 26 | Prosumer/SMB, US/global |
| Annke | 23 | Prosumer, global |
| Google Nest | 19 | Consumer smart home, global |
| Bosch | 22 | Enterprise, EU/global |
| EZVIZ (Hikvision) | 21 | Consumer, global |
| Lorex | 21 | Consumer NVR systems, CA/US |
| HiLook (Hikvision) | 20 | Budget installer, EU/UK/AU |
| Lupus Electronics | 20 | Privacy-first, DE/AT/CH |
| Tiandy | 20 | Enterprise + prosumer, CN/ME/Africa |
| Uniview | 15 | Enterprise NDAA, global |
| Blink (Amazon) | 16 | Budget battery, US/UK/EU |
| Swann | 16 | Consumer, AU/US/UK |
| ABUS | 15 | Consumer/SMB GDPR-first, DE/AT/CH |
| CP Plus | 14 | India #2 brand, IN |
| GeoVision | 15 | Enterprise, TW/Asia/global |
| IMOU (Dahua) | 15 | Consumer, global |
| Milesight | 15 | Prosumer/Enterprise IoT, global |
| Pelco | 15 | Enterprise legacy, NA/global |
| Vivotek | 15 | Enterprise AI, global |
| Wyze | 15 | Budget consumer, US |
| ACTi | 14 | Enterprise IP + analog, NDAA, TW/global |
| FLIR (Teledyne) | 12 | Thermal imaging, NA/EU |
| Kedacom | 12 | Enterprise, CN/global |
| Sunell | 12 | Prosumer/Enterprise, CN/global |
| SV3C | 13 | Budget consumer, CN/US |
| Synology | 12 | NAS-native cameras, global |
| TVT Digital | 12 | Prosumer budget, CN/IN/SE Asia |
| Hi-Focus | 10 | Made-in-India, BIS certified, IN |
| Mobotix | 9 | Enterprise GDPR-first, EU |
| Costar | 8 | Enterprise (Arecont successor), US |
| Intelbras | 8 | #1 Latin America, BR/AR/LATAM |
| Luma (Snap One) | 8 | Custom integrator, NA |
| Yale | 8 | Consumer smart home, UK/EU |
| Camius | 6 | Consumer direct, US |
| Cathexis | 6 | Enterprise VMS, ZA/ME |
| LaView | 6 | Consumer WiFi/solar/4G, US |
| March Networks | 6 | Enterprise retail/banking, NA |
| Netatmo | 6 | Privacy-first no-subscription, EU |
| Secureye | 6 | Budget consumer, IN |
| ADT | 4 | Monitored security, US |
| Hive (British Gas) | 5 | Consumer smart home, UK |
| KBvision | 5 | Budget installer, VN |
| Somfy | 3 | Smart home, FR/EU |
| Godrej | 4 | Consumer, IN |
| Honeywell | 4 | Enterprise, US/IN |
| Qubo (Hero) | 4 | Consumer IoT, IN |
| SimpliSafe | 4 | DIY monitored security, US |
| Zebronics | 4 | Budget consumer, IN |
| Aqara | 3 | Smart home HomeKit, EU/global |
| i-PRO (Panasonic) | 3 | Enterprise #1 Japan, JP/global |
| IDIS | 3 | Enterprise DirectIP, KR/global |
| Steinel | 3 | Outdoor smart light/cam, DE/AT/CH |
| Verkada | 3 | Cloud-managed enterprise, US/CA |
| Ajax | 2 | Professional alarm, EU/UK |
| Bosch Smart Home | 2 | Consumer smart home, DE/AT/CH |
| Canon | 2 | Enterprise optical, JP/global |
Market coverage
Cameras are tagged with markets[] where relevant:
| Market | Tagged cameras | Key brands |
|---|---|---|
| EU | 88 | ABUS, Netatmo, Aqara, Somfy, Axis |
| DE | 58 | ABUS, Lupus, Steinel, Bosch Smart Home |
| AT / CH | 40 each | ABUS, Lupus, Aqara, Netatmo |
| UK | 39 | Yale, Hive, Ajax, Ring, HiLook |
| global | 37 | Hikvision, Axis, Hanwha, i-PRO |
| IN | 32 | CP Plus, Qubo, Godrej, Zebronics |
| US | 28 | Wyze, Blink, Verkada, SimpliSafe, ADT |
| FR | 25 | Somfy, Netatmo, EZVIZ |
| AE / SA / MENA | 22 each | Hikvision, Dahua, Tapo, EZVIZ |
| VN | 9 | KBvision, Hikvision, Dahua, EZVIZ |
| JP | 6 | i-PRO, Canon, Tapo |
| KR | 5 | Hanwha, IDIS |
| AU | 13 | Swann, Reolink, Ring, Arlo, Eufy |
| CA | 13 | Lorex, Avigilon, Ring, Reolink |
| AR / BR / CL / LATAM | 10 each | Intelbras, Hikvision, Dahua, EZVIZ |
Schema
Each camera JSON follows schema/camera.schema.json. Required fields:
{
"id": "reolink-rlc-823a",
"brand": "Reolink",
"model": "RLC-823A",
"type": "bullet",
"resolution": { "megapixels": 8, "label": "4K UHD" }
}
Common optional fields:
| Field | Type | Example |
|---|---|---|
connectivity |
string[] |
["poe", "wifi", "ethernet"] |
night_vision.type |
string |
"color" / "ir" / "none" |
night_vision.range_m |
number |
30 |
power.method |
string |
"PoE (802.3af) / DC 12V" |
ip_rating |
string |
"IP67" |
audio.two_way |
boolean |
true |
protocols |
string[] |
["onvif", "rtsp"] |
markets |
string[] |
["UK", "EU", "DE"] |
msrp_usd / msrp_eur / msrp_gbp |
number |
79.99 |
features |
string[] |
["no subscription", "IP67"] |
sources |
string[] |
datasheet / retailer URLs |
See CONTRIBUTING.md for the full field reference and naming conventions.
Roadmap
- JSON Schema validation in CI (GitHub Actions)
- Static web frontend — search, filter, compare
- Side-by-side comparison view (2–4 cameras)
- Price history tracking (msrp over time)
- Frigate-compatible config export
- Home Assistant integration template
- API endpoint (read-only, hosted)
Community
| 🐛 Report a data error | Open a correction issue |
| ➕ Add a missing camera | Open a camera submission |
| 🔒 Report a security issue | GitHub Security Advisories |
| 💬 Code of conduct | CODE_OF_CONDUCT.md |
| 📋 Changelog | CHANGELOG.md |
Disclaimer
Specifications are compiled from manufacturer datasheets and reputable retailers and may contain errors or become outdated. Always confirm against the official datasheet (linked in each entry's sources array) before purchasing. Not affiliated with any manufacturer.
Comments