Slot usage
1 slot
Estimated execution time
<0.1 second per profile (~4 minutes per 9,000 profiles; ~25 seconds per 25 posts)
What you'll need
- A connected Instagram account (use the PhantomBuster browser extension)
-
A list of Instagram hashtags or location + hashtag pairs
→ See the full breakdown of all input fields in the detailed section below.
What you’ll get
-
Post-level details: post URL, author profile URL, username, full name, engagement counts, caption, and location
→ See the full breakdown of all output fields in the detailed section below.
Before you start
-
Awareness of platform limits:
- Instagram controls how many posts appear for each hashtag, and this number can vary widely depending on the hashtag or location.
- The Phantom retrieves all posts that are visible in your browser for each hashtag.
- When multiple hashtags are provided, it can process up to 5,000 total posts per launch. This behavior is determined entirely by Instagram’s interface, not by PhantomBuster.
Step 1: Connect your Instagram account
To let the Phantom act on your behalf:
- Install the PhantomBuster browser extension and connect your Instagram session in one click.
- If you’re not using Chrome or Firefox, you can retrieve your session cookie manually (see our cookie guide).
Step 2: Provide hashtags or locations
Tell the Phantom which hashtags or locations to extract.
Important limitation: Instagram does not allow extracting posts from location pages alone. To include posts from a location, you must combine the location with at least one hashtag in your input.
Example: Instead of using only London, use London + #travel. This ensures the Phantom retrieves results successfully.
You can provide inputs in any of these formats:
- Paste a single hashtag (e.g., #catsofInstagram).
- Paste a location combined with at least one hashtag (e.g., "Paris, France + #foodie").
- Provide a Google Sheet with a list of hashtags or location + hashtag pairs (make sure it’s shared with “Anyone with the link”).
- Upload a CSV file with a list of hashtags or location + hashtag pairs (make sure it’s publicly accessible, and note that CSV upload is only available on paid plans).
→ If you’re using a spreadsheet, the Phantom defaults to the first column (A). To use a different column, enter the column’s header name in the field “Name of column containing hashtags.”
Step 3: Configure extraction settings
Fine-tune how many posts and rows to extract per launch:
-
Number of spreadsheet rows per launch (optional):
- Only applies if you are using a spreadsheet or CSV file as input.
- Default = 10.
- If left empty, the Phantom will attempt to process all your hashtags in one launch.
-
Number of posts to extract per hashtag (optional):
- You can limit the number of posts the Phantom should collect per hashtag.
If left empty, it extracts all visible posts for that hashtag. - There is no fixed maximum as Instagram controls how many posts are visible.
- You can limit the number of posts the Phantom should collect per hashtag.
-
Number of posts to extract per launch (optional):
- The Phantom can process up to 5,000 total posts per launch across multiple hashtags.
- If left empty, the Phantom extracts as many posts as possible until hitting Instagram’s rate limit.
Advanced settings (dropdown in setup)
-
Remove duplicate posts between hashtags (optional):
- Avoids overlap if the same post appears under multiple hashtags.
- The Phantom will take longer when this option is enabled.
-
Add the total post count to each result (optional):
- Inserts the total number of posts per hashtag into your results file.
-
Ignore top posts (optional):
- Applies to location searches only, skipping the “Top” results to go straight to recent posts.
Result file settings (dropdown in setup)
-
Name your results file (optional)
-
You can customize the file name.
If you rename the file between launches, the Phantom will create a new results file and start processing inputs from scratch.
-
-
Fields to keep (optional)
- Export only the fields you care about by listing them (comma-separated).
Example: postUrl, username, likeCount. - This generates a second CSV file with just those fields.
- Learn more in our guide: Customize how your Phantom results files are saved.
- Export only the fields you care about by listing them (comma-separated).
Step 4: Select launch frequency
Choose how often the Phantom should run:
- Launch manually: Start the Phantom yourself whenever you need.
- Launch once at a specific time: schedule a one-time run at a set date and time.
- Launch repeatedly: schedule regular runs (e.g. once per day, several times during working hours).
- Launch after another Phantom: chain automations together so this Phantom starts right after another finishes.
- Advanced scheduling: customize the exact minutes, hours, days, or months when the Phantom should run.
→ For a complete walkthrough of scheduling options, see our guide to scheduling Phantoms automatically.
Step 5 (Optional): Advanced settings
Advanced settings are available if you want to fine-tune how your Phantom runs, but by default they’re already optimized for most use cases.
We recommend leaving them as they are unless a guide specifically instructs you to change something.
→ For a detailed overview of all advanced options (like execution limits, retries, email notifications, proxies, webhooks, and file management), see our Advanced settings guide.
Launch and results
When you’re ready:
- Click Launch to start your Phantom.
- Once it finishes, open the Results tab in the Phantom console to see the data collected.
- Download your results as a CSV or JSON file.
→ To learn how to export your data to Google Sheets, integrate with other tools, or reuse it in more automations, check our Access and Export your Phantom Results guide.
Export and input limits on the Free plan
If you’re on the Free plan or Free trial, some features are limited:
- CSV exports include only the first 10 rows of results.
- CSV download links (for dynamic viewing in Google Sheets or integrations) are not available.
- JSON exports are not available.
- CSV upload as an input method is not supported.
To unlock all features, you’ll need to upgrade to a paid plan.
What you give (Input) and What you get (Output)
This section gives you a detailed breakdown of everything you need to provide to run this Phantom, and everything you’ll receive once it completes.
What you give (Input)
| Type | Description |
|---|---|
| Instagram cookie | Your Instagram session cookie |
| Instagram hashtags | Instagram hashtags |
| location | Location |
What you get (Output)
| Type | Description |
|---|---|
| postUrl | Instagram post URL |
| profileUrl | Post author profile URL |
| username | Post author username |
| fullName | Post author full name |
| commentCount | Number of comments the post received |
| likeCount | Number of likes the post received |
| description | Post description |
| location | Post location |
| postId | Instagram unique ID of post |
| ownerId | Instagram unique ID of post author |
| pubDate | Post publication date |
| caption | Post accessibility caption |
Tips and troubleshooting
Common pitfalls
- Using a private spreadsheet (make sure it’s set to “Anyone with the link”).
- Expecting a fixed number of posts per hashtag → Instagram decides how many posts appear in the hashtag feed, and it varies. The Phantom extracts all posts that are visible, no matter the amount.
If you run into errors or account issues
- Check how to troubleshoot your phantom using Logs.
- Browse the Fix Issues & Troubleshoot Errors section for solutions to common problems.
- Review our Automation Rate Limits by Platform guide.
- Check our Best Practices for Social Media Automation guide.
Suggested automations
- Instagram Post Scraper → Enrich posts you collected from hashtags/locations with detailed metadata.
- Instagram Auto Commenter → Engage selected posts by leaving varied, personalized comments.
- Instagram Auto Liker → Warm up audiences by liking posts tied to the hashtags/locations you target.