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 
formatQualityparameter 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"]
}