Instagram Scraper API: Extract Profile, Post, Reel, and Comment Data from Instagram

Instagram Scraper API: Extract Profile, Post, Reel, and Comment Data

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 typeWhat it returnsUse case
profile_detailsUsername, bio, follower count, following count, profile picture URL, website URL, business categoryInfluencer research, competitor profiling, follower count tracking, brand monitoring
postsPaginated list of posts from a profile, with cursor support for full post history retrievalContent audit, posting frequency analysis, brand content monitoring, competitor feed tracking
post_infoDeep detail on a specific post: media URLs, caption, like count, region-specific dataEngagement analysis, photo and video extraction, caption monitoring, performance benchmarking
reels_searchReels matching a keyword search query, paginatedTrend discovery, hashtag research, competitor reel monitoring, content gap analysis
commentsComments on a specific post with pagination for large comment sectionsSentiment analysis, audience feedback extraction, brand mention monitoring, community research
reels_listAll reels posted by a specific Instagram profileCreator 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.

Talk to us

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.

FieldRequiredDescription
urlYesThe Instagram URL being targeted: a profile URL, post URL, or keyword string depending on the data type
data_typeYesSpecifies what to return: profile_details, posts, post_info, reels_search, comments, or reels_list
keyYesYour Syphoon API key from the dashboard
methodYesAlways GET for Instagram requests
cursor_idFor posts and commentsPagination cursor. Set to null for the first request, then pass the cursor from the previous response to get the next page
regionFor post_infoTarget region for location-specific post data

Code Examples

Profile details

python
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

python
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 paginate

Specific post information

python
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 more

Reel search by keyword

python
1payload = {  
2    "url": "running shoes",  
3    "data_type": "reels_search",  
4    "key": "YOUR_SYPHOON_KEY",  
5    "method": "GET"  
6}

Comments from a post

python
1payload = {  
2    "url": "https://www.instagram.com/p/POST_SHORTCODE/",  
3    "data_type": "comments",  
4    "cursor_id": None,  
5    "key": "YOUR_SYPHOON_KEY",  
6    "method": "GET"  
7}

Reels list from a profile

python
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?

Talk to us

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 caseData types neededWhat it produces
Influencer discovery and vettingprofile_detailsFollower count, bio, business category, and website for any public profile. Run across a list of handles to build a vetted influencer database.
Competitor content monitoringposts, post_infoFull post history from competitor profiles plus engagement detail on individual posts. Tracks posting frequency, content themes, and like counts over time.
Audience sentiment analysiscommentsRaw comment text from brand posts, competitor posts, or trending content. Input for sentiment classification, topic modelling, and audience research.
Reel trend researchreels_searchAll reels matching a keyword or topic. Identifies trending content formats, popular creators in a niche, and emerging hashtag themes.
Brand mention and UGC monitoringreels_search, commentsTrack mentions of a brand, product, or campaign across reels and comment sections without relying on Instagram's limited notification system.
Creator content auditsposts, reels_list, post_infoComplete 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 extractionpost_infoMedia 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.

Talk to us

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.

Join Discord

Frequently Asked Questions

The API returns six types of Instagram data: profile details (username, bio, follower count, following count, profile picture, website, business category), post lists from a profile, individual post information (media URLs, captions, like counts), reel search results by keyword, comments from specific posts, and reel lists from a Instagram profile. All data is publicly available on Instagram without authentication.
No. Syphoon's Instagram Scraper API collects only publicly available data. No Instagram account, cookies, or authentication credentials are required from you.
Requests for posts and comments support cursor-based pagination. Set cursor_id to null on the first request. The response includes a cursor value that you pass as cursor_id on the next request to retrieve the following page. This continues until no cursor is returned, indicating the end of the available data.
Yes. The post_info data type returns media URLs for images and videos from a specific post. Pass the post URL with data_type set to post_info and the response includes the media content URLs alongside the caption, like count, and other post metadata.
Yes. The reels_search data type accepts a keyword and returns all reels Instagram surfaces for that query, paginated. This is useful for trend research, competitor reel monitoring, and identifying creators active in a specific content niche.