Skip to main content
Sources

Instagram Followers/Following Scraper

post/v1/sources/tasks

Authorizations

Authorizationstringheaderrequired

Use an account access token as Bearer <token>.

Get an access token ↗

Generate followers or following users for one or more Instagram profiles, without input rows or a Datablist collection. Results are flat objects, not per-input enrichment outcomes.

Public ID: instagram-source. Get the current definition. You can read it without authentication.

Settings​

Put one username, numeric user ID, or profile URL per line in profiles.

Set scrapingType to followers (default) or following. To limit the request, set limitPerProfile to a positive integer. Without it, there is no requested limit. The number returned can differ from the number requested.

The task handles Instagram pagination for you. Do not send collection resume settings.

Followers results identify the starting profile through followerSourceProfileId, followerSourceProfileUsername, and followerSourceProfileUrl. Following mode uses the equivalent followingSource… fields.

resumeScrapestring

Resume a followers/following scrape started in this workspace within the last 7 days. When you resume a scrape, the selected profile and scrape type are reused automatically. ⚠️ A Datablist collection can contain up to 100k scraped profiles. To scrape more, resume this scrape in a different collection.

profilesstring

Instagram Profiles to scrape. Use one profile per line. Use profile username, profile user id, or profile Instagram URL. Examples: https://www.instagram.com/tiboinshape/ k.mbappe 4213518589

Enabled when: resumeScrape==false.

scrapingTypestring

Choose whether to scrape Instagram followers or following users. Defaults to followers.

Enabled when: resumeScrape==false.

Allowed values: "followers", "following"
limitPerProfilenumber

Define the max number of followers/following to scrape for each profile. Default to no limit. 📘 Startup estimate: 1.25 credits for 1 source profile(s). Actual charges depend on returned results.

Additional properties are supported.

Outputs​

Each result is a JSON object with the fields below. Fields depend on your settings and the data found; extra fields can appear before the catalog lists them.

instagramUserIdstring

Instagram internal id

instagramUsernamestring

Instagram username

instagramProfileUrlstring

Instagram profile URL

format: "uri"
instagramFullNamestring

The full name of the user

instagramPicturestring

Instagram user profile picture.

format: "uri"
instagramPrivateboolean

Is the Instagram profile private.

instagramVerifiedboolean

Is the Instagram profile verified.

followerSourceProfileIdstring

Is a follower of XX

Enabled when: scrapingType==followers,false.

followerSourceProfileUsernamestring

Is a follower of XX

Enabled when: scrapingType==followers,false.

followerSourceProfileUrlstring

Is a follower of XX

Enabled when: scrapingType==followers,false.

format: "uri"
followingSourceProfileIdstring

Is followed by

Enabled when: scrapingType==following.

followingSourceProfileUsernamestring

Is followed by

Enabled when: scrapingType==following.

followingSourceProfileUrlstring

Is followed by

Enabled when: scrapingType==following.

format: "uri"

Additional properties are supported.

Credits and limits​

Cost: 0.01 credits per follower/following

Profile resolution and returned objects can consume credits, including work that generates no objects. Use credits.used on the task for actual usage. A requested result limit is not a price cap; maxCredits is a best-effort budget.

Tasks can run for up to 24 hours; completed, failed, or stopped tasks are kept for 90 days. Enrichment and source tasks share your account balance and task limits. Set maxCredits to stop starting new work after a credit threshold; work already underway can still exceed it. See limits and errors.

Accepted task and results​

The API returns 202 Accepted with a task ID. Save it, then check links.self every few seconds. Once status is completed, failed, or stopped, read links.results. Failed and stopped tasks can still have useful results. See the task reference.

Example results (sample data and credit amounts):

json
{
"taskId": "00000000000040008000000000000001",
"results": [
{
"instagramUsername": "example_user",
"instagramProfileUrl": "https://www.instagram.com/example_user/",
"instagramFullName": "Example User",
"instagramPrivate": false,
"instagramVerified": false
}
],
"nextCursor": null
}

If nextCursor is not null, pass it unchanged in the next request to get more results. Pages default to 50 results; limit accepts 1–100. A page is at most 128 KiB, so it may contain fewer results than requested.