Exports API
Export Canva designs in various formats including PDF, images, presentations, and videos. The API supports synchronous processing with automatic polling for job completion.
POST/api/rest/exports
Export a Canva design in the specified format. The API will poll the export job until completion and return the download URLs.
Parameters
Name | Type | Description |
---|---|---|
designId | string | The Canva design ID to export |
formatType | string | Export format: 'pdf', 'jpg', 'png', 'pptx', 'gif', or 'mp4' |
formatSize | string (optional) | Page size for PDF/PPTX: 'a4', 'a3', 'letter', or 'legal' |
formatQuality | string (optional) | Video quality for MP4: 'horizontal_480p', 'horizontal_720p', 'horizontal_1080p', 'horizontal_4k', 'vertical_480p', 'vertical_720p', 'vertical_1080p', 'vertical_4k'. Required for MP4 exports. |
formatExportQuality | string (optional) | Export quality: 'regular' or 'pro' |
formatPages | number[] (optional) | Array of page numbers to export (1-indexed). If not specified, exports all pages. |
formatWidth | number (optional) | Custom width in pixels for image exports |
formatHeight | number (optional) | Custom height in pixels for image exports |
formatLossless | boolean (optional) | Enable lossless compression for image exports |
formatTransparentBackground | boolean (optional) | Enable transparent background for PNG exports |
formatAsSingleImage | boolean (optional) | Export all pages as a single image (for multi-page designs) |
Request Example
POST /api/rest/exports
Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json
{
"designId": "design_1234567890",
"formatType": "pdf",
"formatSize": "a4",
"formatExportQuality": "pro",
"formatPages": [1, 2, 3]
}
Response Example
{
"jobId": "export_job_1234567890",
"status": "success",
"urls": [
"https://api.canva.com/exports/design_1234567890.pdf",
"https://api.canva.com/exports/design_1234567890_page2.pdf",
"https://api.canva.com/exports/design_1234567890_page3.pdf"
]
}
Important Notes
- Authentication: Requires a valid API token in the Authorization header
- Processing Time: The API polls the export job every 2.5 seconds for up to 20 attempts (approximately 50 seconds total)
- MP4 Exports: The
formatQuality
parameter is required for video exports - Multi-page Exports: Each page is returned as a separate URL in the response
- Error Handling: Failed exports include error details with code and message
Response Status Codes
Status | Description |
---|---|
200 | Export completed successfully |
401 | Unauthorized - Invalid or missing API token |
500 | Export failed or timed out |
Example Use Cases
PDF Export
POST/api/rest/exports
Export a design as a high-quality PDF
Request Example
{
"designId": "design_1234567890",
"formatType": "pdf",
"formatSize": "a4",
"formatExportQuality": "pro"
}
Response Example
{
"jobId": "export_job_1234567890",
"status": "success",
"urls": ["https://api.canva.com/exports/design_1234567890.pdf"]
}
PNG Image Export
POST/api/rest/exports
Export a design as a PNG with transparent background
Request Example
{
"designId": "design_1234567890",
"formatType": "png",
"formatWidth": 1920,
"formatHeight": 1080,
"formatTransparentBackground": true,
"formatLossless": true
}
Response Example
{
"jobId": "export_job_1234567890",
"status": "success",
"urls": ["https://api.canva.com/exports/design_1234567890.png"]
}
MP4 Video Export
POST/api/rest/exports
Export a design as an MP4 video
Request Example
{
"designId": "design_1234567890",
"formatType": "mp4",
"formatQuality": "horizontal_1080p"
}
Response Example
{
"jobId": "export_job_1234567890",
"status": "success",
"urls": ["https://api.canva.com/exports/design_1234567890.mp4"]
}