CLI tool made by reverse engineering Instagram API calls.
Use the package manager pip to install InstagramCLI.
pip install InstagramCLI
Get followers of particluar account.
get_followers(username, save, optimizations)
Parameter | Type | Description | Values | Default Value |
---|---|---|---|---|
username | string | Username of account to scrape | -- | -- |
save | boolean | Save followers list to json file | True or False | True |
optimizations | dictionary | Additional params for nerds | shown below |
Param | Type | Description | Value | Default |
---|---|---|---|---|
count | int or string | Number of followers | number or all | all |
folder | string | Custom folder name | Anything you want | username |
sub_folder | string | Custom sub folder name | Anything you want | followers |
filename | string | Custom file name | Anything you want | username_followers |
timestamp_folder | boolean | Append current date & time to folder | True or False | False |
timestamp_file | boolean | Append current date & time to folder | True or False | False |
from InstagramCLI import InstagramCLI
optimizations = {
"count" : 24, // Must be a multiple of 12,
"folder" : "custom_readme_demo",
"sub_folder" : "custom_sub_folder",
"filename" : "anything_i_want",
"timestamp_folder" : True,
"timestamp_file" : True
}
cli = InstagramCLI(username="your_username", password="your_password")
data= cli.get_followers(username="suyash.jawale", optimizations=optimizations)
Get following of particluar account.
get_following(username, save, optimizations)
Parameter | Type | Description | Values | Default Value |
---|---|---|---|---|
username | string | Username of account to scrape | -- | -- |
save | boolean | Save following list to json file | True or False | True |
optimizations | dictionary | Additional params for nerds | shown below |
Param | Type | Description | Value | Default |
---|---|---|---|---|
count | int or string | Number of following | number or all | all |
folder | string | Custom folder name | Anything you want | username |
sub_folder | string | Custom sub folder name | Anything you want | following |
filename | string | Custom file name | Anything you want | username_following |
timestamp_folder | boolean | Append current date & time to folder | True or False | False |
timestamp_file | boolean | Append current date & time to folder | True or False | False |
from InstagramCLI import InstagramCLI
optimizations = {
"count" : 24, // Must be a multiple of 12,
"folder" : "custom_readme_demo",
"sub_folder" : "custom_sub_folder",
"filename" : "anything_i_want",
"timestamp_folder" : True,
"timestamp_file" : True
}
cli = InstagramCLI(username="your_username", password="your_password")
data= cli.get_following(username="suyash.jawale", optimizations=optimizations)
Fetch post media and post metadata.
get_posts(username,save,optimizations)
Parameter | Type | Description | Values | Default Value |
---|---|---|---|---|
username | string | Username of account to scrape | -- | -- |
save | boolean | Save following list to json file | True or False | True |
optimizations | dictionary | Additional params for nerds | shown below |
Param | Type | Description | Value | Default |
---|---|---|---|---|
raw_response | boolean | Response received from instagram | True or False | False |
count | int | Count of posts | number or all | 24 |
media_type | string | What to scrape photo or video | photo or video or both | both |
save_photo | boolean | Save photo post | True or False | False |
save_video | boolean | Save video post | True or False | False |
save_video_thumbnail | boolean | Save thumbnail of video | True or False | False |
folder | string | Custom folder name | Anything you want | username |
sub_folder | string | Custom sub folder name | Anything you want | posts |
filename | string | Custom file name | Anything you want | username_posts |
timestamp_folder | boolean | Append current date & time to folder | True or False | False |
timestamp_file | boolean | Append current date & time to folder | True or False | False |
from InstagramCLI import InstagramCLI
cli = InstagramCLI(username="your_username", password="your_password")
optimizations = {
"count" : 36, // Multiple of 12
"save_photo" : True,
"save_video" : True,
"timestamp_folder" : True
}
data= cli.get_posts(username="instagram",optimizations=optimizations)
Fetch reel videos and metadata.
get_reels(username,save,optimizations)
Parameter | Type | Description | Values | Default Value |
---|---|---|---|---|
username | string | Username of account to scrape | -- | -- |
save | boolean | Save following list to json file | True or False | True |
optimizations | dictionary | Additional params for nerds | shown below |
Param | Type | Description | Value | Default |
---|---|---|---|---|
raw_response | boolean | Response received from instagram | True or False | False |
count | int | Count of reels | number or all | 18 |
save_video | boolean | Save video post | True or False | False |
save_video_thumbnail | boolean | Save thumbnail of video | True or False | False |
save_music | boolean | Save reel music | True or False | False |
folder | string | Custom folder name | Anything you want | username |
sub_folder | string | Custom sub folder name | Anything you want | reels |
filename | string | Custom file name | Anything you want | username_reels |
timestamp_folder | boolean | Append current date & time to folder | True or False | False |
timestamp_file | boolean | Append current date & time to folder | True or False | False |
from InstagramCLI import InstagramCLI
cli = InstagramCLI(username="your_username", password="your_password")
optimized = {
"count": optimizations.get("count", 18),
"save_video": optimizations.get("save_video", False),
"save_video_thumbnail": optimizations.get("save_video_thumbnail", False),
"save_music": optimizations.get("save_music", False),
"timestamp_folder" : optimizations.get("timestamp_folder",False),
"timestamp_file" : optimizations.get("timestamp_file",False)
}
data= cli.get_reels(username="instagram",optimizations=optimized)
Scrape comments for any media.
get_comments(shortcode,save,optimizations)
Parameter | Type | Description | Values | Default Value |
---|---|---|---|---|
shortcode | string | Post id | -- | -- |
save | boolean | Save following list to json file | True or False | True |
optimizations | dictionary | Additional params for nerds | shown below |
Param | Type | Description | Value | Default |
---|---|---|---|---|
raw_response | boolean | Response received from instagram | True or False | False |
count | int | Count of posts | number or all | 60 |
child_comments | string | Comments of a comment | True or False | False |
folder | string | Custom folder name | Anything you want | shortcode |
sub_folder | string | Custom sub folder name | Anything you want | comments |
filename | string | Custom file name | Anything you want | shortcode_comments |
timestamp_folder | boolean | Append current date & time to folder | True or False | False |
timestamp_file | boolean | Append current date & time to file | True or False | False |
from InstagramCLI import InstagramCLI
cli = InstagramCLI(username="your_username", password="your_password")
optimizations = {
"count" : 25,
"child_comments" : True, // This operations requires requesting to server.
"timestamp_folder" : True
}
data= cli.get_comments(shortcode="CkP5nARPxSg",optimizations=optimizations)
Download stories and metadata for particular account.
get_story(username,save,optimizations )
Parameter | Type | Description | Values | Default Value |
---|---|---|---|---|
username | string | Username of account to scrape | -- | -- |
save | boolean | Save following list to json file | True or False | True |
optimizations | dictionary | Additional params for nerds | shown below |
Param | Type | Description | Value | Default |
---|---|---|---|---|
raw_response | boolean | Response received from instagram | True or False | False |
media_type | string | What to scrape photo or video | photo or video or both | both |
save_photo | boolean | Save photo post | True or False | False |
save_video | boolean | Save video post | True or False | False |
save_video_thumbnail | boolean | Save thumbnail of video | True or False | False |
folder | string | Custom folder name | Anything you want | username |
sub_folder | string | Custom sub folder name | Anything you want | story |
filename | string | Custom file name | Anything you want | username_story |
timestamp_folder | boolean | Append current date & time to folder | True or False | False |
timestamp_file | boolean | Append current date & time to folder | True or False | False |
from InstagramCLI import InstagramCLI
cli = InstagramCLI(username="your_username", password="your_password")
optimizations = {
"raw_response":True,
"media_type" : "video",
"save_photo" : True,
"save_video": True
}
data= cli.get_story(username="sakshimalikk",optimizations=optimizations)
Scrape account highlights media and metadata
get_highlights(username,save,optimizations)
Parameter | Type | Description | Values | Default Value |
---|---|---|---|---|
username | string | Username of account to scrape | -- | -- |
save | boolean | Save following list to json file | True or False | True |
optimizations | dictionary | Additional params for nerds | shown below |
Param | Type | Description | Value | Default |
---|---|---|---|---|
raw_response | boolean | Response received from instagram | True or False | False |
media_type | string | What to scrape photo or video | photo or video or both | both |
highlight_count | string or number | Count of highlights | all or number | 4 |
story_count | string or number | Count of story | all or number | 10 |
save_photo | boolean | Save photo post | True or False | False |
save_video | boolean | Save video post | True or False | False |
save_video_thumbnail | boolean | Save thumbnail of video | True or False | False |
folder | string | Custom folder name | Anything you want | username |
sub_folder | string | Custom sub folder name | Anything you want | highlights |
filename | string | Custom file name | Anything you want | username_highlights |
timestamp_folder | boolean | Append current date & time to folder | True or False | False |
timestamp_file | boolean | Append current date & time to folder | True or False | False |
from InstagramCLI import InstagramCLI
cli = InstagramCLI(username="your_username", password="your_password")
optimizations = {
"save_photo" : True,
"save_video" : True,
"highlight_count" : 5,
"story_count" : 20,
}
data= cli.get_highlights(username="rashmika_mandanna",optimizations=optimizations)
Find reels with same music.
get_music_reels(music_id,save,optimizations)
Parameter | Type | Description | Values | Default Value |
---|---|---|---|---|
music_id | string | Id of music | -- | -- |
save | boolean | Save following list to json file | True or False | True |
optimizations | dictionary | Additional params for nerds | shown below |
Param | Type | Description | Value | Default |
---|---|---|---|---|
raw_response | boolean | Response received from instagram | True or False | False |
count | int | Count of reels | number or all | 18 |
save_video | boolean | Save video post | True or False | False |
save_video_thumbnail | boolean | Save thumbnail of video | True or False | False |
save_music | boolean | Save reel music | True or False | False |
folder | string | Custom folder name | Anything you want | username |
sub_folder | string | Custom sub folder name | Anything you want | reels |
filename | string | Custom file name | Anything you want | username_reels |
timestamp_folder | boolean | Append current date & time to folder | True or False | False |
timestamp_file | boolean | Append current date & time to folder | True or False | False |
Step 1 - Clik on mysic name of reel
Step 2 - Copy the music id
from InstagramCLI import InstagramCLI
cli = InstagramCLI(username="", password="")
optimizations = {
"count" : 40,
"save_video" : True
}
data= cli.get_similar_reels(music_id="1184871695410444",optimizations=optimizations)
Scrape account highlights media and metadata
search(query, save, optimizations)
Parameter | Type | Description | Values | Default Value |
---|---|---|---|---|
query | string | search query | -- | -- |
save | boolean | Save list to json file | True or False | True |
optimizations | dictionary | Additional params for nerds | shown below |
Param | Type | Description | Value | Default |
---|---|---|---|---|
raw_response | boolean | Response received from instagram | True or False | False |
count | string or number | Count of highlights | all or number | 4 |
save_hd_photo | boolean | Save high quality profile photo - expensive operation | True or False | False |
save_sd_photo | boolean | Save regular quality profile photo | True or False | False |
folder | string | Custom folder name | Anything you want | query |
sub_folder | string | Custom sub folder name | Anything you want | search |
filename | string | Custom file name | Anything you want | username_highlights |
timestamp_folder | boolean | Append current date & time to folder | True or False | False |
timestamp_file | boolean | Append current date & time to folder | True or False | False |
from InstagramCLI import InstagramCLI
cli = InstagramCLI(username="your_username", password="your_password")
optimizations = {
"save_hd_photo" : True
}
data= cli.get_highlights(username="rashmika mandanna",optimizations=optimizations)