# solari fetch instagram post assets

> Original-size download links for one Instagram post.

- **CLI**: `solari fetch instagram post assets`
- **MCP tool**: `solari_fetch_instagram_post_assets`
- **Access**: `solari:read`
- **Plans**: Free Trial · Plus · Pro · Enterprise
- **Credit**: 1

Get fresh download links for every media file of one Instagram post, at the largest size Instagram serves: a reel, a single photo or video, or every carousel slide. Every call reads the post from Instagram live.

**When to use it** — When you need the original files of a post. The assets on other tools point at stored copies, which can be smaller.

**What comes back** — The post's author and type, and one download link per media file in order.

## Parameters

- `url` (string, optional, ≤ 512 chars) — Public post URL (/p/, /reel/, or /tv/).
- `slug` (string, optional, pattern ^[A-Za-z0-9_-]{3,20}$) — Instagram shortcode. Wins over url.

## Response

### `Response`

- `found` (boolean) — false if Instagram has no public post at that reference.
- `slug` (string | null) — Shortcode of the post.
- `url` (string | null) — Public permalink.
- `username` (string | null) — The author's handle.
- `post_type` (string | null) — reel, video, photo, or carousel.
- `media_count` (integer) — Number of files in assets.
- `assets` (object[]) — The media files in order.
- `note` (string | null) — Why there is nothing to download, when that is the case.

### `assets[]`

- `index` (integer) — Position of the file in the post, from 1.
- `media_type` (string) — video or image.
- `asset_url` (string) — Download link for the file at the largest size the platform serves. It is temporary, so download promptly.
- `fallback_urls` (string[]) — Other links to the same file, to try in order when asset_url fails.
- `width` (integer | null) — Width in pixels, when known.
- `height` (integer | null) — Height in pixels, when known.
- `video_duration` (number | null) — Video length in seconds.
- `file_extension` (string) — File extension to save with, such as mp4 or jpg.
- `size_bytes` (integer | null) — File size in bytes, when known.
- `referer` (string | null) — Send this as the Referer header when downloading. Null when no header is needed.

## Example

```console
$ solari fetch instagram post assets slug=DcyMAmUh6FZ
```

_Long strings and repeated array entries are trimmed for readability._

```json
{
  "found": true,
  "slug": "DcyMAmUh6FZ",
  "video_id": null,
  "url": "https://www.instagram.com/p/DcyMAmUh6FZ/",
  "username": "innisfreeofficial",
  "post_type": "reel",
  "media_count": 1,
  "assets": [
    {
      "index": 1,
      "media_type": "video",
      "asset_url": "https://scontent-cph2-1.cdninstagram.com/….mp4?…",
      "fallback_urls": [],
      "width": 720,
      "height": 1280,
      "video_duration": 23.868,
      "file_extension": "mp4",
      "size_bytes": null,
      "referer": null
    }
  ],
  "note": null
}
```

## As an MCP call

```json
{
  "name": "solari_fetch_instagram_post_assets",
  "arguments": {
    "slug": "DcyMAmUh6FZ"
  }
}
```

## Notes

- To save the files in one step, run solari instagram download content slugs=… dir=… instead. It calls this tool and downloads every file.
- The links are temporary signed links. Download promptly and call again for fresh ones.
- Every call goes out to Instagram and takes a few seconds.

## Related tools

- [`solari instagram download content`](https://finder-dev-pub.bzine.co/docs/tools/instagram-download-content.md)
- [`solari_fetch_instagram_post`](https://finder-dev-pub.bzine.co/docs/tools/fetch-instagram-post.md)
- [`solari_catalog_instagram_content_detail`](https://finder-dev-pub.bzine.co/docs/tools/catalog-instagram-content-detail.md)
- [`solari_fetch_tiktok_post_assets`](https://finder-dev-pub.bzine.co/docs/tools/fetch-tiktok-post-assets.md)
