All endpoints
Instagram User Profile

Instagram User Profile API

Get the full profile for a single Instagram user by username or profile URL. Returns biography, follower / following counts, media count, category, external link, contact info, verification status, and "About this account" info (country the account is based in, join date, verification date, former usernames).

Price: $0.006 per request
Free tier: 50 requests/month
Endpoint
GET /v1/instagram/user

Parameters

username
Instagram username, with or without leading @ (max 100 characters). Provide either username or url.
url
Instagram profile URL, e.g. https://instagram.com/natgeo (max 500 characters). Provide either username or url.

Response fields

user
Profile data object
username
Instagram username
full_name
Display name
user_id
Instagram user ID
biography
Profile biography text
follower_count
Number of followers
following_count
Number of accounts followed
media_count
Total number of posts
is_verified
Whether the user is verified (blue checkmark)
is_private
Whether the account is private
is_business
Whether the account is a business profile
category
Business / creator category, or empty string
external_url
External link displayed on the profile
bio_links
Additional bio link objects (url, title)
profile_pic_url
URL to standard-resolution profile picture
profile_pic_url_hd
URL to high-resolution profile picture
public_email
Public contact email, or empty string
public_phone_number
Public contact phone number, or empty string
account_based_in
Country the account is based in, or empty string
date_joined
Month and year the account joined Instagram (e.g. November 2010), or empty string
date_joined_timestamp
Unix timestamp of the join date, or null
date_verified
Month and year the account was verified, or empty string
date_verified_timestamp
Unix timestamp of the verification date, or null
former_usernames
Number of former usernames the account has used, or null
url
Link to the profile

Example Request

curl "https://apidirect.io/v1/instagram/user?username=natgeo" \
  -H "X-API-Key: YOUR_API_KEY"

Example Response

{
  "user": {
    "username": "natgeo",
    "full_name": "National Geographic",
    "user_id": "787132",
    "biography": "Step into wonder and find your inner explorer with National Geographic 🌎",
    "follower_count": 274777448,
    "following_count": 194,
    "media_count": 31593,
    "is_verified": true,
    "is_private": false,
    "is_business": true,
    "category": "",
    "external_url": "http://visitstore.bio/natgeo",
    "bio_links": [
      {
        "url": "http://visitstore.bio/natgeo",
        "title": ""
      }
    ],
    "profile_pic_url": "https://scontent.cdninstagram.com/.../photo.jpg",
    "profile_pic_url_hd": "https://scontent.cdninstagram.com/.../photo_hd.jpg",
    "public_email": "",
    "public_phone_number": "",
    "account_based_in": "United States",
    "date_joined": "November 2010",
    "date_joined_timestamp": 1288569600,
    "date_verified": "",
    "date_verified_timestamp": null,
    "former_usernames": 0,
    "url": "https://instagram.com/natgeo"
  }
}

Frequently asked questions

Can I look up a user by URL?

Yes. Provide either username (e.g. natgeo) or url (e.g. https://instagram.com/natgeo). Pass exactly one of the two.

Does this work for private accounts?

Yes. Private accounts return basic profile data (username, full name, bio, follower / following counts, verification status). Their posts and follower lists are not accessible.

What happens if the username doesn't exist?

The endpoint returns 404 with code: "not_found". You are not charged for not_found responses.

Why is category sometimes empty?

category is only set on business and creator accounts. Personal accounts return an empty string.

What is account_based_in?

This is the country where Instagram shows the account as being based, from the account's public "About this account" info. Instagram doesn't expose this info for every account, so account_based_in, date_joined, and date_verified can be empty strings and the timestamp / former_usernames fields null.

How does pricing work?

You only pay for successful requests. The Instagram User Profile API costs $0.006 per request. There are no monthly fees or commitments. You get 50 free requests per endpoint every month.

Do I need a credit card to start?

No. You can sign up and use the free tier (50 requests/endpoint/month) without adding a payment method. You only need to add a card when you want to exceed the free tier.

Are there rate limits?

Yes, there's a concurrency limit of 5 simultaneous requests per endpoint per user. If you need more, just get in touch.

Start using the Instagram User Profile API

Get your API key and start making requests in minutes. 50 requests/month free every month.

Get API Key