This package is abandoned and no longer maintained. The author suggests using the raiym/instagram-php-scraper package instead.

Instagram PHP Scraper. Get account information, photos and videos without any authorization

v1.0.0-RC1 2018-06-24 06:28 UTC


This package is abandoned. Use original postaddictme/instagram-php-scraper

This is the fork of postaddictme/instagram-php-scraper repo. Description from original:

This library based on Instagram web version. We develop it because nowadays it is hard to get approved Instagram application. The purpose support every feature that web desktop and mobile version support.

Fork Information

This fork provides ability to specify custom HTTP client for handling requests. Clients for guzzlehttp/guzzle and mashape/unirest-php are included.

Also, proxy methods are removed from Instagram class: proxy should be configured for HTTP client (following the principle of separation of concerns)


Using composer

composer require downace/instagram-php-scraper

If you don't have composer

You can download it here.


You can see examples of using original library here.

With Unirest (mashape/unirest-php is required):

$insta = new Instagram(new \InstagramScraper\HttpClient\UnirestClient());

With Guzzle (guzzlehttp/guzzle is required):

// \GuzzleHttp\Client with default options will be used
$insta = new Instagram(new \InstagramScraper\HttpClient\GuzzleClient());

// You can provide options for \GuzzleHttp\Client constructor
$insta = new Instagram(new \InstagramScraper\HttpClient\GuzzleClient([ 'timeout' => 5 ]));

// Or pass your own instance of \GuzzleHttp\ClientInterface:
$insta = new Instagram(new \InstagramScraper\HttpClient\GuzzleClient($myClient));

Using proxy:

// With Guzzle.
$insta = new Instagram(new \InstagramScraper\HttpClient\GuzzleClient([
    'proxy' => 'http://user:pass@localhost:8125'

// With Unirest
Request::proxy('localhost', 8125, CURLPROXY_HTTP);
Request::proxyAuth('user', 'pass');
$insta = new Instagram(new \InstagramScraper\HttpClient\UnirestClient());