# Instagram Highlights Scraper · No Login (`data-slayer/instagram-highlights-scraper`) Actor

Extract saved Instagram Highlights from any public profile — no login. Get highlight titles, cover images, media counts, creation dates, and profile data. 23 fields per highlight. Unlike Stories (24hr), Highlights persist forever. Competitive intel and content archiving. JSON/CSV/Excel.

- **URL**: https://apify.com/data-slayer/instagram-highlights-scraper.md
- **Developed by:** [Data Slayer](https://apify.com/data-slayer) (community)
- **Categories:** Social media, Lead generation
- **Stats:** 3 total users, 1 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Instagram Highlights Scraper · No Login

Extract the saved Highlights catalog from any public Instagram profile — highlight titles, cover images, media counts, creation dates, and last-updated timestamps. Unlike Stories that vanish after 24 hours, Highlights persist forever — they're a permanent record of a brand's key messaging, product launches, and FAQs. No login required.

### What You Get

23 fields per highlight reel:

#### Highlight metadata
| Field | Description |
|---|---|
| `title` | Highlight name (e.g., "U30 2026", "Forbes 400", "Top Creators") |
| `id` | Unique highlight ID (e.g., `highlight:18066120860410160`) |
| `media_count` | Number of story items in this highlight |
| `created_at` | When the highlight was first created (Unix timestamp) |
| `updated_timestamp` | When it was last updated |
| `latest_reel_media` | Timestamp of the most recent story in the highlight |
| `is_pinned_highlight` | Whether it's pinned to the profile |

#### Cover image
| Field | Description |
|---|---|
| `cover_media.cropped_image_version.url` | Cover image URL (150x150) |
| `cover_media.crop_rect` | Crop coordinates |

#### Profile
| Field | Description |
|---|---|
| `user.username` | Profile handle |
| `user.full_name` | Display name |
| `user.is_verified` | Blue check status |
| `user.profile_pic_url` | Profile picture |

#### Interaction flags
| Field | Description |
|---|---|
| `can_reply` | Whether viewers can reply to stories |
| `can_reshare` | Whether stories can be shared |
| `is_archived` | Archive status |

### How It Works

**Step 1.** Enter one or more Instagram usernames.

**Step 2.** Click "Start." The actor extracts all saved Highlights from each profile.

**Step 3.** Download as JSON, CSV, or Excel.

---

### What This Actor Does vs. What It Doesn't

This actor returns the **highlight catalog** — the list of highlight reels visible on a profile, with their titles, cover images, and metadata. Think of it as the table of contents.

If you need the actual story items INSIDE a specific highlight (the individual images and videos), you'll need the highlight ID from this actor's output to fetch them separately. This actor gives you the index; the stories within each highlight are a deeper extraction step.

| This Actor Returns | This Actor Does NOT Return |
|---|---|
| Highlight titles | Individual story images/videos within highlights |
| Cover images | Story stickers, polls, or links within highlights |
| Media counts per highlight | Engagement metrics per story |
| Creation and update dates | — |

---

### Use Cases

**Competitive brand messaging analysis.** Every brand's Highlights are a curated showcase of their most important content categories. Scrape a competitor's Highlights to see how they structure their messaging: what topics they highlight (literally), how many stories they dedicate to each theme, and when they last updated each category. If their "Sale" highlight was updated yesterday but their "FAQ" hasn't been touched in 6 months, that tells you where they're focused.

**Content strategy research.** Analyze how top accounts organize their Highlights. What categories do they use? How many stories per highlight? Is there a pattern across successful accounts in your niche? Build a data-driven Highlights strategy instead of guessing.

**Brand monitoring over time.** Schedule this actor to run weekly or monthly on competitor profiles. Track when they add new Highlights, update existing ones, or remove old ones. The `updated_timestamp` field shows you exactly when content changed.

**Influencer vetting.** A well-maintained Highlights section signals professionalism. Check `media_count` and `updated_timestamp` across an influencer's Highlights to assess how actively they curate their profile. Stale Highlights (last updated 12+ months ago) may indicate declining engagement.

**Content audit.** Run this on your own profile to get a structured inventory of your Highlights — titles, media counts, and dates — in a spreadsheet. Useful for planning which highlights to refresh, archive, or expand.

---

### Sample Output

```json
{
  "title": "U30 2026",
  "id": "highlight:18066120860410160",
  "media_count": 21,
  "created_at": 1764945697,
  "updated_timestamp": 1764945697,
  "latest_reel_media": 1764945648,
  "is_pinned_highlight": false,
  "cover_media": {
    "cropped_image_version": {
      "url": "https://scontent.cdninstagram.com/...",
      "height": 150,
      "width": 150
    }
  },
  "user": {
    "username": "forbes",
    "full_name": "Forbes",
    "is_verified": true
  }
}
````

***

### Key Features

**Persistent content extraction.** Highlights don't expire like Stories. They're permanent fixtures on a profile — scrape them anytime without worrying about a 24-hour window.

**23 structured fields.** Titles, cover images, media counts, creation dates, update timestamps, and profile data — all in a clean, consistent schema.

**No login, no cookies.** No Instagram account required.

**Export-ready.** JSON, CSV, Excel. Every row has the same fields — clean for spreadsheet analysis.

***

### FAQ

**Does this return the actual story images and videos inside each highlight?**
No. This actor returns the highlight catalog — titles, cover images, and metadata for each highlight reel. To get the individual stories within a highlight, use the highlight ID from this output with a highlights-detail endpoint.

**How many highlights can I get per profile?**
The actor returns all highlights visible on the profile. Most accounts have 5–20 highlights; some brands have 30+.

**What's the difference between this and the Stories Scraper?**
The [Stories Scraper](https://apify.com/data-slayer/instagram-stories-scraper) captures active stories that disappear after 24 hours. This actor captures Highlights — saved story collections that persist forever.

**Can I track changes over time?**
Yes. The `updated_timestamp` field shows when each highlight was last modified. Schedule recurring runs and compare timestamps to detect when competitors update their Highlights.

***

### 🧩 Other Instagram Actors by Data Slayer

| Actor | What it does | Link |
|---|---|---|
| Instagram Stories Scraper | Active stories (24hr ephemeral) with link extraction | [Try it →](https://apify.com/data-slayer/instagram-stories-scraper) |
| Instagram Contact & Email Finder | Emails & phones from profiles | [Try it →](https://apify.com/data-slayer/instagram-user-info-scraper-cookieless) |
| Instagram Profile Posts Scraper | All posts from a profile | [Try it →](https://apify.com/data-slayer/instagram-posts) |
| Instagram Profile Reels | All Reels from any profile | [Try it →](https://apify.com/data-slayer/instagram-profile-reels) |
| Instagram Reels Search | Discover trending Reels by keyword | [Try it →](https://apify.com/data-slayer/instagram-search-reels) |
| Instagram Tagged Posts | Posts where an account is tagged | [Try it →](https://apify.com/data-slayer/instagram-tagged-posts) |

***

### 💬 Feedback & Support

We actively maintain this actor and ship improvements weekly. Open an issue on the **Issues tab** or leave a rating. We respond within 24 hours.

# Actor input Schema

## `username` (type: `string`):

Instagram username to extract highlights from

## `maxResults` (type: `integer`):

Maximum number of highlights to return

## Actor input object example

```json
{
  "username": "nike",
  "maxResults": 50
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "username": "nike"
};

// Run the Actor and wait for it to finish
const run = await client.actor("data-slayer/instagram-highlights-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "username": "nike" }

# Run the Actor and wait for it to finish
run = client.actor("data-slayer/instagram-highlights-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "username": "nike"
}' |
apify call data-slayer/instagram-highlights-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=data-slayer/instagram-highlights-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Highlights Scraper · No Login",
        "description": "Extract saved Instagram Highlights from any public profile — no login. Get highlight titles, cover images, media counts, creation dates, and profile data. 23 fields per highlight. Unlike Stories (24hr), Highlights persist forever. Competitive intel and content archiving. JSON/CSV/Excel.",
        "version": "1.0",
        "x-build-id": "FQyf26W0MHGzROPYO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/data-slayer~instagram-highlights-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-data-slayer-instagram-highlights-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/data-slayer~instagram-highlights-scraper/runs": {
            "post": {
                "operationId": "runs-sync-data-slayer-instagram-highlights-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/data-slayer~instagram-highlights-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-data-slayer-instagram-highlights-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "username"
                ],
                "properties": {
                    "username": {
                        "title": "Instagram Username",
                        "type": "string",
                        "description": "Instagram username to extract highlights from"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of highlights to return",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
