Canva Scraper

  • epctex/canva-scraper
  • Modified
  • Users 129
  • Runs 1.2k
  • Created by Author's avatarepctex

Scrape thousands of templates from Canva.com. Extract data on available templates based on keywords. Customize your search and scrape from search, list, or user detail pages for colors, fonts, images, and more!

To run the code examples, you need to have an Apify account. Replace <YOUR_API_TOKEN> in the code with your API token. For a more detailed explanation, please read about running Actors via the API in Apify Docs.

from apify_client import ApifyClient

# Initialize the ApifyClient with your API token
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "search": "baby instagram",
    "maxItems": 20,
    "endPage": 1,
    "startUrls": [
        "https://www.canva.com/posters/templates/",
        "https://www.canva.com/templates/?query=baby&continuation=50",
        "https://www.canva.com/p/templates/EAFCgIJdXTw-brown-aesthetic-new-dad-fist-bumps-father-s-day-instagram-post/",
        "https://www.canva.com/p/donnamoritz/",
    ],
    "extendOutputFunction": "($) => { return {} }",
    "customMapFunction": "(object) => { return {...object} }",
    "proxy": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("epctex/canva-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)