Documentação da API

Integre filmes, séries, canais de TV, calendários e jogos em tempo real em suas aplicações

Obter API Key Testar API

Visão Geral

URL Base: https://looflix.fun/api/v1/

A API Externa do LooFlix permite que desenvolvedores integrem conteúdo de streaming em suas aplicações. Todos os endpoints retornam dados em formato JSON e requerem autenticação via API Key.

O sistema inclui monetização automática através de propagandas, que são inseridas nas respostas baseado na configuração da sua API Key.

Autenticação

Todas as requisições requerem autenticação via API Key. Você pode obter uma API Key através do painel admin.

Métodos de Autenticação

Header Authorization: Bearer YOUR_API_KEY

Método recomendado. Envie a API Key no header Authorization.

Header X-API-Key: YOUR_API_KEY

Alternativa ao método Authorization.

Query ?api_key=YOUR_API_KEY

Envie a API Key como parâmetro na URL.

curl -H "Authorization: Bearer YOUR_API_KEY" \
     https://looflix.fun/api/v1/movies.php
fetch('https://looflix.fun/api/v1/movies.php', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
})
.then(response => response.json())
.then(data => console.log(data));
$ch = curl_init('https://looflix.fun/api/v1/movies.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer YOUR_API_KEY'
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
import requests

headers = {
    'Authorization': 'Bearer YOUR_API_KEY'
}
response = requests.get(
    'https://looflix.fun/api/v1/movies.php',
    headers=headers
)
data = response.json()

Rate Limiting

Limites: Cada API Key possui limites configuráveis de requisições por hora e por minuto.
  • Por hora: Padrão 1000 requisições (configurável)
  • Por minuto: Padrão 100 requisições (configurável)
  • Quando o limite é excedido, a API retorna status 429 Too Many Requests

Endpoints

Nossa API oferece 4 endpoints principais para diferentes tipos de conteúdo:

  • Filmes - Catálogo completo de filmes
  • Canais TV - Lista de canais de TV ao vivo
  • Jogos/Placar - Jogos de futebol em tempo real
  • Calendário - Lançamentos de filmes e séries

Filmes

GET /api/v1/movies.php

Lista filmes disponíveis no catálogo com paginação e filtros avançados.

Parâmetros de Query

Parâmetro Tipo Descrição Padrão
page integer Número da página 1
limit integer Itens por página (máx 100) 20
search string Buscar por título -
genre integer ID do gênero -
year integer Filtrar por ano -
sort_by string popularity, vote_average, release_date, title popularity
sort_order string ASC ou DESC DESC
curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://looflix.fun/api/v1/movies.php?page=1&limit=20"
fetch('https://looflix.fun/api/v1/movies.php?page=1&limit=20', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
})
.then(response => response.json())
.then(data => {
  if (data.success) {
    console.log('Filmes:', data.data);
    console.log('Total:', data.pagination.total);
  }
});

Exemplo de Resposta

{
  "success": true,
  "data": [
    {
      "id": 1,
      "tmdb_id": 12345,
      "title": "Nome do Filme",
      "overview": "Sinopse...",
      "poster": "https://image.tmdb.org/t/p/w500/poster.jpg",
      "backdrop": "https://image.tmdb.org/t/p/w1280/backdrop.jpg",
      "release_date": "2024-01-01",
      "rating": 8.5,
      "vote_count": 1000,
      "popularity": 85.5,
      "runtime": 120
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 100,
    "total_pages": 5
  },
  "ads": [],
  "meta": {
    "response_time": 0.1234,
    "ads_shown": 0,
    "revenue_generated": 0
  }
}

Canais de TV

GET /api/v1/channels.php

Lista canais de TV disponíveis para streaming ao vivo.

Parâmetros de Query

Parâmetro Tipo Descrição Padrão
page integer Número da página 1
limit integer Itens por página (máx 100) 20
search string Buscar por nome -
category string Filtrar por categoria -
status string active ou inactive active
curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://looflix.fun/api/v1/channels.php?category=Esportes"
fetch('https://looflix.fun/api/v1/channels.php?category=Esportes', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
})
.then(response => response.json())
.then(data => {
  if (data.success) {
    data.data.forEach(channel => {
      console.log(channel.name, '-', channel.category);
    });
  }
});

Exemplo de Resposta

{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Globo",
      "logo": "https://example.com/logo.png",
      "category": "Abertos",
      "country": "Brasil",
      "stream_url": "https://example.com/stream.m3u8",
      "description": "Descrição do canal",
      "status": "active"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 50,
    "total_pages": 3
  }
}

Jogos/Placar

GET /api/v1/games.php

Lista jogos de futebol ao vivo e próximos. Por padrão, retorna os jogos do dia atual.

Parâmetros de Query

Parâmetro Tipo Descrição Padrão
date string Data no formato YYYY-MM-DD Hoje
status string all, live, upcoming, finished all
league string Nome da liga/campeonato -
limit integer Limite de resultados (máx 100) Sem limite
# Jogos de hoje
curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://looflix.fun/api/v1/games.php"

# Apenas jogos ao vivo
curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://looflix.fun/api/v1/games.php?status=live"

# Jogos de uma data específica
curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://looflix.fun/api/v1/games.php?date=2024-01-20"
// Jogos de hoje
fetch('https://looflix.fun/api/v1/games.php', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
})
.then(response => response.json())
.then(data => {
  if (data.success) {
    console.log('Total:', data.stats.total);
    console.log('Ao vivo:', data.stats.live);
    
    data.data.forEach(game => {
      if (game.status === 'live') {
        console.log(`${game.home_team.name} ${game.score.display} ${game.away_team.name}`);
      }
    });
  }
});

Exemplo de Resposta

{
  "success": true,
  "data": [
    {
      "id": "game_123",
      "league": "La Liga",
      "home_team": {
        "name": "Real Madrid",
        "image": "https://example.com/logo.png",
        "score": 2
      },
      "away_team": {
        "name": "Barcelona",
        "image": "https://example.com/logo.png",
        "score": 1
      },
      "status": "live",
      "status_label": "AO VIVO",
      "start_time_formatted": "20:00",
      "game_time": "45",
      "score": {
        "display": "2 - 1"
      }
    }
  ],
  "date": "2024-01-15",
  "stats": {
    "total": 10,
    "live": 2,
    "upcoming": 5,
    "finished": 3
  }
}

Calendário

GET /api/v1/calendar.php

Lista lançamentos de filmes e séries por data.

Parâmetros de Query

Parâmetro Tipo Descrição Padrão
type string all, movies, series all
start_date string Data inicial (YYYY-MM-DD) Hoje
end_date string Data final (YYYY-MM-DD) +30 dias
page integer Número da página 1
limit integer Itens por página (máx 100) 20
# Lançamentos dos próximos 30 dias
curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://looflix.fun/api/v1/calendar.php"

# Apenas filmes
curl -H "Authorization: Bearer YOUR_API_KEY" \
     "https://looflix.fun/api/v1/calendar.php?type=movies"
// Lançamentos dos próximos 30 dias
fetch('https://looflix.fun/api/v1/calendar.php', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY'
  }
})
.then(response => response.json())
.then(data => {
  if (data.success) {
    data.data.forEach(item => {
      console.log(`${item.title} - ${item.release_date}`);
    });
  }
});

Exemplo de Resposta

{
  "success": true,
  "data": [
    {
      "id": 1,
      "tmdb_id": 12345,
      "type": "movie",
      "title": "Novo Filme",
      "overview": "Sinopse...",
      "poster": "https://image.tmdb.org/t/p/w500/poster.jpg",
      "release_date": "2024-01-15",
      "rating": 8.0
    }
  ],
  "date_range": {
    "start": "2024-01-01",
    "end": "2024-01-31"
  }
}

Sistema de Propagandas

As propagandas são inseridas automaticamente nas respostas da API baseado na configuração da sua API Key:

  • Proporção de Propagandas: Configurável (padrão 30%)
  • Tipos: Banner, Popup, Native, Video
  • Receita: Calculada por impressão e clique
Monetização: Você pode configurar propagandas específicas para cada API Key no painel admin.

Códigos de Status HTTP

Código Descrição
200 Sucesso
400 Requisição inválida
401 Não autenticado (API Key inválida)
403 Proibido (API Key suspensa/expirada)
405 Método não permitido
429 Rate limit excedido
500 Erro interno do servidor

Testar API

Testador Interativo

Resultado:


                        
Grupo Telegram