Pexels: scrapers and the official API, compared

Free stock photos and videos with photographers, dimensions, durations, licenses and download links.

Short answer

Pexels' official Pexels API is public and free (an API key is required); start there for single lookups, and use a scraper when you need many photos in one run. For most Pexels jobs, start with Pexels Stock Media Scraper: it covers 5 of 8 core fields (title, photographer, width, height and 1 more) at $0.99 per 1,000 results on Apify's Free plan. The top published score for Pexels goes to Pexels Scraper by fetch_cat (85 of 100), a Store tool from another publisher, listed for reference.

From published Store listings, output schemas and the official documentation. Checked 2026-11-05. How the ranking works.

Pexels Stock Media Scraper: inputs, code and costOpen in Apify Store

1 catalogue Actor 8 other Store tools Official API: Public API Lowest rate  $0.90 per 1K

Route map

Each line is one way to get Pexels data; each stop is a field you probably need. Green lines are catalogue Actors, ranked by the published formula.

Route diagram for Pexels dataPexels Stock Media Scraper: stops at 3 of the 10 fields shown; Other Store tools (7): stops at 8 of the 10 fields shown; Pexels API: public, field coverage not compared.Pexelspagephotovideotitlephotographerwidthdownloadslikesviewsdescription1+API
  • 1 Pexels Stock Media Scraper 13 output fields, pay per event 5 of 8 core fields
    $0.99 / 1K
  • + 7 other Store tools, combined Reference only 6 of 8 core fields
    from $0.90 / 1K
  • API Pexels API Public API fields not compared

Stops are fields. A ring means the field is in that route's published output schema; no ring means the line passes without it. Bold labels are the core fields for this website, the rest are fields that differ between routes. A white capsule means every data line stops there. The red line is the official API; its field coverage is not compared. A crossed red line means there is no open official API.

Catalogue Actors for Pexels

Pexels Stock Media Scraper

Scrape free stock photos and videos from Pexels. Search by keyword, browse curated/popular media, a photographer's portfolio, or a curated…

5/8 core fields 13 output fields $0.99 per 1K Open in Apify Store

Field matrix: who returns what

Every tool with a published output schema, against the 8 fields most Pexels jobs need. A dot means the field name appears in the schema; rows can still leave it empty.

Which tools return each core Pexels field, from published output schemas
ToolphotovideotitlephotographerwidthheightlicensepageFields
Pexels Stock Media Scraper––●●●●●–5/8
Pexels ScraperReference only, by fetch_cat––●●●●●●6/8
Pexels ScraperReference only, by blackfalcondata––●●●●●–5/8
Pexels Scraper: Stock Photos & Videos, No API KeyReference only, by automation-lab––●–●●●–4/8
Pexels ScraperReference only, by silentflow––●●●●––4/8
Pexels ScraperReference only, by topapi––●●●●●–5/8
Pexels ScraperReference only, by piotrv1001––●–●●––3/8
Pexels Email ScraperReference only, by email_scraper––●–––––1/8
Tools returning it00857751

Field dictionary: the exact keys

The same core field has a different key in each Actor's output. Map these before you merge datasets; a dash means the published schema has no matching key. Need a field that is not listed here, such as email? Search every Pexels Actor by field.

Output keys for each core Pexels field in the top catalogue Actors
Core field Pexels Stock Media Scraper
photo –
video –
title title, photographerName
photographer photographerName
width width
height height
license license
page –

All 9 tools, scored

Catalogue Actors link to their detail pages; the score (0 to 100) is the published formula, identical for every tool. Other Store tools follow in their own table, for reference. Price is the published primary-result rate per 1,000 (the Free-plan rate where the price is tiered; higher Apify plans pay less); start events and platform usage are excluded.

Catalogue Actors for Pexels, ranked by the published method
Sample fields
76
Pexels Stock Media Scraper Catalogue Actor, pay per event
title, photographerName, width 13 $0.99 8 runs, too few to rate Nov 2026

Other Store tools, for reference

Scored with the same published formula and listed for comparison only; this site does not link or recommend them.

Other Store tools for Pexels, for reference
Sample fields
85
Pexels Scraper Reference only, by fetch_cat
title, photographerName, width 42 $1.16 91% of 47 runs Oct 2026
84
Pexels Scraper Reference only, by blackfalcondata
title, photographerName, width 11 $1.00 99% of 418 runs Nov 2026
82
Pexels Scraper: Stock Photos & Videos, No API Key Reference only, by automation-lab
title, width, height 39 $1.16 95% of 895 runs Nov 2026
79
Pexels Scraper Reference only, by silentflow
title, photographer, width 17 $1.16 100% of 475 runs Oct 2026
76
Pexels Scraper Reference only, by topapi
title, photographer, width 93 $0.90 2 runs, too few to rate Nov 2026
69
Pexels Scraper Reference only, by piotrv1001
title, width, height 11 $1.00 2 runs, too few to rate Nov 2026
66
Pexels Scraper Reference only, by memo23
No published schema – $3.00 100% of 10,893 runs Nov 2026
48
Pexels Email Scraper Reference only, by email_scraper
title, location, description 12 $4.99 100% of 29 runs Oct 2026

Official API route

Pexels API

The Pexels API searches and returns photos, videos and collections. Apps must show a prominent link to Pexels and credit photographers when possible.

Price. Free; an API key is required.

Limits. Default limits are 200 requests per hour and 20,000 per month. Higher limits, up to unlimited, are free on request for apps that meet the API terms and attribution rules.

Official documentation

Pexels' terms prohibit scraping and bulk or systematic copying without permission. This is general information, not legal advice.

Read Pexels' terms. Keep to public data, do not bypass logins or access controls, and check whether personal data is involved before you collect it. The can-I-scrape checklist walks through it.

How to start

  1. Open Pexels Stock Media Scraper and start from its default input; its Actor page has the full example input and code.
  2. Set the Pexels search, profile, listing or URL you need and a result limit; the required input is mode.
  3. Run it and export the dataset as JSON, CSV or Excel, or call it from the Apify API.

Call Pexels Stock Media Scraper from code

The example input uses the Actor's published defaults; set your own Pexels query before you run it. You need an Apify API token.

Python

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
    "mode": "search",
    "searchQueries": [
        "nature"
    ],
    "mediaType": "photos",
    "startUrls": [],
    "orientation": "all",
    "size": "all",
    "color": "all",
    "peopleCount": "all",
    "peopleAge": "all",
    "locale": "en-US",
    "minWidth": 0,
    "minHeight": 0,
    "minFps": 0,
    "minDuration": 0,
    "maxDuration": 0,
    "mediaIds": [
        "18872916"
    ],
    "username": "alex-ivanov-773258579",
    "collectionSlug": "aquatic-aesthetic-bw7dkse",
    "maxItems": 3,
    "includeDetails": False,
    "dedupe": True,
    "proxyConfiguration": {
        "useApifyProxy": False
    }
}

run = client.actor("nimbryxo-studio/pexels-stock-media-scraper-2").call(run_input=run_input)
if run is None:
    raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

pip install apify-client

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
    "mode": "search",
    "searchQueries": [
        "nature"
    ],
    "mediaType": "photos",
    "startUrls": [],
    "orientation": "all",
    "size": "all",
    "color": "all",
    "peopleCount": "all",
    "peopleAge": "all",
    "locale": "en-US",
    "minWidth": 0,
    "minHeight": 0,
    "minFps": 0,
    "minDuration": 0,
    "maxDuration": 0,
    "mediaIds": [
        "18872916"
    ],
    "username": "alex-ivanov-773258579",
    "collectionSlug": "aquatic-aesthetic-bw7dkse",
    "maxItems": 3,
    "includeDetails": false,
    "dedupe": true,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

const run = await client.actor("nimbryxo-studio/pexels-stock-media-scraper-2").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

npm install apify-client

cURL

curl -X POST "https://api.apify.com/v2/actors/nimbryxo-studio~pexels-stock-media-scraper-2/run-sync-get-dataset-items"   -H "Authorization: Bearer $APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"mode":"search","searchQueries":["nature"],"mediaType":"photos","startUrls":[],"orientation":"all","size":"all","color":"all","peopleCount":"all","peopleAge":"all","locale":"en-US","minWidth":0,"minHeight":0,"minFps":0,"minDuration":0,"maxDuration":0,"mediaIds":["18872916"],"username":"alex-ivanov-773258579","collectionSlug":"aquatic-aesthetic-bw7dkse","maxItems":3,"includeDetails":false,"dedupe":true,"proxyConfiguration":{"useApifyProxy":false}}'

Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).

MCP (AI agents)

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=nimbryxo-studio/pexels-stock-media-scraper-2",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.

Questions people ask

What is the cheapest catalogue Actor for Pexels data?

Pexels Stock Media Scraper lists $0.99 per 1,000 results (pay per event), with 13 fields in its published output schema. Start events and platform usage are billed separately. Checked 2026-11-05.

Which Pexels scraper returns the most core fields?

Pexels Stock Media Scraper covers 5 of the 8 core Pexels fields this page tracks (photo, video, title, photographer, width, height, license, page), based on its published output schema.

Does Pexels have an official API?

Public API: The Pexels API searches and returns photos, videos and collections. Apps must show a prominent link to Pexels and credit photographers when possible. Free; an API key is required.

Is it legal to scrape Pexels?

It depends on what you collect and how. Pexels' terms prohibit scraping and bulk or systematic copying without permission. Read Pexels' terms (https://www.pexels.com/terms-of-service/) before you collect, and check whether personal data is involved. This is general information, not legal advice.

More on Pexels

Sources

Data checked 2026-11-05
Cite this page

Scraper Finder. "How to get Pexels data." https://scraperfinder.com/sites/pexels/ (data checked 2026-11-05).

Highest-scoring catalogue Actor

Pexels Stock Media Scraper: 5 of 8 core fields, $0.99 per 1,000 results, score 76. The highest score overall is 85 (Pexels Scraper, a Store tool from another publisher); both are in the table above.

Open in Apify Store