API

Ce este un API?

Un API (Application Programming Interface) este o interfață ce permite comunicarea de date între mai multe aplicații software. (mai multe informații)

Documentație API v1.0 BETA

Noua versiune a API-ului nostru oferă acces programatic la baza de date de subtitrări, permițând căutarea după IMDB ID, TMDB ID, titlu sau release.

Specificație OpenAPI 3.0

Afișează specificația OpenAPI (YAML)
openapi: 3.0.0
info:
  title: Subs.ro API
  description: API for searching and downloading subtitles from subs.ro.
  version: 1.0.0
servers:
  - url: https://subs.ro/api/v1.0
    description: API v1.0
paths:
  /search/{searchField}/{value}:
    get:
      summary: Search for subtitles
      parameters:
        - name: searchField
          in: path
          required: true
          schema:
            type: string
            enum: [imdbid, tmdbid, title, release]
        - name: value
          in: path
          required: true
          schema:
            type: string
        - name: language
          in: query
          required: false
          schema:
            type: string
            enum: [ro, en, ita, fra, ger, ung, gre, por, spa, alt]
      responses:
        '200':
          description: A list of subtitles
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
        '400':
          $ref: '#/components/responses/ErrorResponse'

  /subtitle/{id}:
    get:
      summary: Get subtitle details
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: Subtitle details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailsResponse'
        '404':
          $ref: '#/components/responses/ErrorResponse'

  /subtitle/{id}/download:
    get:
      summary: Download subtitle archive
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: Binary archive file
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        '404':
          $ref: '#/components/responses/ErrorResponse'

components:
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Subs-Api-Key
    ApiKeyQuery:
      type: apiKey
      in: query
      name: apiKey
  security:
    - ApiKeyHeader: []
    - ApiKeyQuery: []

  schemas:
    SubtitleItem:
      type: object
      properties:
        id:
          type: integer
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        description:
          type: string
        link:
          type: string
        downloadLink:
          type: string
        title:
          type: string
        year:
          type: integer
        imdbid:
          type: string
        tmdbid:
          type: integer
        poster:
          type: string
        translator:
          type: string
        language:
          type: string
        type:
          type: string
          enum: [movie, series]

    Meta:
      type: object
      properties:
        requestId:
          type: string

    SearchResponse:
      type: object
      properties:
        status:
          type: integer
        meta:
          $ref: '#/components/schemas/Meta'
        count:
          type: integer
        items:
          type: array
          items:
            $ref: '#/components/schemas/SubtitleItem'

    DetailsResponse:
      type: object
      properties:
        status:
          type: integer
        meta:
          $ref: '#/components/schemas/Meta'
        item:
          $ref: '#/components/schemas/SubtitleItem'

  responses:
    ErrorResponse:
      description: Error response
      content:
        application/json:
          schema:
            type: object
            properties:
              status:
                type: integer
              message:
                type: string
              meta:
                $ref: '#/components/schemas/Meta'

Acces și Autentificare

Pentru a folosi API-ul, aveți nevoie de o cheie de acces (API Key) pe care o puteți genera din profilul dumneavoastră de utilizator. Fiecare cheie are o cotă zilnică de interogări pentru a asigura stabilitatea serviciului.

Changelog

  • 2025-12-26
  • Lansarea versiunii 1.0 a noului API REST.
  • Suport pentru căutare avansată (IMDB, TMDB, Titlu, Release).
  • Sistem de autentificare securizat și monitorizare cote.
  • 2023-01-21
  • API-ul a fost pentru moment dezactivat.
  • 2014-01-20
  • Lansarea primei versiuni a API-ului public.