PHPackages                             intervention/pinboard - 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. [CLI &amp; Console](/categories/cli)
4. /
5. intervention/pinboard

ActiveLibrary[CLI &amp; Console](/categories/cli)

intervention/pinboard
=====================

Searchable local Pinboard mirror

1.0.2(4y ago)310MITPHPPHP ^8

Since Apr 30Pushed 1y ago1 watchersCompare

[ Source](https://github.com/Intervention/pinboard)[ Packagist](https://packagist.org/packages/intervention/pinboard)[ RSS](/packages/intervention-pinboard/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (7)Versions (6)Used By (0)

Intervention Pinboard
=====================

[](#intervention-pinboard)

[![Latest Version](https://camo.githubusercontent.com/98d292ca2cc033f4cf4f81640e23dfe293fe40774ed6b2ef9083a8cb1d87b106/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f696e74657276656e74696f6e2f70696e626f6172642e737667)](https://packagist.org/packages/intervention/pinboard)

This packages provides a local command line interface to interact with your link collection at [pinboard.in](https://pinboard.in/). The main reason behind this project is, to have a local mirror of all Pinboard links an a Sqlite database to be able to search the whole collection quickly with the command line.

Installation
------------

[](#installation)

The best way to install this package is globally with Composer.

Require the package via Composer:

```
$ composer global require intervention/pinboard

```

After installation you will have a new `pinboard` executable in `~/.composer/vendor/bin`. It is convenient to have this folder in your `$PATH`.

Setup
-----

[](#setup)

Next you have to configure your Pinboard credentials. To do so create `~/.pinboard` your home directory and put in your username and your access token.

```
PINBOARD_USERNAME=myusername
PINBOARD_TOKEN=mypinboardtoken

```

Now you can init the application, to create the internal sqlite database. This only needs to be done once during the initial setup.

```
$ pinboard init

```

Usage
-----

[](#usage)

### Search Bookmarks

[](#search-bookmarks)

```
$ pinboard search

```

Search your bookmarks with the following command. The first time you run this command, all your bookmarks will be loaded from your pinboard account and saved locally. This happens once if no data is available or if the time interval for a new update has expired.

### Add Bookmarks

[](#add-bookmarks)

```
$ pinboard add

```

Add a new bookmark to the collection, this will be saved both locally and in your account at pinboard.in. If the URL already exists, the bookmark will not be created again, but will be overwritten with the current data.

### See Status of Local Bookmark Database

[](#see-status-of-local-bookmark-database)

```
$ pinboard status

```

Show the status of the local database mirror of your Pinboard account.

### Load all Bookmarks from pinboard.in Account

[](#load-all-bookmarks-from-pinboardin-account)

```
$ pinboard pull

```

Normally this command does not need to be called manually. It is executed automatically when the local database exceeds an age specified by the config value `PINBOARD_UPDATE_EVERY` in your `.pinboard` file. The default is `12 hours`.

Authors
-------

[](#authors)

This library is developed and maintained by [Oliver Vogel](https://intervention.io)

License
-------

[](#license)

Intervention Pinboard is licensed under the [MIT License](LICENSE).

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance30

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~232 days

Total

5

Last Release

549d ago

Major Versions

1.0.2 → 2.0.0-beta2024-11-14

PHP version history (2 changes)1.0.0PHP ^8

2.0.0-betaPHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/7d172b42b2c5b53e71e56589fed3fb3467234a1c266d31b697b1d7b451f4cfe8?d=identicon)[olivervogel](/maintainers/olivervogel)

---

Top Contributors

[![olivervogel](https://avatars.githubusercontent.com/u/884642?v=4)](https://github.com/olivervogel "olivervogel (32 commits)")

---

Tags

cliclientphppinboardpinboard

### Embed Badge

![Health badge](/badges/intervention-pinboard/health.svg)

```
[![Health](https://phpackages.com/badges/intervention-pinboard/health.svg)](https://phpackages.com/packages/intervention-pinboard)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.6k509.9M17.0k](/packages/laravel-framework)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[aedart/athenaeum

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

245.2k](/packages/aedart-athenaeum)[flarum/core

Delightfully simple forum software.

211.3M1.9k](/packages/flarum-core)[statamic/cli

Statamic CLI Tool

7587.7k](/packages/statamic-cli)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

7310.3k29](/packages/open-dxp-opendxp)

PHPackages © 2026

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