
Instagram post data is used by teams across content research, competitor monitoring, brand auditing, and social media analytics. Syphoon's Instagram Scraper API supports two post-related request types: a post list request that returns all posts from a profile with cursor-based pagination, and a post information request that returns full detail on a specific post including media URLs, captions, and like counts.
Tools built on Instagram post data include content intelligence platforms, competitor analysis tools, influencer content auditing systems, brand monitoring dashboards, and social media research applications.
Need to scrape Instagram post data at scale?
Two Post Request Types
Syphoon provides flexible request configurations depending on your needs. Below are the key differences between the post list and post detail requests:
| Request type | data_type value | What it returns | Use case |
|---|---|---|---|
| Post list | posts | Paginated list of posts from a profile. Each entry includes post ID, shortcode, timestamp, like count, comment count, and media thumbnail. | Full post history retrieval, posting frequency analysis, competitor content monitoring. |
| Post information | post_info | Full detail on a specific post: media URLs (images and videos), caption text, like count, comment count, and region-specific data. | Media extraction, caption analysis, engagement benchmarking, detailed post monitoring. |
Making a Request
Requests are sent to the endpoint https://api.syphoon.com as POST requests with appropriate parameters.
To get all posts from an Instagram profile, set data_type to posts. Use the cursor_id returned in the response to paginate through the pages.
1import requests
2
3payload = {
4 "url": "https://www.instagram.com/username",
5 "data_type": "posts",
6 "cursor_id": None,
7 "key": "YOUR_SYPHOON_KEY",
8 "method": "GET"
9}
10response = requests.post("https://api.syphoon.com", json=payload)
11# Pass cursor_id from response to paginate to the next pageTo retrieve detailed information from a specific post, set data_type to post_info and use the post URL (with post shortcode).
1import requests
2
3payload = {
4 "url": "https://www.instagram.com/p/POST_SHORTCODE/",
5 "data_type": "post_info",
6 "key": "YOUR_SYPHOON_KEY",
7 "method": "GET"
8}
9response = requests.post("https://api.syphoon.com", json=payload)
10# Returns media URLs, caption, like count, and moreThe post_info request also accepts an optional region parameter for location-specific data.
Response Status Codes
- 200Success
- 400Invalid response from Instagram (charged)
- 404Incorrect URL (charged)
- 429Concurrency exceeded
- 5xxServer error
For advanced automation workflows, developers often combine this endpoint with an Instagram Scraper setup to collect profile, post, and engagement data at scale.
Ready to scrape Instagram posts?
Frequently Asked Questions
data_type set to posts and the profile URL. For detail on a specific post including media URLs and captions, send a POST request with data_type set to post_info and the post URL. Both use the same endpoint: https://api.syphoon.com.cursor_id to null for the first request. The response includes a cursor value. Pass that value as cursor_id on the next request to retrieve the following page. Continue until no cursor is returned.post_info request returns media URLs for images and videos from a specific post. Read our Scrape Instagram Photos blog for more information on photo and video extraction.Join Our Community
Connect with our team, discuss your use case, ask technical questions, and share feedback with a community of people working on similar problems.



