/php-pinterest-bot

This PHP library will help you to work with your Pinterest account without using any API account credentials.

Primary LanguagePHPMIT LicenseMIT

Pinterest Bot for PHP

Pinterest PHP Bot

Build Status Code Climate Scrutinizer Code Quality Test Coverage StyleCI Total Downloads

A PHP library to help you work with your Pinterest account without API credentials.

The Pinterest API is painful: receiving an access token involves registering a developer account, registering an application, then waiting for confirmation. Not to mention, the public API itself is poorly implemented and has a limited set of features.

This library offers the full functionality available on Pinterest's website, with no need to register an application to receive an access token. All that's needed is your account login information (but even this is not required if you don't plan on creating pins, writing comments or sending messages)!

Installation

Dependencies

Library requires CURL extension and PHP 7.0 or above.

The recommended way to install this library is via Composer. New to Composer?

composer require seregazhuk/pinterest-bot

Quick Start

// You may need to amend this path to locate Composer's autoloader
require('vendor/autoload.php'); 

use seregazhuk\PinterestBot\Factories\PinterestBot;

$bot = PinterestBot::create();

// Login
$bot->auth->login('mypinterestlogin', 'mypinterestpassword');

// Get lists of your boards
$boards = $bot->boards->forUser('yourUserName');

// Create a pin
$bot->pins->create('http://exmaple.com/image.jpg', $boards[0]['id'], 'Pin description');

Note: Some methods (e.g. get user followers/following, pins likes/dislikes, search and other feed queries) use Pinterest navigation through results (with bookmarks). This means that for every batch of results, a call is made to Pinterest and a Pagination object with Pinterest API results is returned.

How to avoid ban

To avoid being banned by Pinterest, do not aggressively pin or write comments (e.g. creating hundreds of pins in a single minute). Do this by inserting timeouts (sleep($seconds)) with calls.

Examples

These articles provide examples of common tasks that can be performed with the bot:

How can I thank you?

Why not star this GitHub repo? I'd love the attention! Or, you can donate to my project on PayPal:

Support me with some coffee

Thanks!