How to Access Reports Data via API
You can retrieve both metadata and detailed output files of your compliance reports directly from the Didomi API.
1. Authentication
To use the API, you need a private API key.
👉 Learn how to find your API key
Once you have your key, include it in the request header:
-H "Authorization: Bearer YOUR_API_KEY"
2. Fetch Report Metadata
To retrieve a specific report, send a GET request to:
GET https://api.didomi.io/v1/reports/compliances/reports/{REPORT_ID}
-
Replace
{REPORT_ID}with the unique ID of your report. -
By default, the response only includes metadata (status, creation date, parameters, etc.).
3. Retrieve Report Outputs
To also fetch download links for the generated output files, add the with[]=outputs query parameter:
GET https://api.didomi.io/v1/reports/compliances/reports/{REPORT_ID}?with[]=outputs
The response will include an outputs object with pre-signed URLs for all files stored in S3.
4. Example Response
{
"id": "abc123",
"status": "completed",
"created_at": "2025-09-25T10:12:34Z",
"parameters": {
"start_date": "2025-08-01",
"end_date": "2025-08-31"
},
"outputs": {
"report.json": "https://s3.amazonaws.com/.../report.json",
"report_aggregated_trackers.json": "https://s3.amazonaws.com/.../report_aggregated_trackers.json",
"report_aggregated_vendors.json": "https://s3.amazonaws.com/.../report_aggregated_vendors.json",
"report_aggregated_vendors_graph_edges.json": "https://s3.amazonaws.com/.../report_aggregated_vendors_graph_edges.json",
"report_aggregated_vendors_graph_nodes.json": "https://s3.amazonaws.com/.../report_aggregated_vendors_graph_nodes.json",
"report_privacy.json": "https://s3.amazonaws.com/.../report_privacy.json",
"report_raw_trackers.json": "https://s3.amazonaws.com/.../report_raw_trackers.json",
"task.json": "https://s3.amazonaws.com/.../task.json",
"ibascc/proof_of_scan.gif": "https://s3.amazonaws.com/.../proof_of_scan.gif",
"ibascc/proof_of_scan.har": "https://s3.amazonaws.com/.../proof_of_scan.har"
}
}
5. Important Notes
-
⏳ Expiration: Pre-signed URLs expire 10 minutes after the request.
-
🔄 Refreshing links: Run the request again with
?with[]=outputsto generate new valid URLs. -
📂 Files included:
-
report.json→ complete raw data -
report_aggregated_*→ aggregated trackers, vendors, and graphs -
report_privacy.json→ privacy-related results -
report_raw_trackers.json→ unprocessed tracker data -
task.json→ execution details -
proof_of_scan.gif/.har→ proof of scan artifacts
-
6. Quick Start Example
Here’s a curl example you can run immediately:
curl -X GET "https://api.didomi.io/v1/reports/compliances/reports/{REPORT_ID}?with[]=outputs" \
-H "Authorization: Bearer YOUR_API_KEY"
Replace:
-
{REPORT_ID}→ the ID of your report -
YOUR_API_KEY→ your private API key