Documentación · Datos masivos

Archivos delta

En lugar de descargar una colección completa después de cada compilación, puede aplicar solo lo que cambió. Cada compilación publica los registros agregados, modificados y eliminados desde la compilación anterior.

Los archivos masivos se pueden descargar gratis, sin cuenta. El uso no comercial está cubierto por nuestra licencia de datos; el uso comercial requiere una licencia. Para verificar nombres de uno en uno, utilice la API de verificación.

Los deltas cubren las entidades FollowTheMoney de entities.ftm.json (los registros incluidos en la lista, no sus entidades Sanction). No hay deltas para los archivos CSV, de nombres ni de Senzing; reconstruya esos archivos a partir de sus entidades actualizadas o descárguelos de nuevo.

¿Qué es un delta?

En cada compilación se toma una huella de cada registro: el SHA-1 de su línea JSON completa. Al compararla con la huella de la compilación anterior se obtienen tres tipos de cambio:

OperaciónSignificadoQué hacer
ADDEl registro es nuevo en esta compilaciónInserte la entidad
MODAlgo cambió en el registroReemplace su copia por completo con esta entidad
DELEl registro ya no está en la colecciónElimine la entidad con este ID

Un cambio no siempre es un cambio en la fuente. Un registro también se marca como MOD cuando nuestro propio procesamiento lo modifica, por ejemplo por la corrección de un tipo de entidad, una nueva fusión (canonical_id) o una nueva fecha de confirmación (last_seen). Un registro puede salir de una colección porque su editor lo retiró o porque su registro ya no está autorizado para su redistribución.

Cómo usar los deltas

  1. Descargue la colección completa una vez y anote su version desde index.json.
  2. Más adelante, lea el deltas.json de la colección, que enumera las compilaciones recientes de la más antigua a la más reciente.
  3. Tome todas las compilaciones posteriores a su versión, en orden, y aplique el archivo delta de cada una. Las compilaciones sin cambios tienen "url": null; omítalas.
  4. Guarde la última versión que aplicó y repita el proceso.

Si su versión es anterior a la primera entrada de deltas.json (conservamos las últimas 30 compilaciones), la cadena se ha interrumpido: descargue de nuevo la colección completa.

/downloads/collections/<collection>/index.json     version of the current build
/downloads/collections/<collection>/deltas.json    recent builds, oldest first
/downloads/collections/<collection>/delta.json     changes in the current build only

Una entrada en deltas.json:

{
  "scope": "sanctions",
  "keep": 30,
  "versions": [
    {
      "version": "20261004012811-k2p",
      "previous_version": "20261003174737-un0",
      "generated_at": "2026-10-04T01:28:11.000Z",
      "added": 12,
      "modified": 40,
      "removed": 3,
      "url": "/downloads/collections/sanctions/deltas/20261004012811-k2p.json",
      "bytes": 48213,
      "sha256": "…"
    }
  ],
  "oldest_version": "20261004012811-k2p",
  "latest_version": "20261004012811-k2p"
}

Los valores anteriores muestran el formato; no son cifras reales. La lista actualizada está a continuación.

Compilaciones recientes

VersiónCompiladaAgregadoModificadosEliminadosArchivo delta
Cargando…

Mientras el registro no se actualiza, las compilaciones no detectan cambios y no publican ningún archivo delta. Consulte actualización de datos para saber cuándo se procesaron los datos por última vez.

Cómo entender los archivos delta

Un archivo delta es JSON lines: una operación por línea, cada una con op y entity. ADD y MOD incluyen la entidad completa, exactamente como aparece en entities.ftm.json; DEL incluye solo el ID.

{"op":"ADD","entity":{"id":"crown-380054154","caption":"PELIKAN","schema":"Vessel","properties":{…},"datasets":["paris_mou_banned"],…}}
{"op":"MOD","entity":{"id":"crown-379700342","caption":"CHIRURGUL","schema":"Person","properties":{…},…}}
{"op":"DEL","entity":{"id":"crown-378468435"}}
import json

def apply_delta(store: dict, path: str):
    """store maps record id -> entity"""
    with open(path, encoding="utf-8") as f:
        for line in f:
            change = json.loads(line)
            entity = change["entity"]
            if change["op"] == "DEL":
                store.pop(entity["id"], None)
            else:  # ADD or MOD: replace in full
                store[entity["id"]] = entity

Fusiones y cambios de ID

El ID de un registro (crown-<number>) corresponde a una fila de un registro de origen; fusionar registros no lo cambia. Una fusión aparece como operaciones MOD que agregan o modifican canonical_id en cada registro involucrado, y una división lo elimina o lo modifica. Si agrupa los registros por canonical_id, vuelva a agrupar los registros mencionados en cada MOD. Si un editor vuelve a emitir una inclusión con una nueva referencia, espere un DEL para el registro anterior y un ADD para el nuevo. Consulte identificadores y deduplicación.

Pendiente de publicar: nuestra política sobre la estabilidad de los ID de registro entre recargas del registro y cualquier período de gracia antes de que desaparezca un ID retirado.

Última actualización 2026-10-03