~/social/instagram-scraper

Scraper Instagram — profils, posts et Reels

Scraping Instagram sans connexion : profils, posts, Reels et commentaires par pseudo ou URL, avec légendes, hashtags, engagement et liens vidéo. JSON, CSV.

réseaux sociaux TypeScript Monde
proooxy/instagram-scraper — specs
catégoriesocial / réseaux sociaux
langageTypeScript
stackTypeScript
marchésMonde
sortieJSON propre, prêt pour le RAG

fonctionnalités clés

Sans connexion et sans compte Instagram — uniquement les profils, posts et Reels publics

Profils avec bio, nom complet, nombre d’abonnés et d’abonnements, indicateurs vérifié et privé, liens de la bio et avatar

Posts, Reels et carrousels avec légende, likes et nombre de commentaires ; les Reels lus depuis l’onglet Reels d’un profil portent aussi leur nombre de lectures

Hashtags et mentions extraits de la légende dans des tableaux propres

Les sujets propres à Instagram, les utilisateurs identifiés, les co-auteurs et le lieu sur chaque post

Les liens image et vidéo de chaque élément du carrousel, plus la piste audio seule de chaque vidéo qui en a une

Commentaires en option avec auteur, texte, likes, nombre de réponses et horodatage — jusqu’à 500 par post

Plafonds par profil et plafond strict de requêtes, pour que la taille d’une exécution reste prévisible

cas d’usage

  • Étude des influenceurs et créateurs — engagement, co-auteurs et comptes qu’ils identifient
  • Veille marques et concurrents sur les comptes que vous choisissez
  • Regroupement et analyse de tendances par les sujets propres à Instagram
  • Analyse des commentaires et du sentiment sur les posts et Reels
  • Envoyer les pistes audio seules des Reels vers un outil de reconnaissance vocale
  • Jeux de données sociaux pour pipelines RAG et LLM

paramètres d’entrée

ParamètreTypeRequisDescription
startUrlsarrayoptionnelAdresses de profils, posts ou Reels ; indiquez celles-ci ou des usernames
usernamesarrayoptionnelNoms de profil, avec ou sans @
maxPostsPerProfileintegeroptionnelPosts et Reels lus en entier par profil, comptés séparément (24 par défaut)
includeReelsbooleanoptionnelLit aussi l’onglet Reels de chaque profil — la seule lecture qui porte le nombre de lectures (activé par défaut)
includeCommentsbooleanoptionnelLit les commentaires de chaque post, dans la limite ci-dessous (désactivé par défaut)
maxCommentsPerPostintegeroptionnelCommentaires conservés par post ou Reel, de 0 à 500 (24 par défaut)
postsPerPageintegeroptionnelNombre de posts demandés par page (12 par défaut)
maxConcurrencyintegeroptionnelRequêtes simultanées (3 par défaut)
maxRequestsPerCrawlintegeroptionnelS’arrête après ce nombre de requêtes ; vide signifie sans limite
proxyobjectoptionnelApify Proxy, résidentiel par défaut — Instagram répond bien plus volontiers aux lecteurs non connectés depuis une adresse résidentielle

Exemple de sortie

 1{
 2  "type": "post",
 3  "source": {
 4    "id": "instagram",
 5    "canonicalUrl": "https://www.instagram.com/reel/DdRyQxKteC1/",
 6    "username": "astro_jessica"
 7  },
 8  "kind": "reel",
 9  "id": "3986188199829823669",
10  "shortcode": "DdRyQxKteC1",
11  "owner": {
12    "id": "4092263381",
13    "username": "astro_jessica",
14    "fullName": "Jessica Meir",
15    "isVerified": true
16  },
17  "takenAt": "2026-09-14T18:58:07.000Z",
18  "caption": "Volume up and get your groove on! A bit of weekend dancing on the @iss to start your week off right. …",
19  "hashtags": [],
20  "mentions": [
21    "iss"
22  ],
23  "format": "video",
24  "productType": "clips",
25  "isVideo": true,
26  "isReel": true,
27  "hasAudio": true,
28  "likeCount": 251630,
29  "commentCount": 2690,
30  "medias": [
31    {
32      "type": "Image",
33      "url": "https://…jpg",
34      "width": 892,
35      "height": 1584
36    },
37    {
38      "type": "Video",
39      "videoUrl": "https://…mp4",
40      "width": 892,
41      "height": 1584,
42      "audioUrl": "https://…mp4"
43    }
44  ],
45  "audioTitle": "Original audio",
46  "coauthors": [
47    {
48      "username": "nasa",
49      "id": "528817151",
50      "fullName": "NASA"
51    },
52    {
53      "username": "iss",
54      "id": "953293389",
55      "fullName": "International Space Station"
56    },
57    {
58      "username": "astro_anil",
59      "id": "50101577629",
60      "fullName": "Anil | Astronaut Space Doctor"
61    }
62  ],
63  "topics": [
64    "international space station",
65    "zero gravity",
66    "samantha cristoforetti",
67    "iss life",
68    "space station interior"
69  ],
70  "location": {
71    "id": "1783641135097024",
72    "name": "International Space Station"
73  },
74  "commentsRead": 24,
75  "comments": [
76    {
77      "id": "18000000000000000",
78      "authorUsername": "example_user",
79      "authorId": "10000000000",
80      "authorIsVerified": false,
81      "text": "Microgravity jazzercise 💃",
82      "likeCount": 0,
83      "createdAt": "2026-10-20T01:38:03.000Z"
84    }
85  ],
86  "scrapedAt": "2026-10-20T01:52:17.665Z"
87}

Tarifs

Paiement à l’événement : facturé une fois par post ou Reel conservé, une fois par profil conservé et une fois par commentaire conservé avec un post. Rien n’est facturé pour un enregistrement que l’Actor n’a pas pu lire.

Conseils

Commencez par un profil. Un maxPostsPerProfile bas vous montre les enregistrements avant de passer à l’échelle. Laissez l’onglet Reels activé. C’est la seule lecture qui porte le nombre de lectures ; le désactiver allège l’exécution à ce prix. Gardez les commentaires désactivés sauf besoin. Chaque commentaire conservé est facturé une fois ; maxCommentsPerPost limite le nombre qu’apporte un post. Besoin de ce que disent les Reels ? Le Scraper de transcriptions Instagram transforme les Reels des mêmes comptes en texte horodaté.

faq

Faut-il un compte Instagram ?
Non. Aucune connexion n’est faite et aucun cookie de compte n’est envoyé — l’Actor lit ce qu’Instagram montre à n’importe quel visiteur non connecté.
Est-il légal de scraper Instagram ?
Cet Actor ne lit que ce qu’Instagram montre à tout visiteur non connecté et ne se connecte jamais ; dans l’affaire Meta v. Bright Data (2024), un tribunal américain a jugé que la collecte de données publiques sans connexion ne violait pas les conditions de Meta. La légalité de votre usage dépend de ce que vous collectez et de ce que vous en faites — profils et commentaires peuvent être des données personnelles au sens de lois comme le RGPD —, alors vérifiez auprès de votre propre conseil juridique.
Est-ce une alternative à l’API Instagram ?
Pour lire des données publiques, oui. L’API officielle d’Instagram est conçue pour gérer votre propre compte professionnel et exige une app Meta, un compte entreprise ou créateur et une revue de l’app. Cet Actor lit n’importe quel profil, publication ou Reel public sans rien de tout cela, et vous l’appelez via l’API Apify.
Peut-il lire les Stories, les abonnés ou les pages de hashtags ?
Non. Instagram ne sert les Stories, les stories à la une, les listes d’abonnés, les pages de hashtags et la recherche par mot-clé qu’aux utilisateurs connectés, et cet Actor reste déconnecté. Il lit les comptes et les posts que vous lui indiquez.
Pourquoi certains posts n’ont-ils pas de nombre de lectures ?
Le nombre de lectures ne vient que de l’onglet Reels d’un profil. Laissez includeReels activé — il l’est par défaut — et les Reels lus à cet endroit le portent.
Quels liens Instagram fonctionnent ?
Les adresses de profil, de post, de Reel et d’IGTV (instagram.com/<user>/, /p/<code>/, /reel/<code>/, /tv/<code>/), @username, ou un simple username. Un lien de partage (instagram.com/share/… ou /s/…) contient un code qui n’est pas celui du post lui-même : ouvrez-le et collez l’adresse vers laquelle il mène.

similaires dans ~/social

Exécutez Scraper Instagram — profils, posts et Reels, ou obtenez un projet sur mesure

Commencez à extraire sur Apify en quelques minutes, ou engagez-moi pour construire un scraper sur mesure et un pipeline RAG adaptés exactement à votre source et à votre schéma.

exécuter sur Apify obtenir des données sur mesure