Canva Templates Scraper
Pricing
Pay per event
Canva Templates Scraper
Extract Canva template URLs, titles, preview images, creators, colors, fonts, dimensions, and rank data for design trend research.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Extract Canva template search results, template URLs, titles, preview images, creators, colors, fonts, dimensions, and ranking metadata from public Canva template pages.
Use this Apify Actor to monitor Canva design niches, build inspiration catalogs, compare template trends, or enrich content planning workflows with structured template data.
What does Canva Templates Scraper do?
Canva Templates Scraper turns Canva template search and category pages into a clean dataset.
It can start from search keywords such as instagram post, direct Canva template search URLs, category URLs, or individual public template URLs.
For fast list monitoring, it saves template URL, title, preview image, free label, source query, and rank.
For richer research, enable detail enrichment to open each template page and collect description, creator, dimensions, color palette, fonts, and breadcrumbs when Canva displays them.
Who is it for?
- ๐จ Designers researching what Canva users see in a niche.
- ๐ฃ Content marketers planning social media creative calendars.
- ๐ Template sellers monitoring competitor styles and ranking movement.
- ๐ Trend researchers tracking colors, fonts, topics, and formats over time.
- ๐งโ๐ป Data teams building internal design inspiration databases.
Why use this actor?
Canva template pages are highly visual and hard to compare manually at scale.
This actor collects repeatable records so you can sort, export, deduplicate, and monitor templates across many topics.
It also records the source URL and rank, which is useful for recurring monitoring runs and before/after comparisons.
Data you can extract
| Field | Description |
|---|---|
templateId | Canva template identifier parsed from the URL. |
templateUrl | Canonical public Canva template URL. |
title | Template title from search cards or detail pages. |
description | Template meta description when detail enrichment is enabled. |
previewImageUrl | Preview image URL. |
creatorName | Canva creator name when visible on the detail page. |
templateType | Template format, such as Instagram Post. |
dimensions | Pixel dimensions, such as 1080 ร 1350 px. |
colors | Visible hex color palette values. |
fonts | Font names visible in the design details section. |
breadcrumbs | Canva category breadcrumb trail. |
isFree | Whether Canva labels the card as free. |
rank | Position within the source page. |
sourceUrl | URL that produced the item. |
sourceQuery | Keyword source, if the item came from a keyword. |
scrapedAt | ISO timestamp for the extraction. |
How much does it cost to scrape Canva templates?
The actor uses pay-per-event pricing.
There is a small start fee per run and a per-template charge for each saved dataset item.
Current pricing is:
- Start event:
$0.07per run. - Template item event: tiered, with BRONZE at
$0.0095705per saved template.
Large enriched runs cost more in proxy bandwidth because the actor opens each template detail page.
For cheaper trend monitoring, keep includeDetails disabled and collect details only for a shortlisted set of templates.
Input options
keywords
Search phrases to query in Canva templates.
Example:
["instagram post", "wedding invitation", "real estate flyer"]
startUrls
Direct Canva URLs to scrape.
Example:
[{ "url": "https://www.canva.com/templates/search/instagram-post/" }]
maxItems
Total output cap across all sources.
Use a small value while testing.
maxItemsPerSource
Caps records per keyword or URL.
This keeps one broad query from consuming the whole run.
includeDetails
When enabled, the actor visits each template detail page to collect description, creator, colors, fonts, dimensions, and breadcrumbs.
proxyConfiguration
Canva frequently challenges datacenter traffic.
The default input uses Apify Residential proxy in the US for reliability.
Example input
{"keywords": ["instagram post"],"maxItems": 25,"maxItemsPerSource": 25,"includeDetails": false,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Example enriched input
{"keywords": ["wedding invitation"],"maxItems": 10,"includeDetails": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Example output
{"templateId": "EAGukbmI6EI","templateUrl": "https://www.canva.com/templates/EAGukbmI6EI-beige-neutral-polaroid-collage-happy-birthday-instagram-post/","title": "Beige Neutral Polaroid Collage Happy Birthday Instagram Post","description": "Use this customizable Beige Neutral Polaroid Collage Happy Birthday Instagram Post template and find more professional designs from Canva.","previewImageUrl": "https://template.canva.com/EAGukbmI6EI/1/0/1280w-zVDrNGoPRTo.jpg","creatorName": "NassyArt","templateType": "Instagram Post (4:5)","dimensions": "1080 ร 1350 px","colors": ["#1d1c19", "#d5d3d0"],"fonts": ["Angella White"],"rank": 1,"sourceQuery": "instagram post"}
How to scrape Canva template search results
- Add one or more Canva template keywords.
- Keep
maxItemssmall for the first test run. - Leave
includeDetailsoff for fast rank monitoring. - Enable detail enrichment only when you need creator, colors, fonts, and dimensions.
- Export the dataset as JSON, CSV, Excel, or via API.
Tips for better results
- Use specific search phrases such as
minimalist resume,restaurant menu, orreal estate instagram post. - Run the same keywords weekly to compare ranking changes.
- Use
maxItemsPerSourcewhen mixing broad and narrow keywords. - Prefer list-only runs for large monitoring jobs.
- Use enriched runs for small research samples.
Integrations
- Send results to Google Sheets for editorial planning.
- Store datasets in a BI warehouse to track visual trends.
- Use webhooks to alert when new top-ranked templates appear.
- Combine with content calendar tools to shortlist creative directions.
- Feed preview image URLs into internal inspiration boards.
API usage: Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/canva-templates-scraper').call({keywords: ['instagram post'],maxItems: 25,includeDetails: false,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage: Python
from apify_client import ApifyClientclient = ApifyClient('APIFY_TOKEN')run = client.actor('automation-lab/canva-templates-scraper').call(run_input={'keywords': ['instagram post'],'maxItems': 25,'includeDetails': False,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
API usage: cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~canva-templates-scraper/runs?token=APIFY_TOKEN' \-H 'Content-Type: application/json' \-d '{"keywords":["instagram post"],"maxItems":25,"includeDetails":false}'
MCP usage
Use the Apify MCP server with this actor exposed as a tool:
$https://mcp.apify.com/?tools=automation-lab/canva-templates-scraper
Add it to Claude Desktop or Claude Code with the Apify MCP endpoint:
$claude mcp add canva-templates-scraper "https://mcp.apify.com/?tools=automation-lab/canva-templates-scraper"
Or configure any MCP client with JSON like this:
{"mcpServers": {"apify-canva-templates": {"url": "https://mcp.apify.com/?tools=automation-lab/canva-templates-scraper","headers": {"Authorization": "Bearer ${APIFY_TOKEN}"}}}}
Example prompts:
- "Scrape the top Canva templates for restaurant menu and summarize the most common colors."
- "Run Canva Templates Scraper for wedding invitation and return the first 20 preview URLs."
- "Compare two Canva template keywords and show which titles overlap."
Anti-bot and proxy notes
Canva uses Cloudflare and may show a challenge page to automated traffic.
The actor detects common challenge markers and fails clearly rather than returning empty data.
Residential proxy is recommended and is enabled in the default input.
If a run fails with an anti-bot message, retry later, reduce maxItems, or try a different proxy country.
Limitations
- Canva page layouts can change without notice.
- Detail enrichment is slower than list scraping.
- Some metadata, such as fonts or colors, appears only on detail pages.
isFreeis based on visible Canva labels and may be null when Canva does not expose the value.- This actor does not log in to Canva or access private designs.
Legality
This actor extracts publicly available Canva template page information.
You are responsible for using the data in compliance with Canva terms, copyright rules, privacy laws, and your own use case.
Do not use the actor to access private, paid, or account-only content that you are not authorized to view.
Troubleshooting
Why did the run fail with a challenge message?
Canva served an anti-bot or Cloudflare page.
Use Apify Residential proxy, keep inputs smaller, and retry after a short delay.
Why are colors and fonts empty?
Colors and fonts are detail-page fields.
Enable includeDetails and use a smaller maxItems value.
Why did I get fewer items than requested?
A source page may have fewer visible template cards, may load slowly, or may have been blocked before the requested count was reached.
Related scrapers
Related Automation Labs actors that can support nearby workflows:
- https://apify.com/automation-lab/pinterest-scraper for social creative inspiration.
- https://apify.com/automation-lab/google-shopping-scraper for product trend research.
- https://apify.com/automation-lab/website-change-monitor for recurring page monitoring.
FAQ
Can it scrape my private Canva designs?
No. This actor is for public Canva template pages only.
Does it download template files?
No. It extracts metadata and preview URLs from public pages.
Can I monitor rankings over time?
Yes. Schedule recurring runs with the same keywords and compare rank, templateUrl, and scrapedAt.
Should I enable detail enrichment?
Enable it when you need creator, dimensions, colors, fonts, or descriptions.
Keep it disabled for cheaper high-volume rank monitoring.
Changelog
0.1Initial private build for keyword, URL, list, and optional detail extraction.