Instagram API

Instagram Search profiles contact API

Search public Instagram profiles by a bio or caption keyword and get each account's country, the month it joined, and the public email and phone number it lists. Charged per profile that comes back with those details.

POST/v1/run/instagram.search_profiles_contact
Requests
-
30d

Try it

Make your first request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.
{
  "data": {
    "nextCursor": "example",
    "profiles": [
      {
        "avatarUrl": "https://example.com/image.jpg",
        "bio": "A short example description of this item.",
        "country": "US",
        "displayName": "Alex Rivera",
        "email": "alex@example.com",
        "externalUrl": "https://example.com/page",
        "followers": 12500,
        "following": 12500,
        "handle": "alex_rivera",
        "id": "a1b2c3d4",
        "joined": "example",
        "phone": "+1 555-0142",
        "posts": 248,
        "url": "https://example.com/page",
        "verified": true
      }
    ]
  },
  "found": true,
  "reason": "not_found"
}
Response interface
interface InstagramSearchProfilesContactResponse {
  data: {
    nextCursor: string | null;
    profiles: {
      avatarUrl: string;
      bio: string;
      country?: string;
      displayName: string;
      email?: string;
      externalUrl?: string;
      followers: number;
      following: number;
      handle: string;
      id: string;
      joined?: string;
      phone?: string;
      posts: number;
      url?: string;
      verified: boolean;
    }[];
  } | null;
  found: boolean;
  reason?: "not_found";
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

Request, response, and price

Last verified 2026-09-24 · uptime and latency measured over 30d
POST /v1/run/instagram.search_profiles_contact
curl -X POST https://api.getanyapi.com/v1/run/instagram.search_profiles_contact \
  -H "Authorization: Bearer $ANYAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"skincare"}'
FieldTypeExample value
Request body
querystring"skincare"Bio or caption keyword/phrase to search for.
cursorstringPagination cursor returned by a previous response.
limitintegerMost profiles to return on this page, 1 to 12.
Response
dataobject
data.nextCursorstringOpaque cursor for the next page of profiles, or null when there are no more. Pass it back as cursor to continue.
data.profilesobject[]Matching public profiles with the contact details each account publishes. Populated whenever the provider has data for the entity.
data.profiles[].avatarUrlstringProfile picture URL. Populated whenever the provider has data for the entity.
data.profiles[].biostringProfile bio text. Populated whenever the provider has data for the entity.
data.profiles[].countrystringCountry the account is based in, from the account's About panel. Absent when Instagram does not show it. Populated whenever the provider has data for the entity.
data.profiles[].displayNamestringDisplay name on the profile. Populated whenever the provider has data for the entity.
data.profiles[].emailstringPublic contact email the account lists. Absent when the account does not publish one. Populated whenever the provider has data for the entity.
data.profiles[].externalUrlstringExternal link the account lists in its bio.
data.profiles[].followersintegerFollower count, or 0 when Instagram did not report it.
data.profiles[].followingintegerNumber of accounts this profile follows.
data.profiles[].handlestringInstagram username, without the @. Populated whenever the provider has data for the entity.
data.profiles[].idstringInstagram account id. Populated whenever the provider has data for the entity.
data.profiles[].joinedstringMonth and year the account joined Instagram, as shown on its About panel, for example "October 2013". Absent when not shown. Populated whenever the provider has data for the entity.
data.profiles[].phonestringPublic contact phone number the account lists, in international format. Absent when the account does not publish one.
data.profiles[].postsintegerNumber of posts on the profile.
data.profiles[].urlstringCanonical URL of the profile.
data.profiles[].verifiedbooleanWhether the account has a verified badge.
foundbooleanWhether the search returned any profiles.
reason"not_found"Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
Price
Price per request (ceiling)USD$0.09
Price /1k profilesUSD$7.50

FAQ

About the Instagram Search profiles contact API

The AnyAPI Instagram Search profiles contact API returns Instagram search profiles contact data as normalized JSON from one POST call to /v1/run/instagram.search_profiles_contact. Search public Instagram profiles by a bio or caption keyword and get each account's country, the month it joined, and the public email and phone number it lists. Charged per profile that comes back with those details. AnyAPI returns one normalized schema whichever source serves it. It costs $7.50 per 1,000 profiles, and never more than $0.09 for a single request, in US dollars with no subscription and no monthly minimum.

It costs $7.50 per 1,000 profiles, and never more than $0.09 for a single request, in US dollars with no subscription and no monthly minimum. You fund one USD wallet, each call draws it down, and a failed request costs $0.

Search public Instagram profiles by a bio or caption keyword and get each account's country, the month it joined, and the public email and phone number it lists. Charged per profile that comes back with those details. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.