Skip to main content

Social::Instagram::Profile - Instagram scraper. Data collection from Instagram profiles

Social::Instagram::Profile

Overview of the scraper

Social::Instagram::ProfileSocial::Instagram::Profile – scrapes profile data from Instagram. The Instagram scraper allows for bulk scraping of user profile data. The collected data includes nickname, name, bio, website, number of posts, etc. A complete list of collected data is available in the corresponding section.

A-Parser functionality allows saving scraping settings for the Social::Instagram::Profile scraper for future use (presets), ), setting a scraping schedule, and much more.

Results can be saved in the format and structure you need, thanks to the built-in powerful templating engine Template Toolkit which allows applying additional logic to the results and outputting data in various formats, including JSON, SQL and CSV.

note

The scraper uses data from an authorized account. To make the scraper work, you must specify a value for the cookie option.

Scraper use cases

Collecting links to posts
  1. Override option Result format, specify $posts.format('$link\n').
  2. Override option Posts pages count, select All.
  3. Specify profile links as queries.
Download example

How to import the example into A-Parser

eJx9U01v2zAM/SuBkMMGBEF72MUYBqTBArTI6qxpT0EOhEVnamRRk+RsneH/Pkpx
7CT78Mn8eI98ItmIAH7vVw49Bi+yTSNs+heZkFhCrYOYCAvOo4vhjVhToUBn2b3x
AXYOqixbOSqVRk7sIY0IbxaZhA7onJIxqCTbBdFeResAuo4JH+fJ40dUjsCMoA7f
yKlfKEdQFFSb8Em0/6az5INfwQ7nMXWgvb3hr91uJ4LVcEd+Qa6CqGpsb6edxD64
hgM+Ewc7GScMW49QxbpjCQFjdFomonfvp+FnZAApVVBkQB8rxEcaqr4Y9T2pNMS5
/OtY6cJRxa6AiSA6307dbcQ42YIp6oT9esSIrATtcSI8t7oAbkReR1RAB4FcbmM/
7G8EmZnWSzygHtIS/12ttOSJzkoG3XfAv6fkf3C0vbzzUjyYH4576FmSdZd/GVCS
lrQ7PYZWlQps++PkMnHDzj2i7d/sMaZV5LAv0zF31XlpLZq4BcPIZnZwXci4GMul
syBTql3ebdYpszbPfBm5mVNlNUZdptaax+LxaViPme/GEI2hwWvwPJW4uKlApP3D
+tiqdYrX70NssOKXPK/aURag9cvT8jwSgT6Qzc1n567GlxZDFE75oCC9d8ELvCNe
LZbXbvub7i+/+d9lZ03L83vlS0ugKDZC2Mev5nk4fHHtb+bPg/A=

Collected data

  • Nickname
  • Full name
  • Biography
  • Website
  • Number of posts
  • Number of followers
  • Number of followings
  • Link to author's profile
  • Channel
  • Whether the profile is a business profile
  • Whether the profile is private
  • Whether the profile is verified
  • Link to avatar
  • Link to Facebook page
  • Post information
  • Number of video views
  • Profile email
  • Profile location
  • Phone numbers (from profile bio)
  • Author's publications
    • Type
    • Link
    • Text
    • Time
    • Number of comments
    • Number of likes
    • Link to media
    • Publication height
    • Publication width
    • Link to publication author
    • Location
    • Number of views (video)
  • Followings and followers
    • ID
    • Link to profile
    • Nickname
    • Full name
    • Whether the profile is private
    • Whether the profile is verified
    • Link to avatar
    • Whether the user is a potential scammer
  • Attached links
    • Title
    • Link
    • Type

Use cases

  • Collecting profile information
  • Collecting publications
  • Collecting followers
  • Collecting followings
  • Scraping links to posts for use in Social::Instagram::PostSocial::Instagram::Post

Setup

Getting the required option for authorization

Spoiler: how to find cookie?

Go to any profile, having previously opened the debug mode by pressing F12. Debug Using the string graphql/query ((json type), we look for the necessary request that stores the values for the scraper. Search Go to the request and copy the value from the cookie parameter. Values

Queries

As queries, you need to specify the profile nickname, for example:

cristiano 
kyliejenner

Output results options

A-Parser supports flexible result formatting thanks to the built-in templating engine Template Toolkit, which allows it to output results in an arbitrary form, as well as in a structured form, such as CSV or JSON

Default output

Result format:

$query: $full_name, followers: $followers_count, following: $following_count\nPosts:\n$posts.format('$link\n')

Example result:

cristiano: Cristiano Ronaldo, followers: 579975336, following: 558
Posts:
https://www.instagram.com/p/CrmIE7tNddZ/
https://www.instagram.com/p/Crg1arRNXvX/
https://www.instagram.com/p/CrUE3a6tRs4/
https://www.instagram.com/p/CrK_zvLAofv/
https://www.instagram.com/p/CrGMggNq1Cb/
https://www.instagram.com/p/CrEHoMbK0_C/
https://www.instagram.com/p/Cq8QZGDIix1/
https://www.instagram.com/p/CqxINLiOCPK/
https://www.instagram.com/p/CqoZ8pRo91y/
https://www.instagram.com/p/CqjQjCII98k/
https://www.instagram.com/p/CqeFZMFotaH/
https://www.instagram.com/p/CqcihSbAxaH/

Links to following and follower profiles

Result format:

Followers:\n$followers.format('$link\n')\nFollowings:\n$followings.format('$link\n')

Example result:

Followers:
https://www.instagram.com/madhu55745/
https://www.instagram.com/akoy4615/
https://www.instagram.com/kiiitank/
https://www.instagram.com/erzhi19/
https://www.instagram.com/na898poli/
https://www.instagram.com/omronnmaaj/
https://www.instagram.com/abhishak8474/
https://www.instagram.com/karankumarkaran110/
https://www.instagram.com/engin_altannnn/
https://www.instagram.com/biel.full/

Followings:
https://www.instagram.com/rafanery.hrpz/
https://www.instagram.com/hubermanlab/
https://www.instagram.com/insparya_italy/
https://www.instagram.com/gerson_rodrigues_11/
https://www.instagram.com/bernardorsousa/
https://www.instagram.com/eminem/
https://www.instagram.com/spl/
https://www.instagram.com/toto.restaurants/
https://www.instagram.com/thetoolsbook/
https://www.instagram.com/rauwalejandro/
https://www.instagram.com/francisngannou/
https://www.instagram.com/sultan_alghannam/

Possible settings

ParameterDefault valueDescription
cookieMust specify Cookie in advance
x-csrftokenAbility to specify x-csrftoken (if necessary)
x-ig-app-id936619743392459Ability to specify x-ig-app-id (if necessary)
Posts pages count1Number of pages with posts
Followers pages count1Number of pages with followers
Followings pages count1Number of pages with followings