Actor picture

Instagram Post Scraper

zuzka/instagram-post-scraper

Use this no-code Instagram tool for scraping data from Instagram posts. Just add one or more Instagram usernames and get your data in seconds including hashtags, mentions, comments, images, likes, locations, and metadata. Download Instagram data in JSON, Excel, HTML and other formats.

No credit card required

Author's avatarZuzka Pelechová
  • Modified
  • Users2,401
  • Runs104,064
Actor picture
Instagram Post Scraper

What is Instagram Post Scraper?

Instagram Post Scraper allows you to scrape public posts from any Instagram user. Just enter one or more Instagram usernames and you can extract and download all their posts in Excel, HTML, XML, CSV, Excel, or JSON to use in reports, data visualizations, spreadsheets, and other applications.

Why scrape Instagram posts?

Instagram post data can give you valuable information about popular posts anywhere in the world to use in reports, data visualizations, spreadsheets, and applications. Instagram post data can help you:

  • improve market research
  • optimize your marketing and PR
  • conduct sentiment analysis
  • understand audience engagement
  • train your AI models
  • monitor fake news

If you want more ideas, check out our industries pages for ways web scraping is already being used in a wide range of companies.

How to scrape Instagram posts

Instagram Post Scraper is designed to be fast and easy to use so there aren't too many parameters or settings. Just follow the steps below:

  1. Create a free Apify account.
  2. Open Instagram Post Scraper.
  3. Add one or more Instagram usernames to scrape.
  4. Click "Save & Start" and wait for the datasets to be extracted.
  5. Download your data in JSON, XML, CSV, Excel, or HTML.

Instagram Post Scraper tutorial

If you want more guidance on how to use Instagram Post Scraper, this video tutorial shows you how to do it in just a few minutes

Watch the video

How much does Instagram Post Scraper cost?

Scraping a 1,000 Instagram posts will cost you just $4.25 platform credits from your Apify subscription plan. For instance, the Apify Personal plan ($49) would allow you to scrape about 11,500 Instagram posts monthly. For more details about the plans we offer, platform credits, and usage, see th platform pricing page or this video guide on how to choose the right subscription plan.

Our Instagram scrapers are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our scrapers, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You can also read our blog posts on the legality of web scraping and ethical scraping.

Integrations and Instagram Post Scraper

Instagram Post Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. Integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. Or you can use webhooks to carry out an action whenever an event occurs, e.g. get a notification whenever Instagram Post Scraper successfully finishes a run.

Using Instagram Post Scraper with the Apify API

The Apify API gives you programmatic access to the Apify platform. The API is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify actors. The API also lets you access any datasets, monitor actor performance, fetch results, create and update versions, and more.To access the API using Node.js, use the apify-client NPM package. To access the API using Python, use the apify-client PyPI package. Check out the Apify API reference docs for full details or click on the API tab for code examples.

Input parameters

There are just two fields to fill out: an Instagram username (one or multiple) and the number of results you'd like to receive. Let's scrape the recent Instagram posts from Volodymyr Zelenskiy's Instagram account.

Apify - Instagram Post Scraper input

Or, as it would look in JSON format:


{

"username": ["zelenskiy_official"],

"resultsLimit": 10

}

Output example

Each item will be a separate item in the dataset. You can view the extracted data as an overview table or see all fields in different formats. You can then export them from the platform onto your computer or integrate with other apps directly.

Apify - Instagram Post Scraper output

Or, as it would look in JSON format:


[{

"queryUsername": "zelenskiy_official",

"position": 1,

"id": "2872052725666677091",

"type": "Image",

"shortCode": "CfblLy5jgFj",

"caption": "Під час телефонної розмови з Президентом Німеччини @bundespraesident.steinmeier обговорили подальше нарощування оборонної підтримки України. Для нас цінна солідарність німецького народу на шляху України до ЄС і підтримка в протидії агресії. Дякую за співчуття у зв'язку з нелюдською атакою на Кременчук.",

"hashtags": [],

"mentions": [

"bundespraesident.steinmeier"

],

"url": "https://www.instagram.com/p/CfblLy5jgFj/",

"commentsCount": 96,

"firstComment": "",

"latestComments": [],

"dimensionsHeight": 720,

"dimensionsWidth": 1080,

"displayUrl": "https://instagram.fkhi6-1.fna.fbcdn.net/v/t51.2885-15/290674587_140442341970727_8442312739974023977_n.jpg?stp=dst-jpg_e35_s1080x1080&_nc_ht=instagram.fkhi6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=gdRSwayFqbcAX-rvqMD&edm=ABfd0MgBAAAA&ccb=7-5&oh=00_AT_rg_MGnokkRvEpUYg8rDSZp0Ufm3MJlACTiKGIvGgqhw&oe=62C5443E&_nc_sid=7bff83",

"images": [],

"alt": null,

"likesCount": 5066,

"timestamp": "2022-06-30T13:23:06.000Z",

"childPosts": [],

"locationName": null,

"locationId": null,

"ownerFullName": null,

"ownerUsername": "zelenskiy_official",

"ownerId": "4731970969"

},

{

"queryUsername": "zelenskiy_official",

"position": 2,

"id": "2871931386540652607",

"type": "Sidecar",

"shortCode": "CfbJmFCDPg_",

"caption": "Україна — держава, де найвищою цінністю є людина. І ми воюємо проти агресора, для якого найвища цінність – це зброя.\n\n——\n\nUkraine is a state where the highest value is a person. And we are fighting against the aggressor whose highest value is weaponry.\n\nPhoto: Ivor Prickett for The New York Times, Heidi Levine for The Washington Post, Evgeny Zavgorodniy, Metin Aktas for Anadolu Images, Julia Kochetova, Marco Djurica, Serhii Korovainyi.",

"hashtags": [],

"mentions": [],

"url": "https://www.instagram.com/p/CfbJmFCDPg_/",

"commentsCount": 2463,

"firstComment": "",

"latestComments": [],

"dimensionsHeight": 498,

"dimensionsWidth": 750,

You can manage the results in any language (Python, PHP, Node.js/NPM). See the Apify API docs to learn more about getting results from the scraper.

Want to scrape Instagram hashtags, profiles, or comments?

You can use the other dedicated scrapers below if you want to scrape specific Instagram data. You'll have fewer settings to change and faster results. Just enter one or more Instagram usernames or URLs and click to scrape.

➡️ Instagram Hashtag Scraper ➡️ Instagram Comment Scraper ➡️ Instagram Profile Scraper ➡️ Quick Instagram Posts Checker ➡️ Instagram Tagged Scraper ➡️ Instagram Reel Scraper ➡️ Instagram Comment Scraper

Need something more advanced?

Try our more advanced Instagram Scraper or Instagram API Scraper if you need more options and are comfortable with changing settings.

Let us know if you need a custom Instagram scraping solution.

Industries

See how Instagram Post Scraper is used in industries around the world