Instagram · Guide

How to run a Instagram profile search

TL;DR
To run a Instagram profile search, sign up for a free Captapi key, then send one GET request to /v1/instagram/profile-search with your input. You get clean JSON back in seconds for 1 credit per call — no OAuth, scraping or platform SDKs. Resolve a brand or @handle to one public Instagram profile — stable id, bio, links, and stats (not niche discovery).

How to run a Instagram profile search (step by step)

  1. 1

    Get a free API key

    Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.

  2. 2

    Call the Instagram Profile Search API

    Send an authenticated GET request to /v1/instagram/profile-search with your input. No OAuth, no scraping setup.

  3. 3

    Read the JSON response

    Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.

Code example

curl "https://api.captapi.com/v1/instagram/profile-search?q=nike" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

What the response looks like

{
  "success": true,
  "data": {
    "query": "nike",
    "totalReturned": 1,
    "users": [
      {
        "id": "13460080",
        "username": "nike",
        "displayName": "Nike",
        "url": "https://www.instagram.com/nike/",
        "bio": "Just Do It.",
        "followers": 291623659,
        "following": 264,
        "postCount": 1668,
        "verified": true,
        "isPrivate": false,
        "isBusinessAccount": true,
        "isProfessionalAccount": true,
        "externalUrl": "http://empli.fi/nike",
        "bioLinks": [
          {
            "url": "http://empli.fi/nike",
            "linkType": "external"
          }
        ],
        "profileImage": "https://instagram.fadb3-1.fna.fbcdn.net/v/t51.82787-19/551608484_18567162979020081_1135468084872726555_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4zOTkuYzIifQ&_nc_ht=instagram.fadb3-1.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2gE3fm8U-4zquMXb-DCa2XFEqsm-rZ_BWOXzqz5HNEFIKiHcxSpjEdlCVP0v32ZLy3tMLEVo2JvIx8SA4xy09gYm&_nc_ohc=jOWQehR8N0kQ7kNvwHCN0UL&_nc_gid=Ov3EEVEX3-M4dSFajR8eTQ&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQE94ajaP7La8AcjJgA2RbClgYMx9xGFF0qoyUObgazGWg&oe=6A764BBA&_nc_sid=8b3546",
        "profileImageHd": "https://instagram.fadb3-1.fna.fbcdn.net/v/t51.82787-19/551608484_18567162979020081_1135468084872726555_n.jpg?stp=dst-jpg_s320x320_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4zOTkuYzIifQ&_nc_ht=instagram.fadb3-1.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2gE3fm8U-4zquMXb-DCa2XFEqsm-rZ_BWOXzqz5HNEFIKiHcxSpjEdlCVP0v32ZLy3tMLEVo2JvIx8SA4xy09gYm&_nc_ohc=jOWQehR8N0kQ7kNvwHCN0UL&_nc_gid=Ov3EEVEX3-M4dSFajR8eTQ&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AQE94ajaP7La8AcjJgA2RbClgYMx9xGFF0qoyUObgazGWg&oe=6A764BBA&_nc_sid=8b3546",
        "platform": "instagram",
        "imageExpiresAt": "2026-08-07T21:18:50Z"
      }
    ],
    "mode": "resolve"
  }
}

Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.

Request parameters

NameTypeRequiredDescription
qstring YesAccount name, @handle, or profile URL to resolve (min 2 characters). Not a niche keyword search.
cachebooleanNoServe from the 24h shared cache when available (0 credits on hit). Default true — set false to always fetch fresh.

Frequently asked questions

What does the Instagram Profile Search API do?

The Instagram Profile Search API lets you search and return matching results from a public Instagram query using one GET request to /v1/instagram/profile-search. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the Instagram Profile Search API cost?

Each successful call costs 1 credit. Cache is on by default (0 credits on hit); pass cache=false to always fetch fresh. Failed or empty results are never charged.

Do I need a Instagram API key or OAuth?

No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.

What happens when the handle does not exist?

200 with users=[] and totalReturned 0, at 0 credits. This is a resolver, not a search — a miss is the same event as /tiktok/comments on a video that is not there. No synthesised row.

Is cache on by default?

Yes. Cache is on by default (0 credits on hit). Pass cache=false to always fetch fresh. There is no "default is always fresh" on this endpoint.

Why are missing fields omitted instead of null?

Resolver/search rows omit keys the account does not have (bio, externalUrl, businessAddress, …). Identity cards such as youtube/channel-details keep a stable key set and use null (banner: null means no banner — never a substituted avatar). Two classes, one convention each.

Is the Instagram Profile Search API suitable for production use?

Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.

Ready to run a Instagram profile search?

Start free with 100 credits — no credit card required.

Get your free API key