PHPackages                             pixelpoems/silverstripe-instagram-feed - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. pixelpoems/silverstripe-instagram-feed

ActiveSilverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

pixelpoems/silverstripe-instagram-feed
======================================

Silverstripe module that generates an instagram feed for a given user.

2.0.0(3mo ago)111BSD-3-ClausePHP

Since Apr 7Pushed 3mo ago2 watchersCompare

[ Source](https://github.com/pixelpoems/silverstripe-instagram-feed)[ Packagist](https://packagist.org/packages/pixelpoems/silverstripe-instagram-feed)[ RSS](/packages/pixelpoems-silverstripe-instagram-feed/feed)WikiDiscussions main Synced today

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

Silverstripe Instagram Feed Module
==================================

[](#silverstripe-instagram-feed-module)

[![stability-beta](https://camo.githubusercontent.com/36eced06ca8bf4d0320406cbe1eacb0dbca16e6726c978d54c184e7676204dee/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73746162696c6974792d626574612d3333626266662e737667)](https://github.com/mkenney/software-guides/blob/master/STABILITY-BADGES.md#beta)

This module provides a service to get the latest posts from an instagram account. It also provides a DNA Elemental Element to display the feed. This is only a basic implementation and can be extended by your own needs. You need to provide an access token to use this module. To use this you need to create an instagram developer app and an instagram api app. See [External Requirement Setup](#external-requirement-setup) for more information. It is necessary to use a public instagram account to use this module (it's a limitation of the instagram api).

- [Requirements](#requirements)
- [Installation](#installation)
- [Configuration](#configuration)
- [Usage](#usage)
- [External Requirement Setup](#external-requirement-setup)

Requirements
------------

[](#requirements)

- Silverstripe CMS ^6.0

External Requirements:

- Meta Developer App [(Instruction)](#meta-developer-app)
- Instagram Basic Display API [(Instruction)](#instagram-basic-display-api)
- Public Instagram Account

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

[](#installation)

```
composer require pixelpoems/silverstripe-instagram-feed

```

Configuration
-------------

[](#configuration)

You can add your instagram access token (Follow [Instructions](#external-requirement-setup) to get the token) within a yml config:

```
Pixelpoems\InstagramFeed\Services\InstagramService:
  instagram_access_token: ''
```

or you set a `.env` Variable:

```
INSTAGRAM_ACCESS_TOKEN=''
```

If both variables are given, the yml variable will be used.

Furthermore, you can set a default size:

```
Pixelpoems\InstagramFeed\Services\InstagramService:
  default_post_size: 250
```

Usage
-----

[](#usage)

This module comes with a configured Instagram Feed Element (Usage with DNA Elemental).

If you want to use the feed somewhere else you can include the service like this:

```
public function getInstagramFeed(): ArrayList
{
    $service = InstagramService::create('page_' . $this->ID); // Make sure to use a unique identifier for the service for caching purposes

    // To use the reduced display which only renders images (no carousels or videos)
    $service->setReducedDisplay(true);

    return $service->getFeed($limit = 12);
}
```

After that you can include the feed include in your template file:

```

```

Caching
-------

[](#caching)

The Instagram Feed is cached for 60 minutes by default to avoid reaching the rate limit of the Instagram API. [Rate Limiting](https://developers.facebook.com/docs/graph-api/overview/rate-limiting/)You can change the cache time by setting the cache time in the yml config:

```
Pixelpoems\InstagramFeed\Services\InstagramService:
  cache_time: 3600 # seconds
```

The Instagram Post
------------------

[](#the-instagram-post)

KeyDescription`ID`ID of the Instagram Post`MediaType`Type of Instagram Media

`IMAGE`
`CAROUSEL_ALBUM`
`VIDEO``Link`Permalink for the Instagram Post`ProfileLink`Link of the Instagram Profile`Username`Username of the instagram profile`MediaSrc`Source of the Media (Image Source for `IMAGE`, First Image Source for `CAROUSEL_ALBUM` and Thumbnail Source for `VIDEO`)`VideoSrc`Video Source - only available for Media Type `VIDEO``Caption`Caption of the Instagram Post`Timestamp`Timestamp of the Instagram Post`Children`Contains the information of the child elements \[`ID`, `MediaSrc`\]- only available for Media Type `CAROUSEL_ALBUM``DefaultSize`Default Size of post `250`External Requirement Setup
--------------------------

[](#external-requirement-setup)

### Meta Developer App

[](#meta-developer-app)

To use the **Instagram API** you have to create a **Meta App** first.

1. Go to  and select Type (Use "Business").

[![external-requirements-meta-1.png](resources%2Fexternal-requirements-meta-1.png)](resources%2Fexternal-requirements-meta-1.png)

2. Provide your App details (Name and contact mail).
3. Select "Instagram" from the product list.

[![external-requirements-meta-3.png](resources%2Fexternal-requirements-meta-3.png)](resources%2Fexternal-requirements-meta-3.png)

### Instagram

[](#instagram)

1. Add Test User. Open "Instagram &gt; App-Rollen &gt; Rollen" on the product overview (left menu). [![external-requirements-test-user.png](resources%2Fexternal-requirements-test-user.png)](resources%2Fexternal-requirements-test-user.png)

- Add User
- Select Instagram-Tester
- Search for your Instagram account and add it as tester.
- Go to your Instagram account settings page &gt; App and Websites &gt; Tester invites, accept the invite. [https://www.instagram.com/accounts/manage\_access/](https://www.instagram.com/accounts/manage_access/)

2. Back to "Products &gt; Instagram &gt; API-Einrichtung mit Instagram-Login" on the product overview (left menu). [![external-requirements-idapi-1.png](resources%2Fexternal-requirements-idapi-1.png)](resources%2Fexternal-requirements-idapi-1.png)

- Click on 1. User Token Generator, your Instagram account should appear in the list, then click "Generate Token" button for authorize and generate long-lived access token for Instagram. And copy the token.

3. Use this token within your yml config or your .env configuration or the yml setup (see [Configuration](#configuration)).

Reporting Issues
----------------

[](#reporting-issues)

Please [create an issue](https://github.com/pixelpoems/silverstripe-instagram-feed/issues) for any bugs you've found, or features you're missing.

ToDos
-----

[](#todos)

- Add option to set default\_post\_size as square

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance80

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity40

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 ~172 days

Total

3

Last Release

108d ago

Major Versions

1.1.0 → 2.0.02026-03-17

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/121180645?v=4)[pixelpoems](/maintainers/pixelpoems)[@pixelpoems](https://github.com/pixelpoems)

---

Top Contributors

[![BettinaMaria98](https://avatars.githubusercontent.com/u/50010683?v=4)](https://github.com/BettinaMaria98 "BettinaMaria98 (24 commits)")

---

Tags

instagramsilverstripeelement

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/pixelpoems-silverstripe-instagram-feed/health.svg)

```
[![Health](https://phpackages.com/badges/pixelpoems-silverstripe-instagram-feed/health.svg)](https://phpackages.com/packages/pixelpoems-silverstripe-instagram-feed)
```

###  Alternatives

[silverstripe/userforms

UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code

1371.1M85](/packages/silverstripe-userforms)[symbiote/silverstripe-advancedworkflow

Adds configurable workflow support to the CMS, with a GUI for creating custom workflow definitions.

46302.4k9](/packages/symbiote-silverstripe-advancedworkflow)[silverstripe/sharedraftcontent

Share draft page content with non-CMS users

21424.1k12](/packages/silverstripe-sharedraftcontent)

PHPackages © 2026

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