# Instagram Video & Reels Details Scraper (`alpha-scraper/instagram-video-reels-details-scraper`) Actor

Extract detailed data from individual Instagram videos, Reels, and supported posts with the Instagram Video & Reels Details Scraper. Collect captions, creator information, likes, comments, views, duration, thumbnails, video URLs, resolution, hashtags, mentions, and timestamps in structured output.

- **URL**: https://apify.com/alpha-scraper/instagram-video-reels-details-scraper.md
- **Developed by:** [Alpha Scraper](https://apify.com/alpha-scraper) (community)
- **Categories:** Videos, Social media, Other
- **Stats:** 6 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

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

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### Instagram Video & Reels Details Scraper

The **Instagram Video & Reels Details Scraper** extracts structured information from individual Instagram video, Reel, and supported post URLs. It is designed for users who need organized metadata from public Instagram media pages without manually opening and recording information from each item.

Provide one or multiple supported Instagram URLs through the `startUrls` input, start the Actor, and receive structured results for successfully processed pages. Depending on the available public data, the output can include the media identifier, owner information, caption, likes, comments, video views, duration, upload date, video URLs, thumbnail URL, resolution, hashtags, mentions, and formatted versions of important statistics.

This Actor is useful for Instagram content research, profile and media analysis, dataset creation, competitive research, social media analytics, and automated data collection workflows.

### What Is an Instagram Video & Reels Details Scraper?

An **Instagram Video & Reels Details Scraper** is a data extraction tool for collecting information from individual Instagram media URLs. Rather than manually checking each Reel or video page, users can submit supported URLs and receive the extracted information in a consistent structured record.

The Actor accepts URLs using Instagram's `/reel/`, `/reels/`, and `/p/` URL patterns. It identifies the media code from the supplied URL and processes the corresponding Instagram media page.

The resulting dataset is intended for analysis and research. It separates core media metadata, creator information, engagement statistics, media URLs, captions, hashtags, mentions, and timestamps into dedicated fields.

### Key Features

| **Feature**                    | **Description**                                                                     | **User Benefit**                              |
| ------------------------------ | ----------------------------------------------------------------------------------- | --------------------------------------------- |
| Single-media URL extraction    | Processes individual Instagram video, Reel, or supported post URLs                  | Collect details without manual copying        |
| Multiple URL input             | Accepts an array containing one or more URLs                                        | Process multiple media pages in one Actor run |
| Creator information            | Returns available owner name, username, and owner ID information                    | Connect media records with creator data       |
| Engagement metrics             | Extracts likes, comments, and available video view counts                           | Support engagement and performance analysis   |
| Caption extraction             | Returns the available caption text                                                  | Analyze post context and descriptions         |
| Media information              | Includes video URLs, thumbnail URL, resolution, and type information                | Build structured media datasets               |
| Hashtag and mention extraction | Separates hashtags and mentions from the caption                                    | Support topic and account analysis            |
| Formatted metrics              | Provides readable versions of large engagement numbers                              | Make datasets easier to review                |
| Upload timestamp               | Returns an ISO-formatted upload date when available                                 | Support chronological analysis                |
| Cookie-free operation          | The Actor is designed to attempt extraction without requiring user-supplied cookies | Simplifies setup for users                    |

### What Data Can You Extract?

The Actor returns a broad set of structured fields associated with the processed Instagram media.

**Media and identification data**

- `original_url` — normalized Instagram Reel URL associated with the extracted media.
- `id` — Instagram media shortcode.
- `pk` — media primary key value when available.
- `type_formated` — media type classification returned by the Actor.

**Owner information**

- `ownerFullName` — available full name of the media owner.
- `ownerUsername` — Instagram username of the owner.
- `ownerId` — owner identifier when available.

**Caption and text**

- `description` — extracted caption text.
- `caption` — the same caption content provided as a dedicated field.
- `hashtags_formated` — hashtags found in the caption.
- `mentions_formated` — Instagram-style mentions found in the caption.

**Engagement metrics**

- `likesCount` — raw likes count represented as a string.
- `commentsCount` — raw comments count represented as a string.
- `videoViewCount` — available play or video view count represented as a string.
- `likesCount_formated` — abbreviated likes value such as `1.2k`.
- `commentsCount_formated` — abbreviated comments value.
- `videoViewCount_formated` — abbreviated video view value.

**Media and timing information**

- `duration` — duration represented in seconds.
- `duration_formated` — formatted duration field returned by the Actor.
- `upload_date` — upload timestamp in ISO 8601 format when the source provides the required timestamp.
- `video_urls` — available video media URLs.
- `thumbnail_url` — available thumbnail image URL.
- `resolution_formated` — original media dimensions such as `1080x1920`.

The Actor also returns `_scraped_at`, which records the UTC timestamp when the record was collected, and `_source_index`, which identifies the position of the processed URL in the submitted input list.

### Why Use This Actor?

Manually collecting information from individual Instagram videos and Reels becomes repetitive when research involves multiple URLs. This Actor turns supported media pages into structured records that can be reviewed and analyzed as a dataset.

The main practical advantages are consistency and automation. Instead of copying captions, engagement numbers, creator information, and media metadata into separate spreadsheets by hand, users can collect the available fields together in each result.

The extracted structure is particularly useful when researchers need to compare several media items, identify recurring hashtags, inspect creator activity, study engagement levels, or maintain datasets for later analysis.

### Benefits

The **Instagram Video & Reels Details Scraper** can support workflows that require repeatable Instagram media data collection.

- **Automated collection:** Reduce repetitive manual extraction from individual media pages.
- **Structured records:** Keep related metadata and engagement fields together.
- **Batch-oriented input:** Submit multiple supported URLs within one run.
- **Research support:** Use extracted information for content, creator, or competitive research.
- **Dataset creation:** Build organized collections of Instagram media records.
- **Analysis-ready fields:** Raw and formatted metrics make review and processing easier.
- **Text analysis:** Captions, hashtags, and mentions are separated into dedicated fields.

### How to Use the Instagram Video & Reels Details Scraper

Using the Actor requires only the documented URL input.

1. Open the Actor input and locate `Start URLs`.
2. Add one or more supported Instagram video, Reel, or post URLs.
3. Keep each URL as a separate item in the input array.
4. Start the Actor.
5. Review the resulting dataset and use the extracted records in your research or data workflow.

A small test run is recommended before submitting a larger collection of URLs so you can confirm that the target pages return the information you need.

### Input

The Actor requires one input field named `startUrls`. It must contain an array of URL objects.

| **Field**   | **Type**             | **Required** | **Description**                                                      |
| ----------- | -------------------- | ------------ | -------------------------------------------------------------------- |
| `startUrls` | Array of URL objects | Yes          | One or more Instagram video, Reel, or supported post URLs to process |

Supported URL patterns include Instagram paths using `/reel/`, `/reels/`, and `/p/`. The Actor extracts the media code from the supplied URL and processes the corresponding media item.

There is no user-configurable maximum URL count defined in the supplied Actor input schema. Actual processing may therefore depend on the number of URLs submitted and the availability of source data for those pages.

### Input Example

```json
{
  "startUrls": [
    {
      "url": "https://www.instagram.com/reel/DHCcTryOTlc/"
    },
    {
      "url": "https://www.instagram.com/reels/DU7bmIVEndD/"
    },
    {
      "url": "https://www.instagram.com/p/DOL6m5lDle_/"
    }
  ]
}
```

Use valid Instagram URLs and keep the JSON structure consistent with the documented `startUrls` array.

### Output

For each successfully extracted media item, the Actor pushes one structured dataset record.

The output includes identification, owner, caption, engagement, media, timing, and text-related fields.

| **Field**                 | **Description**                                       |
| ------------------------- | ----------------------------------------------------- |
| `original_url`            | Normalized Instagram Reel URL for the extracted media |
| `id`                      | Instagram shortcode                                   |
| `ownerFullName`           | Available owner full name                             |
| `ownerUsername`           | Available Instagram username                          |
| `ownerId`                 | Owner identifier when available                       |
| `pk`                      | Media primary key when available                      |
| `description`             | Extracted caption text                                |
| `caption`                 | Caption text                                          |
| `likesCount`              | Likes count as a string                               |
| `commentsCount`           | Comments count as a string                            |
| `videoViewCount`          | Available video play/view count as a string           |
| `duration`                | Media duration in seconds                             |
| `upload_date`             | ISO-formatted upload timestamp when available         |
| `video_urls`              | Available video URLs                                  |
| `likesCount_formated`     | Abbreviated likes value                               |
| `commentsCount_formated`  | Abbreviated comments value                            |
| `videoViewCount_formated` | Abbreviated view value                                |
| `duration_formated`       | Formatted duration field returned by the Actor        |
| `thumbnail_url`           | Thumbnail image URL                                   |
| `resolution_formated`     | Media dimensions such as `1080x1920`                  |
| `type_formated`           | Returned media type classification                    |
| `hashtags_formated`       | Hashtags extracted from the caption                   |
| `mentions_formated`       | Mentions extracted from the caption                   |
| `_scraped_at`             | UTC timestamp of extraction                           |
| `_source_index`           | Position of the input URL in the submitted list       |

Some fields depend on information being available on the processed Instagram media page. A missing source value may therefore result in an empty or default value.

### Output Example

```json
{
  "original_url": "https://www.instagram.com/reel/DHCcTryOTlc/",
  "id": "DHCcTryOTlc",
  "ownerFullName": "Example Creator",
  "ownerUsername": "examplecreator",
  "ownerId": "123456789",
  "pk": "987654321",
  "description": "Example caption with #instagram #reels @exampleaccount",
  "caption": "Example caption with #instagram #reels @exampleaccount",
  "likesCount": "12500",
  "commentsCount": "184",
  "videoViewCount": "96500",
  "duration": "28seconds",
  "upload_date": "2026-09-19T10:30:00+00:00",
  "video_urls": [
    "https://example.com/video.mp4"
  ],
  "likesCount_formated": "12.5k",
  "commentsCount_formated": "184",
  "videoViewCount_formated": "96.5k",
  "duration_formated": "0H:0minutes:28seconds",
  "thumbnail_url": "https://example.com/thumbnail.jpg",
  "resolution_formated": "1080x1920",
  "type_formated": "GraphVideo",
  "hashtags_formated": [
    "instagram",
    "reels"
  ],
  "mentions_formated": [
    "exampleaccount"
  ],
  "_scraped_at": "2026-09-19T10:31:12Z",
  "_source_index": 0
}
```

The example uses placeholder values to illustrate the output structure. Actual values depend on the submitted Instagram media and the information available at extraction time.

### Use Cases

The extracted data can support a range of research and analytics workflows related to Instagram media.

**Content research:** Review captions, hashtags, mentions, media dimensions, and publishing dates across selected videos or Reels.

**Creator research:** Organize media by owner username, owner name, and owner identifiers.

**Engagement analysis:** Compare likes, comments, and available video view counts across collected media records.

**Competitive research:** Build datasets for examining publicly available media metadata from selected accounts or content sets.

**Social media analytics:** Use structured engagement and content metadata for downstream analysis.

**Dataset creation:** Maintain reusable collections of Instagram media records for research or reporting.

**Automation workflows:** Incorporate structured Actor results into broader data-processing workflows supported by Apify.

### Competitive Advantages

The Actor's documented strengths are centered on focused single-media extraction rather than broad account crawling. Its input is straightforward, while the output combines content, creator, engagement, and media metadata in one record.

Useful characteristics include:

- Support for one or multiple URL objects in a single run.
- Dedicated fields for both raw and formatted engagement counts.
- Separate hashtag and mention arrays derived from captions.
- Media-related information such as thumbnail URL, video URLs, resolution, and duration.
- Extraction timestamp and source index fields for dataset organization.
- No requirement for users to supply cookies according to the Actor's documented setup.

These characteristics can make the resulting dataset easier to inspect and process without requiring users to manually assemble fields from different sources.

### Pros and Cons

| **Pros**                                            | **Cons**                                                                        |
| --------------------------------------------------- | ------------------------------------------------------------------------------- |
| Accepts multiple supported Instagram URLs           | Extraction depends on the information available from the source page            |
| Returns structured media and creator metadata       | Results may be incomplete for some pages                                        |
| Includes likes, comments, and available video views | No user-configurable filtering options are defined in the input schema          |
| Extracts hashtags and mentions from captions        | The Actor is focused on individual media URLs rather than account-wide crawling |
| Provides both raw and abbreviated metrics           | No configurable pagination settings are exposed                                 |

### Comparison With Alternative Approaches

| **Capability**          | **This Actor**                                               | **Manual / Typical Alternative**              |
| ----------------------- | ------------------------------------------------------------ | --------------------------------------------- |
| Automated extraction    | Supported for submitted URLs                                 | Often requires manual page-by-page collection |
| Multiple URL processing | Supported through an array input                             | Usually requires repeated manual work         |
| Structured metadata     | Returned as dataset records                                  | May require manual spreadsheet formatting     |
| Engagement fields       | Includes available likes, comments, and views                | Must often be copied separately               |
| Caption analysis        | Caption, hashtags, and mentions are separated                | May require additional manual processing      |
| Media metadata          | Includes available URLs, thumbnail, resolution, and duration | Often collected from multiple page elements   |

This comparison describes workflow differences rather than guaranteed performance differences.

### Best Practices

For dependable user workflows, follow a few practical guidelines.

- Start with a small number of URLs and inspect the resulting records.
- Use valid Instagram URLs containing supported `/reel/`, `/reels/`, or `/p/` paths.
- Keep each input URL as a separate object inside `startUrls`.
- Review important engagement and media values before using them in high-stakes analysis.
- Treat source availability as variable because public media information can differ between pages.
- Check timestamps and identifiers when building historical datasets.
- Validate important records before combining them with external datasets.

### Limitations

The Actor's output depends on information available from the processed Instagram media page. The supplied code does not define a guarantee that every requested field will be present for every URL.

A request may produce no record when the URL cannot be interpreted as a supported Instagram media URL, when the page cannot be successfully retrieved, or when the required media data cannot be extracted.

The Actor does not expose configuration options for custom field selection, filtering, pagination, or other advanced collection controls in `actor.json`.

The `type_formated` field can represent more than one media classification, so users should not assume every supported `/p/` URL represents the same media type.

### Troubleshooting

**Invalid Input**

Check that `startUrls` is an array and that every item contains a `url` value. Confirm that the URL belongs to Instagram and follows a supported `/reel/`, `/reels/`, or `/p/` pattern.

**Empty Results**

Verify that the submitted URL is valid and points to an accessible Instagram media page. Testing a known public media URL can help determine whether the issue is specific to the submitted source.

**Partial Results**

Some pages may expose only a subset of the information expected in a dataset. Review individual fields rather than assuming every media item contains identical metadata.

**Missing Fields**

Fields such as owner information, view counts, timestamps, video URLs, or thumbnails may depend on the source data available for the specific item.

**Processing Errors**

Check the Actor run logs and verify the submitted URLs. Retrying a valid input can be appropriate when a temporary retrieval issue occurs.

### Frequently Asked Questions

**What does the Instagram Video & Reels Details Scraper do?**

It extracts structured information from individual Instagram video, Reel, and supported post URLs, including available media, creator, caption, engagement, and metadata fields.

**What URLs can I submit?**

The Actor recognizes Instagram URLs containing `/reel/`, `/reels/`, or `/p/` paths and extracts the media code from them.

**Can I process multiple Instagram URLs?**

Yes. The required `startUrls` field accepts an array, allowing multiple URL objects to be submitted in a single run.

**What data does the Instagram Video & Reels Details Scraper return?**

Depending on source availability, results can include creator details, caption text, likes, comments, views, duration, upload date, video URLs, thumbnail URL, resolution, hashtags, mentions, and identifiers.

**Does the Actor require cookies from me?**

The supplied Actor description states that it is designed to work without requiring user-provided cookies and attempts extraction using public access.

**Are all output fields guaranteed for every URL?**

No. Some values depend on what information is available from the specific Instagram media page during processing.

**Does the Actor return the original Instagram URL?**

It returns an `original_url` field using the extracted media code in a normalized Reel URL format.

**How are hashtags and mentions returned?**

The Actor extracts hashtag terms beginning with `#` and mention terms beginning with `@` from the available caption and stores them in separate arrays.

**How should I start testing the Actor?**

Begin with one or a few valid Instagram media URLs, review the resulting dataset, and then expand the number of URLs after confirming that the returned fields meet your requirements.

**Can the results be used in automation workflows?**

Yes. The Actor produces structured dataset records that can be used as input for downstream research, analysis, and other data-processing workflows.

### Final Overview

The **Instagram Video & Reels Details Scraper** provides a focused way to collect structured information from individual Instagram media URLs. By supplying supported URLs through `startUrls`, users can obtain organized records containing available creator information, captions, engagement metrics, media metadata, timestamps, hashtags, and mentions.

Its focused input model and structured output make it suitable for Instagram content research, media analysis, dataset creation, competitive research, and automated workflows. Because source data can vary between pages, users should validate important fields and begin with a small test run before scaling their collection.

### NLP Keywords

- Instagram media metadata
- Instagram Reel data extraction
- Instagram video metadata
- Instagram content data
- Instagram engagement data
- Instagram creator information
- Instagram caption extraction
- Instagram video views
- Instagram likes count
- Instagram comments count
- Instagram media identifier
- Instagram shortcode
- Instagram thumbnail URL
- Instagram video URL
- Instagram video resolution
- Instagram upload date
- Instagram hashtags
- Instagram mentions
- Instagram structured data
- Instagram content research

### Related Keywords

- Instagram Reel scraper
- Instagram video scraper
- Instagram post data scraper
- Instagram Reel data scraper
- Instagram media scraper
- Instagram URL scraper
- Instagram content extractor
- Instagram Reel extractor
- Instagram video data extractor
- Instagram metadata scraper
- extract Instagram Reel data
- extract Instagram video details
- scrape Instagram post details
- collect Instagram media data
- Instagram engagement scraper
- Instagram caption scraper
- Instagram hashtag extractor
- Instagram mention extractor
- Instagram media information extractor
- Instagram content dataset

**Contact me:** <Alphascraper69@gmail.com>

# Actor input Schema

## `startUrls` (type: `array`):

List of one or more Instagram video URLs

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.instagram.com/reel/DHCcTryOTlc/?igsh=NWp1YXg1azE4bm11"
    },
    {
      "url": "https://www.instagram.com/reels/DU7bmIVEndD/"
    },
    {
      "url": "https://www.instagram.com/p/DOL6m5lDle_/"
    }
  ]
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://www.instagram.com/reel/DHCcTryOTlc/?igsh=NWp1YXg1azE4bm11"
        },
        {
            "url": "https://www.instagram.com/reels/DU7bmIVEndD/"
        },
        {
            "url": "https://www.instagram.com/p/DOL6m5lDle_/"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("alpha-scraper/instagram-video-reels-details-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 = { "startUrls": [
        { "url": "https://www.instagram.com/reel/DHCcTryOTlc/?igsh=NWp1YXg1azE4bm11" },
        { "url": "https://www.instagram.com/reels/DU7bmIVEndD/" },
        { "url": "https://www.instagram.com/p/DOL6m5lDle_/" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("alpha-scraper/instagram-video-reels-details-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.instagram.com/reel/DHCcTryOTlc/?igsh=NWp1YXg1azE4bm11"
    },
    {
      "url": "https://www.instagram.com/reels/DU7bmIVEndD/"
    },
    {
      "url": "https://www.instagram.com/p/DOL6m5lDle_/"
    }
  ]
}' |
apify call alpha-scraper/instagram-video-reels-details-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,alpha-scraper/instagram-video-reels-details-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Jr8qGkBqpQM3S1mty/builds/giDDaCbkgyr70CQG8/openapi.json
