
Syphoon's Instagram Scraper API covers six data types through a single endpoint: profile details, post lists, individual post information, reel search by keyword, comment extraction, and reel lists by profile. Each request uses the same structure with a data_type parameter that determines what is returned.
What the API Covers
Our Instagram scraper covers six endpoints. The table below shows exactly what each data type returns and what it is used for.
| Data type | What it returns | Use case |
|---|---|---|
profile_details | Username, bio, follower count, following count, profile picture URL, website URL, business category | Influencer research, competitor profiling, follower count tracking, brand monitoring |
posts | Paginated list of posts from a profile, with cursor support for full post history retrieval | Content audit, posting frequency analysis, brand content monitoring, competitor feed tracking |
post_info | Deep detail on a specific post: media URLs, caption, like count, region-specific data | Engagement analysis, photo and video extraction, caption monitoring, performance benchmarking |
reels_search | Reels matching a keyword search query, paginated | Trend discovery, hashtag research, competitor reel monitoring, content gap analysis |
comments | Comments on a specific post with pagination for large comment sections | Sentiment analysis, audience feedback extraction, brand mention monitoring, community research |
reels_list | All reels posted by a specific Instagram profile | Creator content audits, competitor reel strategy analysis, reel performance tracking |
Need Instagram data at scale? Reach out through our contact form and we will get you set up.
How the API Works
All requests go to a single endpoint: https://api.syphoon.com. Every request is POST. The body contains four fields: the target Instagram URL, the data_type that specifies what to return, your Syphoon API key, and method set to GET. Some data types accept additional parameters, covered below.
| Field | Required | Description |
|---|---|---|
url | Yes | The Instagram URL being targeted: a profile URL, post URL, or keyword string depending on the data type |
data_type | Yes | Specifies what to return: profile_details, posts, post_info, reels_search, comments, or reels_list |
key | Yes | Your Syphoon API key from the dashboard |
method | Yes | Always GET for Instagram requests |
cursor_id | For posts and comments | Pagination cursor. Set to null for the first request, then pass the cursor from the previous response to get the next page |
region | For post_info | Target region for location-specific post data |
Code Examples
Profile details
1import requests, json
2
3payload = {
4 "url": "https://www.instagram.com/nike",
5 "data_type": "profile_details",
6 "key": "YOUR_SYPHOON_KEY",
7 "method": "GET"
8}
9response = requests.post("https://api.syphoon.com", json=payload)
10print(response.json())Post list from a profile
1payload = {
2 "url": "https://www.instagram.com/nike",
3 "data_type": "posts",
4 "cursor_id": None,
5 "key": "YOUR_SYPHOON_KEY",
6 "method": "GET"
7}
8# Pass cursor_id from the previous response to paginateSpecific post information
1payload = {
2 "url": "https://www.instagram.com/p/POST_SHORTCODE/",
3 "data_type": "post_info",
4 "key": "YOUR_SYPHOON_KEY",
5 "method": "GET"
6}
7# Returns media URLs, caption, like count, and moreReel search by keyword
1payload = {
2 "url": "running shoes",
3 "data_type": "reels_search",
4 "key": "YOUR_SYPHOON_KEY",
5 "method": "GET"
6}Reels list from a profile
1payload = {
2 "url": "https://www.instagram.com/nike",
3 "data_type": "reels_list",
4 "key": "YOUR_SYPHOON_KEY",
5 "method": "GET"
6}Status codes: 200 success, 404 bad URL (charged), 429 concurrency exceeded, 400 invalid response from Instagram (charged), 5xx server error. Validate URLs before sending.
Ready to start pulling Instagram data?
Use Cases
The six data types combine to cover the full range of Instagram intelligence use cases. The table below maps common use cases to the data types they require.
| Use case | Data types needed | What it produces |
|---|---|---|
| Influencer discovery and vetting | profile_details | Follower count, bio, business category, and website for any public profile. Run across a list of handles to build a vetted influencer database. |
| Competitor content monitoring | posts, post_info | Full post history from competitor profiles plus engagement detail on individual posts. Tracks posting frequency, content themes, and like counts over time. |
| Audience sentiment analysis | comments | Raw comment text from brand posts, competitor posts, or trending content. Input for sentiment classification, topic modelling, and audience research. |
| Reel trend research | reels_search | All reels matching a keyword or topic. Identifies trending content formats, popular creators in a niche, and emerging hashtag themes. |
| Brand mention and UGC monitoring | reels_search, comments | Track mentions of a brand, product, or campaign across reels and comment sections without relying on Instagram's limited notification system. |
| Creator content audits | posts, reels_list, post_info | Complete content history for any public creator: all posts, all reels, and full detail on individual pieces. Used for partnership due diligence and content benchmarking. |
| Photo and media extraction | post_info | Media URLs for images and videos from specific posts. Used for content archiving, training datasets, and visual research. |
Tell us what you are building. Reach out through our contact form and we will get you access.
Join our Discord server
Connect with our team, discuss your use case, ask technical questions, and share feedback with a community of people working on similar problems.

Comments from a post