Documentation

Customization

Control how your feed looks directly from the dashboard or via HTML attributes.

Dashboard settings

Most layout settings are configured from the feed’s settings page in the dashboard (Feeds → your feed → Settings). Changes apply immediately without re-deploying your site.

SettingDescriptionPlan
Feed nameInternal label — not shown to visitors.All
Max postsMaximum number of posts to display. Limited by your plan.All
Refresh intervalHow often to check Instagram for new posts.All
Allowed domainsRestrict which websites can embed this feed.All

Layout options

Set layout options via data- attributes on the container element. See Embed options for the full reference.

Columns

data-columns
Range: 1–6Default: 3

Use 2 for a portrait/blog feel, 4–5 for a gallery wall effect.

Gap

data-gap
Range: 0–64 (px)Default: 4

Set to 0 for a seamless mosaic. 8–16 for a card grid.

Border radius

data-border-radius
Range: 0–999 (px)Default: 0

0 = sharp squares. 8 = subtle rounding. 999 = circles.

Plan limits

Some settings are gated by your plan. Here’s a summary:

PlanMax postsRefreshFeedsViews/mo
Free9Daily11,000
Solo30Hourly110,000
Growth10010 min10100,000
Scale1505 min25500,000
Partner1501 min50+100k + overage

See pricing for full plan details.

Custom CSS

The widget adds a small set of CSS classes you can override in your own stylesheet:

.feedembed-grid   { /* the outer grid container */ }
.feedembed-post   { /* each post cell */ }
.feedembed-post a { /* the link wrapping each image */ }
.feedembed-post img { /* the post image */ }
.feedembed-empty  { /* shown when no posts are available */ }

All classes are prefixed with feedembed- to avoid conflicts with your existing styles. Use !important sparingly — the widget’s styles use low specificity intentionally.