API

ETSO ofrece una API pública para consultar las obras y los autores del catálogo y reutilizar sus identificadores, títulos, atribuciones, resultados estilométricos y enlaces.

La información se entrega en formato JSON y puede utilizarse para integrar los datos de ETSO en catálogos, visualizaciones, buscadores o herramientas de investigación.

Endpoints

GET /api/obras

Devuelve el catálogo completo de obras con sus metadatos públicos.

GET /api/obras/{id-publicId-o-slug}

Devuelve una sola obra usando su identificador o su slug público.

GET /api/autores

Devuelve el listado completo de autores con sus metadatos y las cinco categorías de obras relacionadas.

GET /api/autores/{id-o-key}

Devuelve los metadatos y las cinco categorías de obras de un autor usando su id numérico o su clave textual.

Seleccionar campos de la respuesta

Los cuatro endpoints aceptan el parámetro opcional fields con los nombres de campos públicos de primer nivel separados por comas. Las tablas siguientes describen los campos de cada recurso. Seleccionar un objeto, como resources, devuelve ese objeto público completo.

Sin fields se devuelven todos los campos públicos. La selección conserva las envolturas authors, author, works o work y los metadatos meta que correspondan. Una selección vacía, un campo desconocido o privado, o una ruta anidada como resources.work devuelve HTTP 400.

https://etso.es/api/obras/690677?fields=publicId,displayTitle
{
  "meta": {
    "contentPolicy": {
      "includesFullText": false,
      "includesSummaries": false,
      "excludedFields": [
        "fullText",
        "text",
        "shortSummary",
        "summaryText",
        "resumen_breve",
        "resumen_largo"
      ]
    }
  },
  "work": {
    "publicId": 690677,
    "displayTitle": "La francesa Laura"
  }
}

Metadatos de las obras

CampoDescripción
idIdentificador estable de la obra.
publicIdIdentificador público numérico estable de la obra.
slugIdentificador legible usado en las URLs públicas.
titleTítulo tal como viene en la base de datos, incluido el artículo final cuando exista.
displayTitleTítulo transformado con el mismo proceso que utiliza la web de ETSO.
titleVariantsOtros títulos de la obra tal como vienen en la base de datos.
displayTitleVariantsOtros títulos transformados con el mismo proceso que utiliza la web.
genreGénero de la obra.
originProcedencia o fuente del texto usado por ETSO.
textStateEstado del texto dentro del catálogo.
addedOnFecha de incorporación al catálogo, cuando consta.
bitesoPublishedOnFecha de publicación en BITESO; null si no consta.
summaryPublishedOnFecha de publicación del resumen; null si no consta.
resultado1Resultado estilométrico de la obra en forma de frase.
flagsIndicadores booleanos sobre informe, resumen, examen de autorías y acceso textual.
traditionalAttributionTextAtribución tradicional lista para mostrar.
traditionalAttributionPhraseFrase de atribución tradicional con texto, Markdown, HTML y partes enlazables.
stylometryAttributionTextAtribución estilométrica lista para mostrar.
traditionalAttributionAtribución tradicional normalizada.
stylometryAttributionAtribución estilométrica normalizada.
resourcesEnlaces públicos relacionados dentro de ETSO.

Dentro de las atribuciones, authorId es el identificador público numérico del autor y authorKey es la clave textual usada en las URLs de ETSO. Son propiedades de los objetos de atribución, no campos de primer nivel.

Ejemplo de respuesta completa

Consulta de una obra concreta y respuesta completa:

https://etso.es/api/obras/690677
{
  "meta": {
    "contentPolicy": {
      "includesFullText": false,
      "includesSummaries": false,
      "excludedFields": [
        "fullText",
        "text",
        "shortSummary",
        "summaryText",
        "resumen_breve",
        "resumen_largo"
      ]
    }
  },
  "work": {
    "id": "DESCONOCIDO_FrancesaLaura",
    "publicId": 690677,
    "slug": "la-francesa-laura",
    "title": "Francesa Laura, La",
    "displayTitle": "La francesa Laura",
    "titleVariants": [],
    "displayTitleVariants": [],
    "genre": "Comedia",
    "origin": "El texto procede de la edición crítica de Álvaro Cuéllar y Germán Vega García-Luengos (Gredos, 2023).",
    "textState": "Bueno",
    "addedOn": "2021/03",
    "bitesoPublishedOn": "2026-06-18",
    "summaryPublishedOn": "2026-06-18",
    "resultado1": "Los analisis de estilometria permiten asociar esta obra de forma clara con el perfil autorial de Lope de Vega Carpio.",
    "flags": {
      "inAuthorshipExam": true,
      "hasSummary": true,
      "hasReport": true,
      "hasTextAccess": true
    },
    "traditionalAttributionText": "Lope de Vega Carpio",
    "traditionalAttributionPhrase": {
      "text": "Obra atribuida a Lope de Vega Carpio.",
      "markdown": "Obra atribuida a [Lope de Vega Carpio](https://etso.es/autores/vega_carpio_lope_de).",
      "html": "Obra atribuida a <a href=\"/autores/vega_carpio_lope_de\">Lope de Vega Carpio</a>.",
      "parts": [
        {
          "kind": "text",
          "value": "Obra atribuida a "
        },
        {
          "kind": "author",
          "value": "Lope de Vega Carpio",
          "authorId": 364,
          "authorKey": "vega_carpio_lope_de",
          "href": "/autores/vega_carpio_lope_de",
          "url": "https://etso.es/autores/vega_carpio_lope_de"
        },
        {
          "kind": "text",
          "value": "."
        }
      ]
    },
    "stylometryAttributionText": "Lope de Vega Carpio [Segura]",
    "traditionalAttribution": {
      "groups": [
        {
          "members": [
            {
              "authorId": 364,
              "authorKey": "vega_carpio_lope_de",
              "authorName": "Lope de Vega Carpio"
            }
          ]
        }
      ],
      "connector": "and",
      "rawExpression": "vega_carpio_lope_de"
    },
    "stylometryAttribution": {
      "groups": [
        {
          "members": [
            {
              "authorId": 364,
              "authorKey": "vega_carpio_lope_de",
              "authorName": "Lope de Vega Carpio",
              "confidence": "segura"
            }
          ]
        }
      ],
      "connector": "and",
      "rawExpression": "vega_carpio_lope_de[segura]"
    },
    "resources": {
      "work": "/obras/la-francesa-laura",
      "summary": "/obras/la-francesa-laura/resumen",
      "report": "/informes/analisis-estilometrico-la-francesa-laura",
      "textAccess": [
        {
          "label": "Texto BITESO",
          "href": "/biteso/la-francesa-laura",
          "kind": "biteso"
        }
      ]
    }
  }
}

Autores y obras relacionadas

El id numérico del autor es el identificador de ETSO y coincide con authorId en las atribuciones de las obras. La clave key identifica al autor en las URLs de ETSO.

CampoDescripción
idIdentificador público numérico del autor; coincide con authorId en las atribuciones de las obras.
keyClave textual usada en las URLs del autor.
nameNombre del autor.
nameVariantsVariantes del nombre del autor.
resourcesEnlaces a la ficha pública del autor: author es la ruta y url, la URL absoluta.

Obras por autor

Cada autor incluye cinco arrays de publicId numéricos de obras (number[]), correspondientes a las cinco categorías de su ficha en Examen de autorías. Solo se incluyen obras de ese examen y se aplican los mismos criterios que en la web: se admiten atribuciones probables o posibles y colaboraciones; las atribuciones tradicionales o estilométricas sin resolver se excluyen de su lado correspondiente. La inclusión no implica autoría segura ni exclusiva.

Cada categoría sin obras devuelve []. Las categorías se calculan para el autor consultado. Cada publicId de obra permite consultar /api/obras/{publicId} o enlazar a https://etso.es/obras/{publicId}, que redirige a la ficha canónica.

CampoDescripción
relatedWorkPublicIdsObras relacionadas con el autor: atribución tradicional o estilométrica.
traditionalWorkPublicIdsObras respaldadas por la tradición.
stylometryWorkPublicIdsObras respaldadas por la estilometría.
traditionalOnlyWorkPublicIdsObras respaldadas solo por la tradición: sin respaldo estilométrico para este autor.
newStylometrySupportedWorkPublicIdsNovedades respaldadas por la estilometría: sin atribución tradicional a este autor.

Todos los autores y sus cinco listas de obras

https://etso.es/api/autores

Un autor y sus cinco listas de obras

https://etso.es/api/autores/374

Solo las obras relacionadas con un autor

https://etso.es/api/autores/374?fields=id,relatedWorkPublicIds

Uso recomendado

Las respuestas se sirven con caché pública: public, max-age=3600, s-maxage=86400, stale-while-revalidate=604800. Para integraciones externas se recomienda cachear localmente la respuesta y no llamar a la API en cada renderizado.

Seleccionar campos reduce el tamaño de la respuesta y la transferencia de datos. Por sí solo no reduce el número de peticiones ni elimina todas las consultas a la base de datos.