I am going to show you how to access Instagram Feed using instagram API. We can get our instagram feed without using any composer package, I simply use GuzzleHttp for getting instagram feed, We can also get location, likes, comments, images, name, id and etc.
GuzzleHttp provide use fire get request to given api, “https://www.instagram.com/username/media” API like, It is very basic example without generate instagram token. Here you can access feed of any user by username.
Preview:

Step 1: Create Route
routes/web.php
Route::get('instagram_web', 'InstagramDataController@index');
Step 2: Create Controller
In this point, now we should create new controller call InstagramDataControllerin this path app/Http/Controllers/InstagramDataController.php. In this controller we will manage route method, i added one method in this controller as listed bellow:
1) index()
So, copy bellow code and put in your controller file.
app/Http/Controllers/InstagramDataController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
class InstagramController extends Controller
{
/**
* Get the index name for the model.
*
* @return string
*/
public function index(Request $request)
{
$items = [];
if($request->has('username')){
$client = new \GuzzleHttp\Client;
$url = sprintf('https://www.instagram.com/%s/media',
$request->input('username'));
$response = $client->get($url);
$items = json_decode((string) $response->getBody(), true)['items'];
}
return view('instagram',compact('items'));
}
}
Step 3: Create View
In this step, we have to create total one blade file as listed bellow:
1. instagram.blade.php
This both blade file will help to render layout of instagram data, so let’s create file view file and put bellow code.
resources/views/instagram.blade.php
<!DOCTYPE html>
<html>
<head>
<title>Laravel 5 Instagram API tutorial with example</title>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div class="container">
<h2>Laravel 5 Instagram API tutorial with example</h2><br/>
<form method="GET" role="form">
<div class="row">
<div class="col-md-6">
<div class="form-group">
<input type="text" id="username" name="username" class="form-control" placeholder="Enter Instagram Username" value="{{ old('username') }}">
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<button class="btn btn-success">Search</button>
</div>
</div>
</div>
</form>
<div class="panel panel-primary">
<div class="panel-heading">Instagram Feed</div>
<div class="panel-body">
<table class="table table-bordered">
<thead>
<th>No</th>
<th width="200px;">Id</th>
<th>Code</th>
<th>Image</th>
<th>Location</th>
<th>Total Likes</th>
<th>Total Comments</th>
</thead>
<tbody>
@if(!empty($items))
@foreach($items as $key => $item)
<tr>
<td>{{ ++$key }}</td>
<td>{{ $item['id'] }}</td>
<td>{{ $item['code'] }}</td>
<td><img src="{{ $item['images']['standard_resolution']['url'] }}" style="width:100px;"></td>
<td>{{ isset($item['location']['name']) ? $item['location']['name'] : '' }}</td>
<td>{{ $item['likes']['count'] }}</td>
<td>{{ $item['comments']['count'] }}</td>
</tr>
@endforeach
@else
<tr>
<td colspan="4">There are no data.</td>
</tr>
@endif
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
Note: If you found “Class ‘GuzzleHttp\Client’ not found” Then run bellow command : We help you to mee
composer require guzzlehttp/guzzle
I hope it can help you…