PHPackages                             simondubois/unsplash-downloader - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. simondubois/unsplash-downloader

ArchivedLibrary

simondubois/unsplash-downloader
===============================

CLI to download photos from unsplash.com

2.3.0(10y ago)111GPL-2.0PHP

Since Oct 7Pushed 9y ago1 watchersCompare

[ Source](https://github.com/simondubois/unsplash-downloader)[ Packagist](https://packagist.org/packages/simondubois/unsplash-downloader)[ RSS](/packages/simondubois-unsplash-downloader/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (5)Dependencies (4)Versions (5)Used By (0)

unsplash-downloader
===================

[](#unsplash-downloader)

[![Unsplash image](https://raw.githubusercontent.com/simondubois/unsplash-downloader/master/screenshot.png "Unsplash image")](https://raw.githubusercontent.com/simondubois/unsplash-downloader/master/screenshot.png)

CLI to download photos from [unsplash.com](https://www.unsplash.com)

Status
------

[](#status)

[![Build Status](https://camo.githubusercontent.com/f619dd3f704201bce7be0f134dc864dcd4e9ce3455abdbf1f63a651a5b7fd5fe/68747470733a2f2f7472617669732d63692e6f72672f73696d6f6e6475626f69732f756e73706c6173682d646f776e6c6f616465722e737667)](https://travis-ci.org/simondubois/unsplash-downloader)[![Code Coverage](https://camo.githubusercontent.com/e50db3132b40b49a928f7ae2c9c2702cfac64a1288aaf42498fca17bfb118191/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73696d6f6e6475626f69732f756e73706c6173682d646f776e6c6f616465722f6261646765732f636f7665726167652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/simondubois/unsplash-downloader/?branch=master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/77590949c4658dd73253e020e35f781db778c7c8e5662187162f585204ee0b6b/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f73696d6f6e6475626f69732f756e73706c6173682d646f776e6c6f616465722f6261646765732f7175616c6974792d73636f72652e706e673f623d6d6173746572)](https://scrutinizer-ci.com/g/simondubois/unsplash-downloader/?branch=master)[![SensioLabsInsight](https://camo.githubusercontent.com/8931826001234652f6789df21e3eb8d3d55ed598b4417f55b0e9aabae67e25a9/68747470733a2f2f696e73696768742e73656e73696f6c6162732e636f6d2f70726f6a656374732f34353536666232392d636538342d343636382d613931382d6365346662333966333038332f6d696e692e706e67)](https://insight.sensiolabs.com/projects/4556fb29-ce84-4668-a918-ce4fb39f3083)

This application is now considered as stable. No more features are planned, but feel free to suggest some if you need. Any help is welcome !

Usage
-----

[](#usage)

Download photos :

```
unsplash-downloader [--destination DESTINATION] [--quantity QUANTITY] [--history HISTORY] [--featured]
unsplash-downloader [--destination DESTINATION] [--quantity QUANTITY] [--history HISTORY] [--category CATEGORY]
unsplash-downloader [--categories]

```

### Executable

[](#executable)

The executable is located into the build directory.

### Requirements

[](#requirements)

Dependency : PHP 5.5+ or 7 or hhvm.

### Options

[](#options)

```
--destination DESTINATION

```

Directory where to download photos. *Default: current working directory*

```
  --quantity QUANTITY

```

Number of photos to download. *Default: 10*

```
  --history HISTORY

```

Filename to use as download history. When photos are downloaded, their IDs will be stored into the file. Then any further download is going to ignore photos that have their ID in the history. Usefull to delete unwanted pictures and prevent the CLI to download them again. *Default: none*

```
  --featured

```

Download only featured photos (incompatible with the --category option). *Default: false*

```
  --category CATEGORY

```

Only download photos for the given category ID (incompatible with the --featured option). *Default: none*

```
  --categories

```

Print out categories and quit (no download). *Default: false*

---

Build from source
-----------------

[](#build-from-source)

### Get sources

[](#get-sources)

```
git clone git@github.com:simondubois/unsplash-downloader.git

```

### Install dependencies

[](#install-dependencies)

```
cd unsplash-downloader/
composer install

```

### Make your changes

[](#make-your-changes)

```
	cli/index.php

```

CLI stub. Initial script to define application commands and run it.

```
	src/Application.php

```

An Application is the container for a collection of commands. It is the main entry point of a Console application. This class is optimized for a standard CLI environment.

```
	src/Download.php

```

A download command to handle the whole process to download photos. Steps are :

- check option validity (destination, count and history).
- create a task (to deal with Unsplash API).
- execute the task.

```
	src/Task.php

```

A task to download photos from Unsplash. Steps are

- list photos
- download photos

```
	src/Unsplash.php

```

A proxy to deal with the Unsplah API :

- list photos

```
	src/History.php

```

A proxy to handle history operations like :

- loading history from file
- checking existence of entity in history
- appending data to history
- saving history to file

### Run tests

[](#run-tests)

```
vendor/bin/phpunit

```

Test coverage can be found under `tests/coverage`.

### Build PHAR

[](#build-phar)

```
php create-phar.php

```

The generated PHAR can be found under `build`.

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 98.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~40 days

Total

5

Last Release

3710d ago

Major Versions

1.0 → 2.12015-11-14

### Community

Maintainers

![](https://www.gravatar.com/avatar/44b34b5270b972ebdb9569d3bdcb2e4a789255bdd57c4c6efb8b41b64fd6027e?d=identicon)[simondubois](/maintainers/simondubois)

---

Top Contributors

[![simondubois](https://avatars.githubusercontent.com/u/9416595?v=4)](https://github.com/simondubois "simondubois (92 commits)")[![zembrowski](https://avatars.githubusercontent.com/u/2451083?v=4)](https://github.com/zembrowski "zembrowski (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/simondubois-unsplash-downloader/health.svg)

```
[![Health](https://phpackages.com/badges/simondubois-unsplash-downloader/health.svg)](https://phpackages.com/packages/simondubois-unsplash-downloader)
```

###  Alternatives

[phan/phan

A static analyzer for PHP

5.6k11.2M1.1k](/packages/phan-phan)[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[php-soap/wsdl

Deals with WSDLs

173.5M12](/packages/php-soap-wsdl)[php-soap/wsdl-reader

A WSDL reader in PHP

212.3M9](/packages/php-soap-wsdl-reader)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
