Gray Zone Warfare — Comprehensive fan-made game data repository & API.
Automatically scraped from the GZW Fandom Wiki — covers 120+ game categories with automatic discovery of new ones.
# Raw data (no API needed)
curl https://raw.githubusercontent.com/ZoniBoy00/gzw-data/main/data/weapons.json
# Or via the API (auto-deployed)
curl https://gzw-data.vercel.app/api/weapons
curl https://gzw-data.vercel.app/api/keys?type=Keycard
curl https://gzw-data.vercel.app/api/medicalBase URL: https://gzw-data.vercel.app
| Endpoint | Description |
|---|---|
/api |
API root — lists all endpoints |
/api/<dataset> |
Any dataset by name (auto-discovered) |
/api/stats |
Item counts for all datasets |
/api/search?q= |
Cross-dataset search |
/api/spec |
OpenAPI 3.0 spec |
/api/images |
All item images (400+) |
/api/armor |
Smart route: vests + helmets + glasses |
/api/weapon_parts |
Smart route: all weapon parts combined |
/api/helmet_mods |
Smart route: night vision + mounts |
| Param | Example | Description |
|---|---|---|
?field=value |
?type=Keycard |
Filter by any string field |
?search= |
?search=ak |
Free text search across all fields |
?sort= |
?sort=name:asc |
Sort results by field |
?page= |
?page=2 |
Page number (default: 1) |
?per_page= |
?per_page=10 |
Items per page (default: 50, max: 500) |
?all=true |
?all=true |
Disable pagination, return all results |
?limit= |
?limit=5 |
Cap results (applied after filters) |
- 100 requests/minute/IP
- Headers:
X-RateLimit-Limit,X-RateLimit-Remaining,X-RateLimit-Reset - Returns
429withRetry-Afterheader when exceeded
All data endpoints include Cache-Control: public, max-age=300 headers. CDN and browser caching are encouraged.
{
"data": [ ... ],
"count": 10,
"page": 2,
"perPage": 10,
"total": 44,
"totalPages": 5,
"source": "GZW Data API",
"timestamp": "2026-07-28T12:00:00.000Z"
}Unpaginated responses omit page, perPage, total, totalPages.
Every .json file in data/ is auto-discovered and becomes an API endpoint. New categories appear automatically — no code changes needed.
| Category | Files | Items |
|---|---|---|
| Weapons | weapons.json |
44+ |
| Ammo | ammo.json |
67+ |
| Armor | vests.json, helmets.json |
60+ |
| Backpacks | backpacks.json |
17+ |
| Keys | keys.json, keycards.json |
124+ |
| Tasks | tasks.json |
130+ |
| Medical | medical.json |
34+ |
| Weapon parts | barrels.json, stocks.json, magazines.json, etc. |
200+ |
| Wearables | glasses.json, face_cover.json, headsets.json, etc. |
100+ |
| Loot | loot_items.json |
120+ |
Scraper runs every Monday at 06:00 UTC via GitHub Actions. Data is validated before commit — corrupt or empty datasets are rejected.
All endpoints return consistent JSON:
{
"data": [ ... ],
"count": 44,
"source": "GZW Data API",
"timestamp": "2026-07-28T12:00:00.000Z"
}