
Instagram Scraper
Pricing
$2.30 / 1,000 results

Instagram Scraper
Scrape and download Instagram posts, profiles, places, hashtags, photos, and comments. Get data from Instagram using one or more Instagram URLs or search queries. Export scraped data, run the scraper via API, schedule and monitor runs or integrate with other tools.
4.4 (54)
Pricing
$2.30 / 1,000 results
1437
Total users
93.5k
Monthly users
10.5k
Runs succeeded
>99%
Issue response
2.8 days
Last modified
a day ago
Please provide typescript types for SDK inputs and outputs
Open
The API is quite good, but there are no types provided. As a result, it's quite easy to not handle all cases. I assume you have types on your end - if possible it would be great to include them in the apify-client npm package.
E.g.
type InstagramScraperInput = { //addParentData: boolean directUrls: string[] // e.g. ["https://www.instagram.com/kishaperitif/"] resultsType: "stories" | "posts" | "comments" | "details" | "mentions" resultsLimit?: number onlyPostsNewerThan?: string // e.g. "2024-05-01" }
type TikTokScraperInput = { profiles: string[] // e.g. [""cost_n_mayor"] resultsPerPage?: number // e.g. 30 oldestPostDate?: string // e.g. "2024-05-01" }
export type InstagramComment = { id: string text: string ownerUsername: string ownerProfilePicUrl: string timestamp: string repliesCount: number replies: InstagramComment[] likesCount: number }
export type InstagramScraperResultItem = { inputUrl: string id: string type: "Sidecar" | "Video" | "Image" shortCode: string caption: string hashtags: string[] mentions: string[] url: string commentsCount: number firstComment: string latestComments: InstagramComment[] dimensionsHeight: number dimensionsWidth: number displayUrl: string images: string[] videoUrl?: string alt: string | null likesCount: number videoViewCount: number videoPlayCount: number timestamp: string childPosts: InstagramScraperResultItem[] ownerFullName: string ownerUs... [trimmed]
Hello, thank you for your feedback. We are currently exploring ways to formalize our output types, as it is something we haven't figured out completely yet. Including such data in apify-client npm package would make the library extremely bloated, so that is sadly not an option. The output format also sometimes changes, and syncing up the library version and output type version would be annoying. We will keep you updated on any future releases with such features :)
jonk-celebrate
I hear you that the output format sometimes changes. Just imagine how horrible it is for your users when that happens and we have no idea... However bad it is for you, it's 100x worse for paying customers who are not primarily focused on this.
motioncreative
Yes, please 🙏

Hello,
We will implement JSON schema for output soon (there is already one for input).