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:
| Field | Description |
|---|---|
callbackUrl | A webhook URL where the download link will be POSTed when ready |
callbackEmail | An email address to receive the download link |
2. Processing
Once your request is submitted, here's what happens behind the scenes:
- Your request is queued.
- A background job picks up new requests.
- The shape query runs against all accessible graphs, and the matching entities are packaged into a ZIP
file containing a single JSON-LD file. - 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:
- Request a subscription via
POST /v1/kg/data-packages/subscriptions. - The data package owner approves (or rejects) your request.
- 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.
Updated 1 day ago
