# Changelog of Unsplash Photo Search Scraper (`blackfalcondata/unsplash-com-scraper`) Actor

- **URL**: https://apify.com/blackfalcondata/unsplash-com-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/blackfalcondata/unsplash-com-scraper.md

## Changelog

All notable changes to this Actor are documented here.

### \[0.1.0] — 2026-10-22

Initial release.

#### Added

- Scrape photos from unsplash.com search: image URLs in every size, photographer, license, dimensions, likes, and (with details on) tags, camera EXIF, location, topics, views and downloads.
- Paste an Unsplash photo search URL (for example `https://unsplash.com/s/photos/nature`) instead of typing a keyword.
- The run stops cleanly at your spending limit instead of fetching photos it cannot deliver.
- Every photo now carries `portalUrl`, a direct link to its page on unsplash.com.
- Paste collection, topic, photographer and single photo URLs as well as search URLs. Mixed lists work; unsupported URLs are skipped with a warning.
- New filters: `orientation`, `color` (keyword searches), `orderBy` (relevant or latest) and `license` (all, free or Unsplash+ only). Filters in a pasted URL win over the input fields.
- `license=all` in a pasted URL now overrides a `license` set in the input fields, so that URL returns both free and Unsplash+ photos.
- With `emitExpired` on, photos that disappeared since the last run are now delivered as `EXPIRED` records. They count toward `maxResults`.

#### Fixed

- Incremental runs: if another run takes over the same state while yours is running, yours stops before delivering (and billing) more photos, and never overwrites the other run's saved state.
- Incremental runs: a run that fails after another run took over its state no longer removes the other run's lock on the way out, so the run that took over finishes normally.
- Searches now return photos on the Apify platform (the HTTP client was missing from the deployed image, so cloud runs ended with 0 results).
- A run where Unsplash could not be read now fails with a clear error instead of reporting an empty result. If only part of the results could be read, you keep that data and the run says it is partial.
- In incremental mode `maxResults` now limits the new or changed photos delivered, not the photos scanned, so unchanged photos no longer use up the limit.
- Different pages (search, collection, topic, photographer) and different filters now track incremental state separately.
