Instagram Post Scraper avatar
Instagram Post Scraper
Try for free

No credit card required

View all Actors
Instagram Post Scraper

Instagram Post Scraper

apify/instagram-post-scraper
Try for free

No credit card required

Scrape Instagram posts. Just add one or more Instagram usernames and get your data in seconds including text, hashtags, mentions, comments, images, URLs, likes, locations, and metadata. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.

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

How many results can you scrape with Instagram Post scraper?

Instagram Post scraper can return thousands results on average (and of course if there are that many).

You have to keep in mind that scraping Instagram is dynamic and subject to change. There’s no one-size-fits-all-use-cases number. The maximum number of results may vary depending on the complexity of the input, location, and other factors.

Therefore, while we regularly run Actor tests to keep the benchmarks in check, the results may also fluctuate without our knowing. The best way to know for sure for your particular use case is to do a test run yourself.

How much will scraping Instagram Posts cost you?

When it comes to scraping, it can be challenging to estimate the resources needed to extract data as use cases may vary significantly. That's why the best course of action is to run a test scrape with a small sample of input data and limited output. You’ll get your price per scrape, which you’ll then multiply by the number of scrapes you intend to do.

Watch this video for a few helpful tips. And don't forget that choosing a higher plan will save you money in the long run.

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.

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:

1{
2
3"username": ["zelenskiy_official"],
4
5"resultsLimit": 10
6
7}

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:

1[{
2
3"queryUsername": "zelenskiy_official",
4
5"position": 1,
6
7"id": "2872052725666677091",
8
9"type": "Image",
10
11"shortCode": "CfblLy5jgFj",
12
13"caption": "Під час телефонної розмови з Президентом Німеччини @bundespraesident.steinmeier обговорили подальше нарощування оборонної підтримки України. Для нас цінна солідарність німецького народу на шляху України до ЄС і підтримка в протидії агресії. Дякую за співчуття у зв'язку з нелюдською атакою на Кременчук.",
14
15"hashtags": [],
16
17"mentions": [
18
19"bundespraesident.steinmeier"
20
21],
22
23"url": "https://www.instagram.com/p/CfblLy5jgFj/",
24
25"commentsCount": 96,
26
27"firstComment": "",
28
29"latestComments": [],
30
31"dimensionsHeight": 720,
32
33"dimensionsWidth": 1080,
34
35"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",
36
37"images": [],
38
39"alt": null,
40
41"likesCount": 5066,
42
43"timestamp": "2022-06-30T13:23:06.000Z",
44
45"childPosts": [],
46
47"locationName": null,
48
49"locationId": null,
50
51"ownerFullName": null,
52
53"ownerUsername": "zelenskiy_official",
54
55"ownerId": "4731970969"
56
57},
58
59{
60
61"queryUsername": "zelenskiy_official",
62
63"position": 2,
64
65"id": "2871931386540652607",
66
67"type": "Sidecar",
68
69"shortCode": "CfbJmFCDPg_",
70
71"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.",
72
73"hashtags": [],
74
75"mentions": [],
76
77"url": "https://www.instagram.com/p/CfbJmFCDPg_/",
78
79"commentsCount": 2463,
80
81"firstComment": "",
82
83"latestComments": [],
84
85"dimensionsHeight": 498,
86
87"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.

Integrations and Instagram Post Scraper

Last but not least, Instagram Post Scraper can be connected with almost any cloud service or web app thanks to integrations on the Apify platform. You can 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.

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 Mentions Scraper🎞️ Instagram Reel Scraper
👥 Instagram Followers Count Scraper💬 Instagram Comments Scraper
#️⃣ Instagram Hashtag Scraper📊 Instagram Hashtag Stats
👤 Instagram Profile ScraperQuick Instagram Posts Checker

Not your cup of tea? Build your own scraper

Instagram Post scraper doesn’t exactly do what you need? You can always build your own! We have various scraper templates in Python, JavaScript, and TypeScript to get you started. Alternatively, you can write it from scratch using our open-source library Crawlee. You can keep the scraper to yourself or make it public by adding it to Apify Store (and find users for it).

Or let us know if you need a custom scraping solution.

Your feedback

We’re always working on improving the performance of our Actors. So if you’ve got any technical feedback for Instagram Post scraper or simply found a bug, please create an issue on the Actor’s Issues tab in Apify Console.

Developer
Maintained by Apify
Actor metrics
  • 1.6k monthly users
  • 98.6% runs succeeded
  • 1.8 days response time
  • Created in Nov 2021
  • Modified about 4 hours ago