> For the complete documentation index, see [llms.txt](https://docs.feedspring.com/introduction/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.feedspring.com/introduction/getting-started/quickstart.md).

# Quickstart

Get a live FeedSpring feed on your site in under two minutes using HTML attributes.

Get a live FeedSpring feed on your site in under 2 minutes.

This example uses [**Attributes**](/introduction/attributes/overview.md), the fastest way to get started.

FeedSpring works the same across all feed types — Instagram, Google Reviews, TikTok and Dribbble.

<figure><img src="https://3828662318-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKLkySY85psZLfsr3znlv%2Fuploads%2Fgit-blob-19a8a96b03fd90e7de17cb218f8f9015ab8c2529%2Fdivider-blog.png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3828662318-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKLkySY85psZLfsr3znlv%2Fuploads%2Fgit-blob-2430f4f7102c2c41ffb2d1715dc05c0f3de25a37%2Fmain-cta.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 1 — Add the script

Add the script for your feed type to your site `<head>`

```html
<!-- Instagram -->
<script src="https://scripts.feedspring.com/instagram-attrs.js" async defer></script>

<!-- Google Reviews -->
<script src="https://scripts.feedspring.com/google-reviews-attrs.js" async defer></script>

<!-- TikTok -->
<script src="https://scripts.feedspring.com/tiktok-attrs.js" async defer></script>

<!-- Dribbble -->
<script src="https://scripts.feedspring.com/dribbble-attrs.js" async defer></script>
```

👉 Only include the script for the feed you want to use.

<figure><img src="https://3828662318-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKLkySY85psZLfsr3znlv%2Fuploads%2Fgit-blob-19a8a96b03fd90e7de17cb218f8f9015ab8c2529%2Fdivider-blog.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 2 — Add your feed wrapper

Add a wrapper element using your FeedSpring feed ID.

For testing, you can use this Instagram feed ID: `inst_55ZVUQExmdej0j8vygUoP`

```html
<div 
  feedspring="inst_55ZVUQExmdej0j8vygUoP" 
  feed-options="render:dynamic|limit:6|lang:en">
</div>
```

The `feed-options` attribute is optional and allows you to configure how your feed renders.

| Option           | Description                                                             |
| ---------------- | ----------------------------------------------------------------------- |
| `render:dynamic` | Automatically clones a single reusable post template for each feed item |
| `limit:6`        | Limits the number of rendered posts                                     |
| `lang:en`        | Sets the feed language                                                  |

<figure><img src="https://3828662318-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKLkySY85psZLfsr3znlv%2Fuploads%2Fgit-blob-19a8a96b03fd90e7de17cb218f8f9015ab8c2529%2Fdivider-blog.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 3 — Add a post layout

Add a single reusable post template inside the feed wrapper.

With `render:dynamic` set on the wrapper, FeedSpring clones this one `<div feedspring="post">` template for every post in your feed — so you only design the layout once. Without this attribute, you'll need to duplicate each post structure depending on how many posts you want to display.

```html
<div 
  feedspring="inst_55ZVUQExmdej0j8vygUoP" 
  feed-options="render:dynamic|limit:6|lang:en">

  <div feedspring="post">
    <img feed-field="img" alt="" />
    <p feed-field="caption"></p>
    <a feed-field="link" target="_blank" rel="noopener">
      View post
    </a>
  </div>
</div>
```

<figure><img src="https://3828662318-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKLkySY85psZLfsr3znlv%2Fuploads%2Fgit-blob-19a8a96b03fd90e7de17cb218f8f9015ab8c2529%2Fdivider-blog.png?alt=media" alt=""><figcaption></figcaption></figure>

### Step 4 — Done

Your feed will now render automatically.

<figure><img src="https://3828662318-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKLkySY85psZLfsr3znlv%2Fuploads%2Fgit-blob-19a8a96b03fd90e7de17cb218f8f9015ab8c2529%2Fdivider-blog.png?alt=media" alt=""><figcaption></figcaption></figure>

### Optional — Limit the number of posts

For optimal performance, we recommend setting a post limit in your FeedSpring dashboard. You can also specify a limit directly through the feed options.

```
<div feedspring="YOUR_FEED_ID" feed-options="limit:6">
```

***

### How it works

FeedSpring looks for three things:

* `feedspring="ID"` → connects to your feed
* `feedspring="post"` → repeats for each item
* `feed-field="..."` → inserts data

***

### What next

* Customize your layout with your own styles
* View all available fields
  * [Instagram](/introduction/feeds/instagram.md)
  * [Google Reviews](/introduction/feeds/google-reviews.md)
  * [TikTok](/introduction/feeds/tiktok.md)
  * [Dribbble](/introduction/feeds/dribbble.md)
* Learn more about [feed options](/introduction/attributes/feed-options.md)

***

### Using React, the API, or Framer?

* **React or Next.js** → see [React & Next.js](/introduction/build-with/react-nextjs.md)
* **Framer** → see [Framer](/introduction/build-with/framer.md)
* **Raw data** → see the [GraphQL Quickstart](/introduction/graphql-api/quickstart.md)
* **Not sure?** → see [Choose your setup](/introduction/getting-started/choose-your-setup.md)

***

### Plan update rates

Post limits and refresh frequency depend on your plan and feed source. See [Plans](/introduction/core-concepts/plans.md).
