# Instagram Hashtag Research & Generator - Reach & Engagement (`devil_port369-owner/instagram-hashtag-research-scraper`) Actor

Generate high-performing, trending Instagram hashtags from keywords, post URLs, or images. Get real-time popularity tiers, media counts, and direct Instagram Explore links to maximize post reach.

- **URL**: https://apify.com/devil\_port369-owner/instagram-hashtag-research-scraper.md
- **Developed by:** [DataFusionX](https://apify.com/devil_port369-owner) (community)
- **Categories:** AI, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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 Hashtag Research & Generator

Generate the **best hashtags for Instagram** to boost post reach, engagement, and impressions. Whether you are wondering *how many hashtags to use per post* or looking for a fast **Instagram hashtag generator**, this tool automatically extracts high-performing, trending hashtags using AI and real-time Instagram data.

#### Key Features

- 🎯 **Smart Popularity Tiers:** Segments hashtags into High, Medium, and Niche reach tiers so you don't get buried in millions of posts.
- 📊 **Media Counts & Insights:** View real-time post counts for every hashtag to balance reach vs competition.
- 🔗 **Direct Explore Links:** Instant links to Instagram Explore pages for in-product validation.
- 🚀 **Bulk & Concurrent Processing:** Run many keywords, URLs, or images in one job with configurable concurrency (`MAX_THREADS`).
- 🖼️ **Image-to-Hashtags:** Convert images (local or remote) to data payloads and get visual hashtag suggestions.
- 🔒 **Proxy & Privacy-Friendly:** Routes requests through a proxy gateway; no Instagram credentials required.
- ⚙️ **Fine-grained Export Control:** `maxHashtagsPerList` lets you cap hashtags per list to reduce dataset size.
- 🧾 **Multi-format Export:** Download results as CSV, JSON, Excel, HTML, or RTF from Apify Console.

[![Run on Apify](https://apify.com/img/run-on-apify.svg)](https://apify.com/devil_port369-owner/instagram-hashtag-research-scraper)

### Quick Start

1. Open [Instagram Hashtag Research & Generator](https://apify.com/devil_port369-owner/instagram-hashtag-research-scraper) on the Apify Store
2. Click **Try it for free** or **Buy credits**, then open the actor in Apify Console
3. Provide one or more inputs: keywords, Instagram post URLs, or image uploads
4. Set `maxHashtagsPerList` to cap hashtags per popularity tier (0 = no limit)
5. Click **Run**
6. Download results as CSV, JSON, Excel, HTML, or RTF from the **Output** tab

### ☕ What does the Instagram Hashtag Generator do?

This Actor helps content creators, social media managers, and marketers find high-converting hashtags from:

- **Keywords & Niche topics**
- **Target Post URLs**
- **Direct Images / Visual Context**

#### Supported Input Types

| Input | What it does |
|-------|-------------|
| **Keywords & captions** | Type a topic, niche, or caption phrase (for example "sunrise photography" or "fitness motivation") and get hashtag suggestions tailored to that theme. |
| **Instagram post URLs** | Paste a public Instagram post or reel URL and extract the hashtag ideas associated with that content. Reels links are normalized automatically. |
| **Image upload** | Upload an image and receive visual hashtag suggestions based on what the image depicts. |

You can combine all three input types in a single run. The actor deduplicates inputs automatically.

#### Dataset Output Fields

Each hashtag becomes one row in the dataset, so a single keyword can produce many rows across multiple popularity tiers.

| Field | Description |
|-------|-------------|
| `searchType` | The input type used: `KEYWORD`, `URL`, or `IMAGE`. |
| `searchValue` | The original input value (keyword, post URL, or image reference). |
| `resultId` | Unique identifier for the hashtag lookup result. |
| `listCategory` | Whether the list is `similar` or `related`. |
| `listId` | Identifier for the specific hashtag list. |
| `listType` | Popularity tier label for the list. |
| `hashtagId` | Internal identifier for the hashtag. |
| `hashtag` | The hashtag text (for example `sunrise`). |
| `mediaCount` | Approximate number of posts using this hashtag. |
| `isHidden` | Whether the hashtag is hidden. |
| `isSmart` | Whether the hashtag is a smart/related tag. |
| `isInstaRelated` | Whether the hashtag is Instagram-related. |
| `instagramExploreUrl` | Direct link to the hashtag's Instagram Explore page. |

### How to Use This Hashtag Generator for Reach and Engagement

#### Find hashtags for a keyword or niche

Add one or more keywords to the `keywords` field. The actor returns hashtag suggestions in categories and popularity tiers, so you can pick a mix of high-volume and niche hashtags for your post.

#### Generate hashtags from an Instagram post

Paste a public Instagram post URL into `instagramUrls`. The actor normalizes the URL and returns hashtag suggestions based on that post's content. Useful when you want to analyze what hashtags a competitor or inspiration post is using.

#### Get visual hashtag suggestions from an image

Upload an image in the `imageUrls` field. The actor returns visual hashtag suggestions based on the image content - helpful when you have a photo but are not sure which tags fit best.

#### Limit hashtags per list

Use `maxHashtagsPerList` to cap the number of hashtags exported from each popularity tier. Set it to `0` to export everything. This helps control dataset size when a lookup returns many hashtags.

#### Analyze hashtag popularity

The `mediaCount` field shows the approximate post volume for each hashtag. Use it to build a balanced hashtag set: a few high-volume tags for broad reach, plus lower-volume tags for targeted engagement.

### Example Input

```json
{
  "keywords": ["sunrise photography", "fitness motivation"],
  "instagramUrls": ["https://www.instagram.com/p/DbL9Bj1vM0y/"],
  "maxHashtagsPerList": 0
}
```

### Example Output (dataset row)

```json
{
  "searchType": "KEYWORD",
  "searchValue": "sunrise photography",
  "resultId": "abc123",
  "listCategory": "similar",
  "listId": "list1",
  "listType": "Popular",
  "hashtagId": "tag99",
  "hashtag": "sunrise",
  "mediaCount": 12400000,
  "isHidden": false,
  "isSmart": false,
  "isInstaRelated": true,
  "instagramExploreUrl": "https://www.instagram.com/explore/tags/sunrise/"
}
```

### Who This Instagram Hashtag Research Tool Is For

- **Social media managers** who need a fast hashtag generator for daily posts
- **Content creators** building a content strategy around reach and engagement
- **Marketing agencies** running hashtag research at scale for multiple clients
- **Instagram growth teams** analyzing which hashtags drive impressions and interaction
- **Small businesses** wanting hashtag suggestions without manual guesswork

### More use cases

- Competitive analysis: extract hashtags from competitor posts to understand their tag strategy and spot gaps.
- Content planning: bulk-generate tags for a week or month of posts and store them in a CMS or spreadsheet.
- A/B testing: create multiple hashtag sets (broad vs niche) and measure engagement over time.
- Client reporting: export hashtag research results for client deliverables or campaign briefs.
- Influencer outreach: analyze common tags used by influencers in a niche to inform outreach and collaboration.
- SEO-driven content: incorporate hashtag research into keyword strategies for cross-platform growth.
- Automation & integrations: connect this actor to other Apify actors or webhooks to automate hashtag enrichment for content pipelines.

### Why Use a Hashtag Research Scraper Instead of Guessing

- **Data-driven tags**: Each suggestion includes a media count so you can see how competitive a hashtag is before you use it.
- **Popularity tiers**: Results are grouped into categories and tiers, making it easy to mix broad and niche hashtags.
- **Three input modes**: Keywords, post URLs, and image uploads cover most real-world workflows.
- **Direct Explore links**: Every row includes an `instagramExploreUrl` so you can open the hashtag in Instagram instantly.
- **Bulk research**: Run many keywords, URLs, or images in one go; the actor deduplicates inputs and processes them concurrently.
- **Export anywhere**: Download the dataset as CSV, JSON, Excel, HTML, or RTF from the Apify Console output tab.

### Input Schema

The actor accepts the following input fields (provide at least one list):

| Field | Type | Description |
|-------|------|-------------|
| `keywords` | array of strings | Topics, niches, or caption phrases to generate Instagram hashtag ideas. |
| `instagramUrls` | array of strings | Public Instagram post URLs to extract hashtag suggestions from. Reels links are normalized automatically. |
| `imageUrls` | array of files | Upload images for visual hashtag suggestions. |
| `maxHashtagsPerList` | integer | Limit hashtags exported from each popularity tier. Use 0 for no limit. Default: 0. |

### Output Schema

The actor outputs a dataset where each item is a hashtag record with the fields listed in the **Dataset output fields** table above.

### Requirements

- Apify account (free tier available)
- Set the required proxy token environment variable in **Actor settings → Environment variables** before running the actor.
- `MAX_THREADS` controls concurrent lookups (default: 2). Increase it for bulk research if your plan allows.

### FAQ

#### How do I get Instagram hashtag suggestions for a post?

Paste the post URL into the `instagramUrls` field and run the actor. The dataset will include hashtag rows with media counts and Instagram Explore links.

#### Can I use this as a hashtag generator for Instagram?

Yes. The actor generates hashtag suggestions from keywords, post URLs, or images, and returns them with popularity-tier information and post-volume counts.

#### What is the difference between similar and related hashtag lists?

Both are returned in the dataset under `listCategory`. They represent different grouping strategies from the hashtag research service; the `listType` field shows the popularity tier for each list.

#### How do I limit the number of hashtags exported per list?

Set `maxHashtagsPerList` in the input JSON to an integer value. Setting it to `0` disables the cap (exports everything). This is useful to keep dataset sizes manageable when a lookup returns many tags.

#### What image formats are supported and are there size limits?

Supported inputs:

- Local image files (JPEG, PNG, WEBP, GIF, BMP, TIFF)
- Remote image URLs (HTTP/HTTPS)
- Data URI (`data:image/...;base64,...`) when you already have the encoded image

Large images will increase payload size — for best performance, resize or compress images to reasonable dimensions (e.g., 1080px wide) before upload. The actor converts and encodes images in-memory per task to avoid holding every image's base64 in global memory.

#### How is my data handled? Are images stored or shared?

This actor routes outbound requests through a proxy gateway. Uploaded images are temporarily encoded to call the hashtag research service but are not stored persistently by this actor. Do not upload private or credentialed images unless you accept the privacy trade-offs.

#### Do I need Instagram credentials or access tokens?

No. The actor uses a third-party hashtag research service and a proxy gateway. It does not require Instagram login credentials.

#### What about rate limits and proxies?

The actor uses a proxy gateway (configured via the `SC_TOKEN` environment variable). If the service or proxy returns transient errors (429, 5xx), the actor retries according to configured request logic. For very large bulk runs, increase `MAX_THREADS` cautiously and monitor for service throttling.

#### How can I reduce memory usage during large image runs?

- Keep `MAX_THREADS` low (default 2) to avoid many concurrent image encodings.
- Set `maxHashtagsPerList` to a reasonable cap to reduce output size.
- Pre-compress or resize images before passing them to `imageUrls`.

#### How accurate are the hashtag suggestions?

Suggestions come from a third-party research service and are based on current hashtag data and internal grouping heuristics. Media counts are approximate. Always validate suggestions manually before using them in high-stakes campaigns.

#### Can I integrate outputs into my toolchain?

Yes. Download dataset files from the Apify Console or use Apify API to fetch datasets programmatically. The actor output is friendly for spreadsheets, CSV imports, and downstream ETL pipelines.

#### Troubleshooting: No hashtags returned for my input

- Verify the Instagram URL is public and correctly formatted. Reels and /reel/ links are normalized automatically.
- For images: ensure the image is accessible (local file exists or remote URL is reachable) and is a supported format.
- Check actor logs in Apify Console for proxy or service errors (missing `SC_TOKEN`, proxy failures, network errors).

#### Advanced: scheduling and appending results

Use Apify Console schedules to run periodically. Configure the run to append to an existing dataset for historical tracking, or export each run separately for snapshot analysis.

#### Can I run multiple jobs in parallel for many clients?

Yes — create separate actor runs per client and control per-run concurrency with `MAX_THREADS`. For very large multi-client jobs, coordinate runs to avoid hitting proxy/service limits.

- Social Media
- Instagram
- Hashtag Generator
- Hashtag Research
- Hashtag Finder
- Hashtag Suggestions
- Hashtag Analyzer
- Instagram Scraper
- Content Strategy
- Social Media Intelligence
- instagram hashtag generator
- instagram hashtag research
- best hashtags for instagram 2026
- instagram hashtag finder
- instagram hashtag analyzer
- generate hashtags from image
- image to hashtags instagram
- hashtag suggestions for instagram post
- instagram hashtag scraper
- bulk hashtag generator instagram
- trending instagram hashtags by niche
- instagram hashtag research tool for marketers
- how to find hashtags for instagram posts
- instagram hashtag strategy tool
- "how to find hashtags for instagram post"
- "best hashtags for increasing instagram reach"
- "generate hashtags from image for instagram"
- "bulk instagram hashtag extractor"

# Actor input Schema

## `keywords` (type: `array`):

Topics, niches, or caption phrases to generate Instagram hashtag ideas.

## `instagramUrls` (type: `array`):

Public Instagram post URLs to extract hashtag suggestions from. Reels links are normalized automatically.

## `imageUrls` (type: `array`):

Upload images for visual hashtag suggestions.

## `maxHashtagsPerList` (type: `integer`):

Limit hashtags exported from each popularity tier. Use 0 for no limit.

## Actor input object example

```json
{
  "keywords": [
    "sunrise photography",
    "fitness motivation"
  ],
  "instagramUrls": [
    "https://www.instagram.com/p/DbL9Bj1vM0y/"
  ],
  "maxHashtagsPerList": 0
}
```

# Actor output Schema

## `results` (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 = {
    "keywords": [
        "sunrise photography",
        "fitness motivation"
    ],
    "instagramUrls": [
        "https://www.instagram.com/p/DbL9Bj1vM0y/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("devil_port369-owner/instagram-hashtag-research-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 = {
    "keywords": [
        "sunrise photography",
        "fitness motivation",
    ],
    "instagramUrls": ["https://www.instagram.com/p/DbL9Bj1vM0y/"],
}

# Run the Actor and wait for it to finish
run = client.actor("devil_port369-owner/instagram-hashtag-research-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 '{
  "keywords": [
    "sunrise photography",
    "fitness motivation"
  ],
  "instagramUrls": [
    "https://www.instagram.com/p/DbL9Bj1vM0y/"
  ]
}' |
apify call devil_port369-owner/instagram-hashtag-research-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,devil_port369-owner/instagram-hashtag-research-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/7Bhk5VrCrx36Vzp4e/builds/MwVJvJ4l3xTr1oapD/openapi.json
