Ready to integrate CS2 highlights into your application? Join our Discord to get started!
Production:
https://api.csclips.com
/highlights
Fetch highlights based on demo URL, Steam ID, or both parameters.
Parameter | Type | Required | Description |
---|---|---|---|
demoUrl | string | No* | URL of the demo file |
steamId | string | No* | Steam ID of the player |
*At least one parameter is required
Get all highlights for a specific player:
curl "https://api.csclips.com/highlights?steamId=76561198123456789"
Get all highlights from a specific demo:
curl "https://api.csclips.com/highlights?demoUrl=https://replay123.valve.net/730/003524143285830164508_0772629009.dem.bz2"
Get highlights for a specific player in a specific demo:
curl "https://api.csclips.com/highlights?demoUrl=https://replay123.valve.net/730/003524143285830164508_0772629009.dem.bz2&steamId=76561198123456789"
Success Response (200):
{ "success": true, "data": [ { "highlight": { "id": "550e8400-e29b-41d4-a716-446655440000", "clipURL": "https://storage.csclips.com/highlights/abc123.mp4", "thumbnailURL": "https://storage.csclips.com/highlights/abc123.webp", "viewCount": 42 }, "match": { "id": "550e8400-e29b-41d4-a716-446655440001", "matchId": "CSGO-ABC123-DEF456-GHI789-JKL012", "demoUrl": "https://replay123.valve.net/730/003524143285830164508_0772629009.dem.bz2", "map": "de_mirage", "date": "2024-01-01T10:00:00Z" } } ], "count": 1 }
Error Response (400) - Missing Parameters:
{ "success": false, "error": "At least one of 'demoUrl' or 'steamId' query parameters is required" }
Error Response (500) - Server Error:
{ "success": false, "error": "Internal server error" }
/highlights/:id/view
Increment the view count for a specific highlight.
Parameter | Type | Required | Description |
---|---|---|---|
id | string (UUID) | Yes | Highlight ID (path parameter) |
curl -X POST "https://api.csclips.com/highlights/550e8400-e29b-41d4-a716-446655440000/view"
Success Response (200):
{ "success": true, "viewCount": 43 }
Error Response (400) - Highlight Not Found:
{ "success": false, "error": "No highlight exists" }
// Fetch highlights for a player const response = await fetch('https://api.csclips.com/highlights?steamId=76561198123456789'); const data = await response.json(); if (data.success) { console.log(`Found ${data.count} highlights`); data.data.forEach(item => { console.log(`Clip: ${item.highlight.clipURL}`); console.log(`Map: ${item.match.map}`); }); } // Increment view count await fetch('https://api.csclips.com/highlights/550e8400-e29b-41d4-a716-446655440000/view', { method: 'POST' });
Currently, no authentication is required for these endpoints.
No rate limiting is currently implemented.
API access is currently restricted to csclips.com and affiliated domains.
Response: application/json
Get all highlights for a player
GET /highlights?steamId=76561198123456789
Get all highlights from a specific demo
GET /highlights?demoUrl=https://replay123.valve.net/730/...
Get highlights for a player in a specific match
GET /highlights?demoUrl=...&steamId=76561198123456789
Track when users watch highlights
POST /highlights/550e8400-e29b-41d4-a716-446655440000/view
Join our Discord community to request API access, get help with integration, and stay updated on new features.
Join Discord Community