Pexels Scraper - Free Stock Photos & Videos, No API Key avatar

Pexels Scraper - Free Stock Photos & Videos, No API Key

Pricing

from $2.47 / 1,000 photo or video delivereds

Go to Apify Store
Pexels Scraper - Free Stock Photos & Videos, No API Key

Pexels Scraper - Free Stock Photos & Videos, No API Key

Scrape Pexels photos and videos by keyword, photographer profile, collection or link, without an API key. Get title, alt text, tags, size, average color, photographer, image URLs in 8 sizes, video files, duration, views, downloads and likes. Error rows are free.

Pricing

from $2.47 / 1,000 photo or video delivereds

Rating

0.0

(0)

Developer

Scrapewise Data

Scrapewise Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Pexels Scraper: free stock photos and videos with tags, sizes, photographers and stats, no API key

Pexels Scraper collects photos and videos from Pexels by keyword, photographer profile, collection or direct link, without a Pexels API key, an account or a browser. Each photo or video comes back as one clean row: title, alt text, description, tags, width, height, average color and color palette, the photographer's public name and profile link, image links in 8 ready-made sizes, and for videos the duration, frame rate, preview, thumbnails and every MP4 file with its resolution. Turn on one checkbox to also get views, downloads, likes and the camera data (EXIF) of each photo.

It is used to build image and video datasets for AI training and computer vision, to fill blogs, landing pages and social posts with royalty-free media and the right attribution, to research which visual styles and topics get the most downloads, and to follow what a photographer or a collection publishes over time.

At a glance

WhatPrice
Photo or video deliveredUS$ 2.90 per 1,000 items on the Free plan (US$ 0.0029 each)
Paid Apify plansBronze US$ 2.76, Silver US$ 2.61, Gold and above US$ 2.47 per 1,000
Run startUS$ 0.005 per run
  • 3 searches with 30 photos each = 90 items = US$ 0.27 on the Free plan.
  • Views, downloads, likes and camera data cost nothing extra: same price per item.
  • Error rows and duplicates are never charged. maxItems is a hard cap, and a spending limit set on the run stops it cleanly with everything delivered so far.
  • No monthly fee and no API key to manage.

Quick start

Photos for one keyword:

{
"searchQueries": ["ocean"],
"maxResultsPerSearch": 30
}

Vertical 4K videos shorter than 30 seconds, for reels and stories:

{
"searchQueries": ["city night", "coffee shop"],
"mediaType": "videos",
"orientation": "portrait",
"size": "large",
"maxDuration": 30,
"maxResultsPerSearch": 50
}

Everything a photographer published, with views, downloads and likes:

{
"startUrls": ["https://www.pexels.com/@ben-mack/"],
"maxResultsPerSearch": 0,
"includeDetails": true
}

You can also paste a Pexels search link exactly as it appears in your browser, filters included, such as https://www.pexels.com/search/videos/mountain/?orientation=portrait. Links with a language prefix (/de-de/, /es-es/, /pt-br/) work too.

Input

FieldWhat it does
searchQueriesKeywords, one per line. Each term is one Pexels search.
mediaTypephotos (default) or videos for the search terms.
startUrlsPexels links: search pages, photographer profiles (/@username/), collections, single photo or video pages.
maxResultsPerSearchItems per search term or link, in Pexels order (default 30; 0 = all, Pexels stops a search at 10,000).
maxItemsCap for the whole run, across all searches and links (0 = no cap).
orientationall, landscape, portrait or square, the same filter as the Pexels search page.
sizeMinimum width of the original file: large (3840 px, 4K), medium (1920 px, Full HD) or all.
colorA color name (red, orange, yellow, green, turquoise, blue, violet, pink, brown, black, gray, white) or a hex code like #2196F3.
minDuration, maxDurationVideo length in seconds (Pexels caps the filter at 120).
includeDetailsAdds views, downloads, likes and, for photos, the camera data. Opens one extra page per item.
proxyConfigurationApify Proxy by default; the Actor moves to a residential IP on its own if Pexels refuses the first one.

query, keyword, keywords, searchQuery, urls, maxResults and limit are accepted too, so inputs written for other Pexels tools keep working.

Output

Every row has type (photo, video or error), so photos and videos can share one dataset.

FieldWhat it is
id, urlPexels id and the page link of the photo or video
title, alt, descriptionTitle, alt text and description Pexels shows for the item
width, height, aspectRatioSize of the original file in pixels
avgColor, colorsAverage color and the main colors as hex codes
tagsEvery tag Pexels attached to the item
photographer, photographerId, photographerUsername, photographerUrlPublic name, id, username and profile link of the creator
photographerLocation, photographerInstagram, photographerTwitter, photographerAvatarPublic profile details, when the creator filled them
licenseLicense shown by Pexels (Pexels)
createdAt, publishedAt, updatedAtWhen it was uploaded, published and last changed (UTC)
srcPhoto links in 8 sizes: original, large2x, large, medium, small, portrait, landscape, tiny
downloadUrlDirect download link of the full-size file
duration, fpsVideo length in seconds and frame rate
videoUrl, previewUrl, thumbnail, thumbnailsMain MP4, small preview clip and thumbnail images
videoFilesEvery MP4 rendition with quality (sd, hd, uhd), width, height, fps and link
views, downloads, likesCounts from the item page (with includeDetails, always on single links)
camera, cameraMaker, aperture, focalLength, iso, shutterSpeed, takenAt, fileSizeBytesCamera data of photos, when the creator kept it
position, sourceUrl, scrapedAtOrder in the search or link, what you sent, and when the row was made

One real photo row (tags and sizes shortened):

{
"type": "photo",
"id": 6775303,
"url": "https://www.pexels.com/photo/large-waves-in-a-sea-6775303/",
"title": "Large Waves in a Sea",
"alt": "Captivating image of powerful ocean waves crashing under a clear blue sky, showcasing nature's force.",
"width": 3000,
"height": 2001,
"avgColor": "#A2ADB1",
"colors": ["#2F4F4F", "#C0C0C0"],
"tags": ["Aqua", "Blue Sky", "Coast", "Ocean", "Waves"],
"photographer": "Ben Mack",
"photographerUrl": "https://www.pexels.com/@ben-mack/",
"src": {
"original": "https://images.pexels.com/photos/6775303/pexels-photo-6775303.jpeg",
"large": "https://images.pexels.com/photos/6775303/pexels-photo-6775303.jpeg?auto=compress&cs=tinysrgb&h=650&w=940"
},
"views": 2693156,
"downloads": 1568,
"likes": 36,
"camera": "ILCE-7RM3",
"cameraMaker": "SONY",
"aperture": "6.3",
"iso": 160,
"createdAt": "2021-02-10T05:49:11.000Z"
}

A video row has the same creator and tag fields plus duration (for example 16), fps (23.98) and a videoFiles list from 360p up to 4K, each with its direct MP4 link.

How it works

The Actor reads the same public data the Pexels website loads in your browser, page by page, and turns it into flat rows. Searches return 24 items per page, profiles and collections 12. There is no headless browser, so runs are fast and light: 30 photos usually take a few seconds.

Errors you may see

Every error is a row with errorCode and is never charged:

errorCodeMeaning
INVALID_URLNot a Pexels search, profile, collection, photo or video link
INVALID_INPUTA field has a wrong value (for example an unknown color or orientation)
NOT_FOUNDThe page, profile, photo or video does not exist or was removed
NO_RESULTSPexels returned nothing for this search and these filters
BLOCKEDPexels refused every attempt for this source; run it again in a few minutes
NOT_REACHEDThe run timeout or the cost guard arrived before this source

Integrations, scheduling and AI agents

  • Schedule the same searches weekly in Apify schedules to pick up new uploads, or to follow how views and downloads of your favorite photos grow.
  • Export as JSON, CSV, Excel or XML, or read the dataset from the Apify API.
  • Connect it to Make, n8n, Zapier, Google Sheets or Airtable through Apify integrations, for example to send new vertical videos to a content calendar.
  • AI agents: call it as a tool through the Apify MCP server in Claude, ChatGPT, Cursor or any MCP client, for example "find 20 landscape photos of mountain lakes with a blue tone and give me the large image links with photographer credits".

FAQ

Do I need a Pexels API key or account? No. Everything comes from public Pexels pages, without login, cookies or a key, and there is no request quota to manage.

Can I use the photos and videos? Pexels media is published under the Pexels license, which allows free use, with some limits (for example, no selling unaltered copies). Read the license on pexels.com before using the files, and credit the photographer when you can: photographer and photographerUrl are in every row.

Does it download the files? No. It returns direct links (src, downloadUrl, videoFiles) that you can download with any tool or pass to an image downloader.

Why are views and downloads empty? They come from the page of each item, so they are added only with includeDetails on (single photo and video links always include them).

Is it legal? The Actor reads public pages only and returns no emails or phone numbers. You are responsible for how you use the data under the laws that apply to you.

Something broke or a field is missing? Open an issue on the Actor page; issues are answered within a day.

Limitations

  • A Pexels collection link returns its first 12 items; the rest of a collection only loads for logged-in visitors.
  • Pexels stops any search at 10,000 results; split big topics into several keywords.
  • includeDetails opens one more page per item, so runs with it take longer.
  • Counts are the ones Pexels shows at the moment of the run.

Changelog

  • 16 Oct 2026: first version: photo and video search with orientation, size, color and duration filters, profiles, collections and single links, 8 photo sizes, all video files, views, downloads, likes and camera data.