Chargement...
Chargement...
Integrate CineGeny data into your apps. Public API, no authentication required, standard JSON.
https://cinegeny.com/api/v1/api/v1/filmsLists all public films with pagination, genre/status filters and sorting.
| Name | Type | Description |
|---|---|---|
page | number | Page number (default: 1) |
limit | number | Results per page (1-50, default: 20) |
genre | string | Filter by genre (DRAMA, COMEDY, ACTION, etc.) |
status | string | Filter by status (IN_PRODUCTION, RELEASED, etc.) |
sort | string | Sort: recent (default), title, progress |
{
"data": [
{
"id": "clx...",
"title": "Le Dernier Spectacle",
"slug": "le-dernier-spectacle",
"genre": "DRAMA",
"status": "IN_PRODUCTION",
"synopsis": "Un ancien projectionniste...",
"coverImageUrl": "/images/films/...",
"progressPct": 35,
"phasesCount": 10,
"tasksCount": 47,
"createdAt": "2026-01-15T10:00:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 20,
"totalPages": 1
}
}/api/v1/films/:idFilm detail by ID or slug. Includes production phases and counters.
| Name | Type | Description |
|---|---|---|
id | string | Unique ID or slug of the film |
{
"data": {
"id": "clx...",
"title": "Le Dernier Spectacle",
"slug": "le-dernier-spectacle",
"genre": "DRAMA",
"catalog": "LUMIERE_ORIGINAL",
"status": "IN_PRODUCTION",
"synopsis": "...",
"coverImageUrl": "...",
"trailerUrl": null,
"progressPct": 35,
"estimatedBudget": 50000,
"createdAt": "2026-01-15T10:00:00.000Z",
"phases": [
{
"id": "...",
"phaseName": "PRE_PRODUCTION",
"status": "COMPLETED",
"order": 1,
"tasksCount": 8
}
],
"counts": {
"tasks": 47,
"scenarios": 3
}
}
}/api/v1/statsPublic platform statistics. Cached data (5 min TTL via Redis).
{
"data": {
"films": 20,
"tasksCompleted": 156,
"contributors": 42,
"scenarios": 18,
"timestamp": "2026-02-24T14:30:00.000Z"
}
}/api/v1/contributorsLeaderboard of verified contributors by reputation score. Includes skills and points.
| Name | Type | Description |
|---|---|---|
page | number | Page number (default: 1) |
limit | number | Results per page (1-50, default: 20) |
{
"data": [
{
"id": "clx...",
"displayName": "Alice Martin",
"avatarUrl": null,
"role": "CONTRIBUTOR",
"level": "EXPERT",
"points": 2450,
"reputationScore": 92,
"skills": ["acting", "voice", "editing"],
"tasksCompleted": 34
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 42,
"totalPages": 3
}
}// Liste des films
const res = await fetch('https://cinegeny.com/api/v1/films?limit=5&genre=DRAMA')
const { data, pagination } = await res.json()
console.log(data) // Film[]
console.log(pagination.total) // nombre total
// Detail d'un film par slug
const film = await fetch('https://cinegeny.com/api/v1/films/le-dernier-spectacle')
const { data: filmDetail } = await film.json()
// Statistiques de la plateforme
const stats = await fetch('https://cinegeny.com/api/v1/stats')
const { data: platformStats } = await stats.json()curl -s https://cinegeny.com/api/v1/films | jq .
curl -s https://cinegeny.com/api/v1/stats | jq .
curl -s "https://cinegeny.com/api/v1/contributors?limit=5" | jq .The API is public and currently has no hard limit. Rate limiting will be added in a future version. Please do not exceed 60 requests per minute.
All responses are JSON. On error, the format is { "error": "message" } with the matching HTTP status (404, 500, etc.).