Social Profile Intelligence API avatar

Social Profile Intelligence API

Pricing

Pay per event

Go to Apify Store
Social Profile Intelligence API

Social Profile Intelligence API

Extract normalized public profile data from Instagram, TikTok, X, LinkedIn, Facebook, and YouTube. Get names, bios, audience metrics, profile images, public contact links, and recent posts for lead enrichment, research, monitoring, and AI workflows.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Michael

Michael

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Collect normalized public profile metadata from Instagram, TikTok, X, LinkedIn, Facebook, and YouTube.

The Actor accepts one or more public profile URLs and returns one predictable JSON record for every submitted URL. It is designed for API integrations, lead-enrichment workflows, monitoring, and AI agents.

This is an unofficial tool and is not affiliated with, endorsed by, or sponsored by Instagram, Meta, TikTok, X, LinkedIn, Google, or YouTube.

Features

  • Supports multiple social platforms
  • Processes up to 100 profile URLs per run
  • Normalizes platform-specific data into one output format
  • Extracts follower, following, and post counts when publicly available
  • Returns public profile images and external links when available
  • Attempts to collect recent public posts
  • Returns structured partial and failed results
  • Supports Apify residential and custom proxies
  • Produces JSON, JSONL, CSV, Excel, XML, and HTML exports

Supported platforms

  • Instagram
  • TikTok
  • X/Twitter
  • LinkedIn
  • Facebook
  • YouTube
  • Other public profile pages with compatible metadata

Support is best-effort because platforms frequently change their public pages and access restrictions.

Input

profileUrls

Required array of public profile URLs.

{
"profileUrls": [
"https://www.instagram.com/natgeo/",
"https://www.youtube.com/@NationalGeographic"
]
}

Maximum: 100 unique URLs per run.

includeRecentPosts

Attempt to collect recent publicly visible posts.

Default: true

Recent posts may be unavailable when a platform requires authentication or does not include post links in its public page markup.

maxPostsPerProfile

Maximum recent posts returned for each profile.

Default: 5
Minimum: 0
Maximum: 20

Extract publicly displayed external websites, email links, and contact links.

Default: true

The Actor does not infer, purchase, or obtain private contact information.

failOnError

Control batch error handling.

  • false: return a structured failure record and continue processing.
  • true: stop when a profile cannot be processed.

Default: false

proxyConfiguration

Proxy settings used to access public pages.

For protected platforms such as Instagram, residential proxies are strongly recommended:

{
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}

Residential proxy traffic is billed separately according to your Apify plan.

Complete input example

{
"profileUrls": [
"https://www.instagram.com/natgeo/"
],
"includeRecentPosts": true,
"maxPostsPerProfile": 5,
"includeContactLinks": true,
"failOnError": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": [
"RESIDENTIAL"
]
}
}

Output

Every submitted URL produces exactly one dataset item.

Important fields include:

FieldDescription
inputIndexPosition of the URL in the input array
requestUrlOriginal submitted URL
canonicalUrlNormalized or redirected profile URL
platformDetected social platform
statussuccess, partial, or failed
profileTypeBest-effort profile classification
handlePublic username without @
displayNamePublic profile name
bioPublic biography or description
avatarUrlPublic profile-image URL
isVerifiedVerification state when available
followersCountPublic follower or subscriber count
followingCountPublic following count
postsCountPublic post or upload count
websiteUrlPrimary public external website
contactLinksPublicly displayed external links
recentPostsBest-effort recent public posts
errorExplanation for partial or failed results
collectedAtUTC collection time

Example result

{
"inputIndex": 0,
"requestUrl": "https://www.instagram.com/natgeo/",
"canonicalUrl": "https://www.instagram.com/natgeo/",
"platform": "instagram",
"status": "success",
"profileType": "unknown",
"handle": "natgeo",
"displayName": "National Geographic",
"bio": "269M Followers, 195 Following, 32K Posts",
"avatarUrl": "https://example-cdn.com/avatar.jpg",
"category": null,
"isVerified": null,
"followersCount": 269000000,
"followingCount": 195,
"postsCount": 32000,
"websiteUrl": null,
"contactLinks": [],
"recentPosts": [],
"error": null,
"collectedAt": "2026-07-26T17:30:52.156Z"
}

Status values

success

The profile loaded and useful public metadata was collected.

partial

The profile returned limited metadata, a login page, or an access challenge. Fields that could still be collected are included.

failed

The profile could not be loaded. The error field explains why.

When failOnError is disabled, a failed profile does not prevent other URLs in the batch from being processed.

Run through the API

Set your personal Apify API token:

$export APIFY_TOKEN="YOUR_APIFY_TOKEN"

Call the Actor synchronously:

curl --fail-with-body \
--request POST \
"https://api.apify.com/v2/actors/refreshing_pail~social-profile-intelligence/run-sync-get-dataset-items?clean=true" \
--header "Authorization: Bearer ${APIFY_TOKEN}" \
--header "Content-Type: application/json" \
--data '{
"profileUrls": [
"https://www.instagram.com/natgeo/"
],
"includeRecentPosts": true,
"maxPostsPerProfile": 5,
"includeContactLinks": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}' | jq .

For large batches or runs lasting longer than five minutes, use the asynchronous Actor run endpoint instead.

Data availability

The Actor only collects information made publicly available by the target platform.

Some fields may be null or empty because:

  • The platform does not expose the field publicly.
  • Authentication is required.
  • The profile is private, restricted, deleted, or unavailable.
  • The platform returned an access challenge.
  • Public page markup changed.
  • Recent posts were not present in the anonymous page response.

An empty value does not necessarily mean the underlying profile has no value for that field.

Proxy considerations

Social platforms commonly block cloud and datacenter IP addresses. Residential proxies generally provide better reliability but incur traffic costs.

The Actor blocks unnecessary media and font requests where possible to reduce bandwidth. Proxy success is not guaranteed because target platforms continuously change their anti-automation systems.

Responsible use

Use this Actor only for lawful purposes and public information.

You are responsible for:

  • Following applicable privacy and data-protection laws
  • Respecting website terms and access restrictions
  • Avoiding excessive request rates
  • Securing exported data
  • Obtaining any consent required for your use case
  • Avoiding spam, harassment, surveillance, or discriminatory profiling

Do not use this Actor to access private accounts, bypass authentication, or collect sensitive personal information.

Support

If a supported platform stops returning expected fields:

  1. Confirm that the profile is publicly accessible.
  2. Retry with residential proxies.
  3. Review the result’s status and error fields.
  4. Open an issue from the Actor’s Apify Store page with a reproducible public URL.

Do not include API tokens, credentials, or private personal information in support requests.