Pricing
Pay per usage
Pexels Stock Image Scraper
Bulk download high-resolution royalty-free images from Pexels. Capture image URLs, titles, photographer info, dimensions & metadata. Ideal for blog automation, design assets, content creation, AI training datasets & stock image libraries. Zero licensing restrictions.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Extract rich stock photo search results from Pexels with a keyword or a working Pexels search URL. Collect titles, alt text, image links, photographer details, flattened reaction and badge data, colors, tags, dimensions, and search context in a clean dataset that is ready for research, content pipelines, and cataloging.
Features
- Keyword or URL input β Start from a simple keyword or from an existing Pexels photo search URL
- Rich photo output β Collect photo metadata, photographer details, image variants, tags, colors, reaction counts, badge counts, and publication dates
- Failure diagnosis path β When requests fail, the actor reads its API discovery notes and retries diagnostic request patterns before giving up
- Pagination support β Continue through multiple result pages until your target count is reached
- Filter-aware scraping β Reuse filters already present in a working Pexels search URL
- Clean dataset items β Null values are removed before items are stored
Use Cases
Content Research
Build reference sets for blogs, social campaigns, landing pages, and creative briefs. Keep the image metadata alongside the source links so your team can review options quickly.
Visual Trend Monitoring
Track what kinds of photos appear for seasonal, commercial, or topical searches. Use tags, colors, and photographer metadata for broader analysis.
Asset Discovery
Collect batches of relevant image candidates for newsletters, presentations, and creative production workflows. Start from one search URL and expand through multiple pages.
Dataset Building
Create structured image-search datasets for downstream scoring, deduplication, enrichment, or reporting. Export results in JSON, CSV, Excel, and other supported formats.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
url | String | No | https://www.pexels.com/search/summer/ | Pexels photo search URL to use as the starting point |
keyword | String | No | "summer" | Search keyword to use when url is not provided, or to override the keyword inside the URL |
results_wanted | Integer | No | 20 | Maximum number of photo results to collect |
max_pages | Integer | No | 10 | Safety cap on paginated requests |
page | Integer | No | 1 | Page number to start from |
orientation | String | No | β | Optional orientation filter such as horizontal, vertical, or square |
size | String | No | β | Optional size filter |
color | String | No | β | Optional dominant color filter |
locale | String | No | "en-us" | Locale for the search request |
proxyConfiguration | Object | No | {"useApifyProxy": false} | Proxy settings for more reliable access |
Output Data
Each dataset item can contain:
| Field | Type | Description |
|---|---|---|
id | String | Pexels photo identifier |
title | String | Photo title |
description | String | Photo description when available |
alt | String | Alternative description text |
photo_url | String | Pexels photo detail page URL |
download_page_url | String | Pexels download page URL |
download_image_url | String | Direct download image URL |
small_image_url | String | Small preview image URL |
medium_image_url | String | Medium preview image URL |
large_image_url | String | Large preview image URL |
width | Integer | Image width in pixels |
height | Integer | Image height in pixels |
aspect_ratio | Number | Image aspect ratio |
license | String | License label |
publish_at | String | Publication timestamp |
tags | Array | Pexels tags for the image |
colors | Array | Color palette values |
photographer_name | String | Photographer display name |
photographer_slug | String | Photographer slug |
photographer_location | String | Photographer location |
photographer_hero | Boolean | Whether the photographer has hero status |
photographer_active_hero | Boolean | Whether the photographer currently has active hero status |
photographer_badges | Array | Flattened photographer badge labels |
photographer_badges_count | Integer | Number of photographer badges |
reactions_emotional_count | Integer | Emotional reaction count |
reactions_technical_count | Integer | Technical reaction count |
reactions_stylistic_count | Integer | Stylistic reaction count |
reactions_emotional_reacted | Boolean | Whether the emotional reaction is active |
reactions_technical_reacted | Boolean | Whether the technical reaction is active |
reactions_stylistic_reacted | Boolean | Whether the stylistic reaction is active |
user | Object | Photographer profile metadata |
image | Object | Image variant URLs |
reactions | Object | Reaction counters and flags |
search | Object | Search context, page, locale, and result counts |
Usage Examples
Search by Keyword
Use a simple keyword and collect the first 20 image results:
{"keyword":"summer","results_wanted":20}
Use a Pexels Search URL
Start from a working Pexels search page:
{"url":"https://www.pexels.com/search/summer/","results_wanted":30,"max_pages":3}
Continue from a Later Page with Filters
Resume from a later page and keep the same search style:
{"url":"https://www.pexels.com/search/summer/?page=2&orientation=vertical","results_wanted":40,"max_pages":4}
Sample Output
{"id":8455817,"type":"photo","slug":"color-flipflops-on-the-sand","title":"Color Flipflops on the Sand","description":"Vibrant flip flops stand in the sand against a clear blue sky, symbolizing a perfect summer beach day.","alt":"Vibrant flip flops stand in the sand against a clear blue sky, symbolizing a perfect summer beach day.","photo_url":"https://www.pexels.com/photo/color-flipflops-on-the-sand-8455817/","download_page_url":"https://www.pexels.com/photo/8455817/download/","download_image_url":"https://images.pexels.com/photos/8455817/pexels-photo-8455817.jpeg?cs=srgb&dl=pexels-rdne-8455817.jpg&fm=jpg","large_image_url":"https://images.pexels.com/photos/8455817/pexels-photo-8455817.jpeg?auto=compress&cs=tinysrgb&w=1440","width":4442,"height":6663,"aspect_ratio":0.6666666666666666,"license":"Pexels","publish_at":"2021-06-23T22:00:45.455Z","tags":["beach","summer","vacation"],"colors":["#008b8b","#00bfff","#cd5c5c"],"photographer_name":"RDNE Stock project","photographer_slug":"rdne","photographer_location":"Los Angeles","photographer_hero":false,"photographer_active_hero":false,"photographer_badges":[],"photographer_badges_count":0,"reactions_emotional_count":0,"reactions_technical_count":0,"reactions_stylistic_count":0,"search":{"query":"summer","locale":"en-us","page":1,"total_photo_results":5186}}
Tips for Best Results
Start with Real Search URLs
- Use a working Pexels photo search URL when you already know the page and filters you want
- Keep the URL focused on photo search pages, not videos or user pages
Keep QA Runs Fast
- Use
results_wanted: 20for quick verification runs - Increase
max_pagesonly when you need deeper pagination
Use Filters Deliberately
- Pass
orientation,size, orcoloronly when they matter to your use case - If your URL already contains filters, the actor can reuse them automatically
Proxy Usage
- Start without a proxy for small runs
- Enable Apify Proxy if you need more stable access at scale
Integrations
Connect your dataset with:
- Google Sheets β Review image candidates in spreadsheets
- Airtable β Build searchable asset tables
- Make β Send new results into automated workflows
- Zapier β Trigger downstream actions from completed runs
- Webhooks β Deliver results to your own services
Export Formats
- JSON β For APIs, apps, and enrichment pipelines
- CSV β For spreadsheet review
- Excel β For stakeholder reporting
- XML β For custom integrations
Frequently Asked Questions
Can I use either a keyword or a URL?
Yes. The actor supports both. A keyword-only run is useful for simple searches, while a URL keeps existing search filters and page context.
Does the actor support paginated runs?
Yes. It keeps requesting additional result pages until it reaches results_wanted, the search ends, or max_pages is reached.
Will null fields be stored?
No. Dataset items are cleaned before storage so null values are removed.
Can I start from page 2 or page 3?
Yes. Use the page input or provide a Pexels search URL that already includes a page query parameter.
Does it support video or user search URLs?
No. This actor is focused on Pexels photo search results.
What happens if I provide both url and keyword?
The actor can reuse the URL context while applying the provided keyword as the active search query.
Support
For issues or feature requests, use the Apify Console for the actor.
Resources
Legal Notice
This actor is intended for lawful data collection and research workflows. Users are responsible for complying with Pexels terms, platform rules, and applicable laws when collecting and using data.
