Instagram Scraper - Posts, Profiles & Reels avatar

Instagram Scraper - Posts, Profiles & Reels

Under maintenance

Pricing

from $0.26 / 1,000 item collecteds

Go to Apify Store
Instagram Scraper - Posts, Profiles & Reels

Instagram Scraper - Posts, Profiles & Reels

Under maintenance

Scrape Instagram profiles, posts, reels, comments, followers, hashtags, locations, search, and more through 36 API endpoints with automatic pagination. Powered by Titan Network.

Pricing

from $0.26 / 1,000 item collecteds

Rating

0.0

(0)

Developer

Titan Network

Titan Network

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

This Instagram scraper collects public profiles, posts, reels, comments, followers, following, hashtags, locations, and search results through the Dataclawd API. Choose a task or endpoint, collect one or more targets with automatic endCursor / maxId pagination, and receive one Dataset row for each returned item.

It covers 36 endpoints for user information, profiles, posts, reels, followers, following, post comments and likers, hashtags, search, explore, locations, music, and media/user ID conversion.

Powered by Dataclawd API · Not affiliated with Instagram / Meta, Inc.

What you can scrape

  • Public Instagram profiles, posts, reels, comments, followers, following, tagged posts, and reposts.
  • Hashtags, places, location feeds, explore sections, music information, and user or media ID conversions.
  • User, hashtag, place, and combined search results through the available endpoints.

Use cases

  • Research public creator profiles and their posts, reels, comments, followers, or following.
  • Monitor public hashtag, location, and explore content for market or content research.
  • Build structured datasets from public Instagram search and endpoint results.

FAQ

How does pagination work? The Actor follows endCursor or maxId automatically when paginationParam is auto; use maxItems, maxPages, or startCursor to control or resume collection.

Can I collect multiple targets? Yes. Add parameter objects to targets; the Actor processes each target in sequence.

Where do credentials come from? Dataclawd API credentials are configured by the publisher. Some Instagram endpoints also depend on Dataclawd's backend Instagram session being available.

What public data can I collect? Collect only data you are authorized to collect from the public endpoint responses listed below; availability can vary by endpoint and platform state.

Quick start

  1. Open the Actor's Input tab.
  2. Pick a task (采集任务), e.g. userPosts — the endpoint is selected automatically.
  3. Fill userId (numeric Instagram user ID — use the idUserId endpoint to convert a username to an ID, e.g. instagram25025320).
  4. Optionally set count (items per page), maxItems / maxPages to control volume, or add multiple objects to targets to batch-collect several users.
  5. Click Run and open the Dataset tab when it finishes — every collected item is one row with the raw JSON in the data field.

Input

FieldTypeDefaultDescription
taskenumRecommended. Collection intent, auto-maps to an endpoint (see Tasks below). Leave empty only if you set endpoint explicitly.
endpointenumautoAdvanced. auto = resolve from task; or set an explicit endpoint to override.
userIdstringInstagram numeric user ID. Needed by user* list endpoints (posts/reels/followers/...).
usernamestringInstagram username without @ (e.g. instagram). Used by profile / ID-conversion endpoints.
shortcodestringPost/reel shortcode (the part after /p/ or /reel/ in a post URL), e.g. C4PYiJQubeR. Needed by post* endpoints.
urlstringFull post/reel URL (alternative to shortcode).
qstringSearch keyword. Needed by hashtag* / search* endpoints.
typeenumblendedSearch type: blended / users / hashtags / places.
countinteger12Items per page (IG commonly uses 12 / 30).
locationPkstringInstagram location ID. Needed by location* endpoints.
lat / lngstringCoordinates for directory* endpoints.
tabenumrankedLocation posts tab: ranked (top) / recent.
countryCode / cityId / pagestring/intDirectory endpoints (directoryCities / directoryLocations).
musicIdstringMusic ID. Needed by musicInfo.
sectionIdstringExplore section ID (optional for explore*).
maxIdstring(empty)Start cursor for search/hashtag/explore/music endpoints.
targetsarray of object(empty)Batch mode: each element is a param set, collected one after another.
proxyUrlstring(empty)Proxy used by Dataclawd's server when fetching Instagram.
httpMethodenumGETDataclawd Instagram endpoints are GET-only; POST usually returns endpoint_not_found.
maxItemsinteger100Stop after this many items in total (max 100 000).
maxPagesinteger10Max pages per target (max 100).
startCursorstring(empty)Start from a previous cursor (endCursor / maxId).
itemsPathstring(empty)Dot-path to the item list. Leave empty for auto-detection (largest array).
nextCursorPathstring(empty)Dot-path to the next-page cursor. Leave empty for auto-detection (end_cursor / max_id / profile_grid_items_cursor ...).
paginationParamenumautoQuery param used for paging: auto (per endpoint), endCursor, maxId, or none.

Endpoints

Tasks

Pick a task and the Actor selects the endpoint for you. Fill the params below (username / userId / shortcode / q …).

TaskEndpointRequired params
userInfo 用户资料userInfousername or userId
userPosts 用户帖子userPostsuserId
userReels 用户 ReelsuserReelsuserId
userFollowers 用户粉丝userFollowersuserId
userFollowing 用户关注userFollowinguserId
postDetail 帖子详情postDetailshortcode or url
postComments 帖子评论postCommentsshortcode or url
postLikers 帖子点赞postLikersshortcode or url
hashtagTop Hashtag 热门hashtagTopq
hashtagRecent Hashtag 最新hashtagRecentq
search 综合搜索searchq
searchUsers 搜索用户searchUsersq
searchPlaces 搜索地点searchPlacesq
locationFeeds 地点帖子locationFeedslocationPk
explore 探索页exploreSection

ID conversionidUserId, idUsername, idMediaId, idMediaShortcode UseruserInfo, userProfile, userProfile2, userWebProfile, userPosts, userPosts2, userReels, userTagged, userReposts, userRelatedProfiles, userFollowers, userFollowing PostpostDetail, postComments, postTopComments, postLikers, postDownloadLink, postVideoUrl HashtaghashtagInfo, hashtagRecent, hashtagTop Searchsearch, searchUsers, searchHashtags, searchPlaces ExploreexploreSection, exploreSections Location / directorylocationFeeds, locationInfo2, directoryCities, directoryLocations MusicmusicInfo

Output (Dataset — one row per collected item)

FieldDescription
platformAlways instagram.
endpointThe endpoint that produced this row.
statuscompleted (data collected) or failed (request-level failure).
targetHuman-readable target summary, e.g. userId=25025320.
pagePage number this item came from (1-based).
itemIndexSequential index within the run (1-based).
cursorCursor used to fetch that page (-1 = first page).
dataThe collected item — the raw JSON returned by Dataclawd (an IG media / user / comment object).
errorStageWhere a failure happened: connect_failed / server_error / auth_error / rate_limited / request_error / parse_error / empty_result.
errorCodeHTTP status code (if any), e.g. 429.
errorError message on failed rows.

Note: some Instagram endpoints require Dataclawd's own Instagram session to be logged in. If Dataclawd's backend is logged out / rate-limited, the API returns login_required / "Please wait a few minutes" style payloads; the Actor writes them as failed rows with the original message in error (best-effort collection still works for endpoints that are available).

Run status & status message

While running, the Actor's status message is updated periodically (开始采集 …采集 … 中:已写入 n 条完成:…). The run succeeds (SUCCEEDED) as soon as at least one item is collected. If every target fails or returns nothing, the run ends FAILED with an explanatory message. Billing happens only for completed rows.

How to verify the results

  1. Run status: the run is SUCCEEDED when at least one item was written; the status message shows live progress.
  2. Per-item state: open the run's Dataset — every collected item has status=completed with the raw JSON in data; failed rows explain why (errorStage / errorCode / error).
  3. Spot-check against the API: re-run one target in the Dataclawd API Console and compare with the row's data.
  4. Billing: only completed rows carry the item-collected pay-per-event charge.

Developer note: for automated checks (run status, row schema, optional Dataclawd API replay), use python3 tools/verify_output.py --run <RUN_ID> [--api].

Pricing

Pay-per-event (PPE): one item-collected event per successfully collected item. Failed rows do not carry this event.

Publishing note: define an item-collected event with your price in the Actor's Monetization tab. The platform's built-in synthetic event apify-default-dataset-item is charged automatically per default-dataset item when PPE is enabled; set its price to 0 if you don't want a per-item base fee.

Configuration (publisher)

The following environment variables are configured on the Actor's version settings and are not visible to end users:

  • DATACLAWD_API_HOST — Dataclawd API base URL (e.g. https://api.dataclawd.example).
  • DATACLAWD_API_KEY — Dataclawd API key (sent as X-API-Key).

Disclaimer

This Actor is not affiliated with, endorsed by, or sponsored by Instagram or Meta, Inc. Collect only data you are authorized to collect, and comply with Instagram's Terms of Service, the Dataclawd service terms, and applicable law.


中文简介

本 Actor 通过 Dataclawd API 批量采集 Instagram 数据(36 个端点):用户资料/帖子/Reels/粉丝/关注、帖子详情/评论/点赞/下载与视频链接、Hashtag 信息/最新/热门、搜索(用户/标签/地点/综合)、探索板块、地点帖子与城市目录、音乐信息,以及用户/媒体 ID 转换。选定采集端点、自动按 endCursor/maxId 游标分页、自动提取条目列表(最大数组启发式;itemsPath/nextCursorPath 可显式指定),并把每条数据以 JSON 写入 Apify 默认 Dataset(成功行同时也是按事件计费的计费事件)。

  • 输入endpoint(采集端点,必填)、userId(user* 列表端点,可用 idUserId 由用户名换 ID)、username/shortcode/url/q/locationPk/musicId(各端点对应主体)、count(每页条数)、targets(批量目标列表,可选)、maxItems/maxPages(采集量控制)、maxId/startCursor(续采)、itemsPath/nextCursorPath(高级:显式指定提取路径与游标路径)、paginationParam(分页参数,auto 时 user/post 用 endCursor、search/hashtag 用 maxId)。
  • 输出:每行包含 platformendpointstatuscompleted/failed)、targetpageitemIndexcursor 和采集到的原始数据 data;失败行带 errorStageconnect_failed/server_error/auth_error/rate_limited/request_error/parse_error/empty_result)、errorCodeerror。运行中实时进度通过 Apify 状态消息展示,至少采到 1 条即运行成功(SUCCEEDED),全部失败/空结果则运行失败(FAILED)。
  • 注意:部分 Instagram 端点需要 Dataclawd 后端自身已登录 Instagram;若后端登出/被限流,API 会返回 login_required 或 "Please wait a few minutes" 之类的负载,Actor 会将其作为 failed 行写入并保留原始错误信息。
  • 计费:按事件计费(PPE),每条成功采集计一个 item-collected 事件;失败行不计费(发布时需在 Console Monetization 中配置该事件及价格)。
  • 验证数据status=completed 即成功采集(数据在 data 字段);开发时可运行 python3 tools/verify_output.py --run <RUN_ID> 校验。
  • 免责声明:本 Actor 与 Instagram / Meta, Inc. 无任何附属关系。请仅采集你被授权采集的数据,并遵守 Instagram 服务条款、Dataclawd 服务条款与当地法律。