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
11 days 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)