Canva Templates Scraper avatar

Canva Templates Scraper

Pricing

from $5.74 / 1,000 item extracteds

Go to Apify Store
Canva Templates Scraper

Canva Templates Scraper

Extract Canva template URLs, titles, preview images, creators, colors, fonts, dimensions, and rank data for design trend research.

Pricing

from $5.74 / 1,000 item extracteds

Rating

5.0

(1)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

0

Monthly active users

19 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. rank is the card's original position on that source page; duplicate templates across sources are saved once, so gaps in ranks are possible.

Data you can extract

FieldDescription
templateIdFull 11-character Canva template identifier parsed from the URL (including embedded hyphens); null if the URL does not unambiguously identify a template.
templateUrlCanonical public Canva template URL.
titleTemplate title from search cards or detail pages.
descriptionTemplate meta description when detail enrichment is enabled.
previewImageUrlPreview image URL.
creatorNameCanva creator name when visible on the detail page.
templateTypeTemplate format, such as Instagram Post.
dimensionsPixel dimensions, such as 1080 × 1350 px.
colorsVisible hex color palette values.
fontsFont names visible in the design details section.
breadcrumbsCanva category breadcrumb trail.
isFreeWhether Canva labels the card as free.
rankPosition within the source page.
sourceUrlURL that produced the item.
sourceQueryKeyword source, if the item came from a keyword.
scrapedAtISO 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.07 per run.
  • Template item event: tiered, with BRONZE at $0.0095705 per 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

Public HTTPS Canva template, category, or search URLs to scrape. Other hosts and non-HTTPS URLs are rejected. A single template URL returns that template when its public preview metadata is available.

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. If both US browser attempts encounter access failures, the actor makes one bounded GB residential attempt before reporting failure. This extra attempt can increase proxy traffic and runtime; it does not guarantee access. Explicit GB and direct-access settings do not trigger this alternate-country retry. Set useApifyProxy to false to run directly (typically more vulnerable to Canva challenges). If proxy initialization fails, the run fails rather than silently falling back to an unproxied browser.

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

  1. Add one or more Canva template keywords.
  2. Keep maxItems small for the first test run.
  3. Leave includeDetails off for fast rank monitoring.
  4. Enable detail enrichment only when you need creator, colors, fonts, and dimensions.
  5. Export the dataset as JSON, CSV, Excel, or via API.

Tips for better results

  • Use specific search phrases such as minimalist resume, restaurant menu, or real estate instagram post.
  • Run the same keywords weekly to compare ranking changes.
  • Use maxItemsPerSource when 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 ApifyClient
client = 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().items
print(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

Claude Code

Add the hosted MCP endpoint over HTTP:

$claude mcp add --transport http canva-templates-scraper "https://mcp.apify.com/?tools=automation-lab/canva-templates-scraper"

Claude Desktop, Cursor, and VS Code

Add this configuration to Claude Desktop's MCP settings, Cursor's MCP settings, or VS Code's MCP configuration:

{
"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 after the bounded retries, retry later or choose another proxy country. Reducing maxItems can shorten a successful run but does not bypass the initial challenge.

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.
  • isFree is 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.
  • Duplicate template URLs across sources are emitted once. Rank refers to the position in the original source, not the number of saved records.

Legality

This actor extracts publicly available Canva template page information. It is independently operated and is not affiliated with, endorsed by, or certified by Canva. Its icon is company-owned. No AI provider is called by the Actor; an external MCP client may separately use its own model.

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. Requested public URLs, page metadata, output datasets and operational logs are held in your Apify account under its storage-retention settings; delete runs and datasets there. No external Actor-operated cache is kept. Apify residential proxy relays page requests when enabled. For support, use the Actor's Apify Store issue form.

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 Automation Labs actors that can support nearby workflows:

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.1 Initial private build for keyword, URL, list, and optional detail extraction.