Data Packages

Data Packages let you export curated sets of knowledge graph entities as downloadable ZIP files. Each package is defined by a shape query that determines which entities are included — think of it as a saved filter for bulk data export.

How it works

Data package exports are on-demand — they are not generated automatically on a schedule. To receive an
export, you trigger it via an API request and get notified once it's ready.

1. Request an export

Send a POST request to kick off the export:

POST /v1/kg/data-packages/{dataPackageId}/request

In the request body, provide at least one delivery method:

FieldDescription
callbackUrlA webhook URL where the download link will be POSTed when ready
callbackEmailAn email address to receive the download link

2. Processing

Once your request is submitted, here's what happens behind the scenes:

  1. Your request is queued.
  2. A background job picks up new requests.
  3. The shape query runs against all accessible graphs, and the matching entities are packaged into a ZIP
    file
    containing a single JSON-LD file.
  4. The ZIP is uploaded, and you are notified via your chosen callback method — either a POST to your webhook
    URL or an email with the download link.

3. Download

You can also retrieve the latest export directly:

GET /v1/kg/data-packages/{dataPackageId}/download

This returns a redirect to the ZIP file.

Caching

If an identical export was already generated within the last 24 hours, the existing download URL is reused — no redundant processing. After 24 hours, a new request triggers a fresh export.

Subscriptions

Before you can request exports, your organization needs an approved subscription to the data package:

  1. Request a subscription via POST /v1/kg/data-packages/subscriptions.
  2. The data package owner approves (or rejects) your request.
  3. Once approved, you can start requesting exports.

Setting up regular updates

There is no built-in automatic refresh schedule. If you need the data to be updated regularly, set up a cron job on your side that calls the request endpoint at your desired interval (e.g., daily or weekly). Each call triggers a fresh export and delivers it to your webhook or email.