Instagram Post Scraper
Pricing
from $1.00 / 1,000 results
Instagram Post Scraper
Scrape public Instagram posts by username or profile URL. Extract captions, likes, comments, timestamps, image and video URLs, hashtags, and mentions into a clean, structured JSON dataset. Fast, reliable, and easy to configure — great for social monitoring, research, and content analytics work.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Biddut Hossain
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Share
Scrape public Instagram posts by username or profile URL. Extract captions, likes, comments, timestamps, image and video URLs, hashtags, and mentions into a clean, structured JSON dataset. Fast, reliable, and easy to configure — great for social monitoring, research, and content analytics work.
⚠️ Before you use this
Instagram's Terms of Service prohibit automated scraping of the platform, and Meta actively detects and blocks bot-like traffic. This Actor ships as a structural template only — the data-extraction step is a placeholder. To get real data, use one of:
- Instagram Graph API — the official, compliant way to pull data from Instagram Business/Creator accounts you own or manage, via a Facebook Developer App.
- Apify's published Instagram Scraper — a maintained, ToS-aware Actor already available in the Apify Store that you can call from your own Actor via the Apify API/client instead of writing scraping logic yourself.
Input
| Field | Type | Description |
|---|---|---|
usernames | array of strings | Instagram usernames or full profile URLs to fetch posts from. |
resultsLimit | integer | Max number of posts to fetch per profile (default: 20). |
proxyConfiguration | object | Apify Proxy settings used for outbound requests. |
Example input:
{"usernames": ["natgeo", "https://www.instagram.com/nasa/"],"resultsLimit": 20,"proxyConfiguration": { "useApifyProxy": true }}
Output
Each item pushed to the dataset has the shape:
{"username": "natgeo","postUrl": "https://www.instagram.com/p/xxxxxxx/","caption": "Example caption text...","likesCount": 1234,"commentsCount": 56,"timestamp": "2026-08-01T12:00:00Z","mediaUrl": "https://example.com/media.jpg"}
Project structure
.├── .actor/│ ├── actor.json # Actor metadata & dataset view config│ └── input_schema.json # Defines the Input UI shown in Apify Console├── src/│ ├── __init__.py│ ├── __main__.py # Entry point: python3 -m src│ └── main.py # Actor logic├── Dockerfile├── requirements.txt└── README.md
Running locally on Apify
- Push this code to your Actor in the Apify Console Web IDE (or via Git integration).
- Click Build.
- Go to the Input tab, fill in
usernames, and click Start. - Check the Log tab for progress and the Dataset tab for output.
Tech stack
- Apify SDK for Python
- HTTPX for async HTTP requests
- BeautifulSoup4 for HTML parsing (if applicable to your compliant data source)