Contacts
List contacts
List complete Instagram contact records for one account, or find the exact match for an Instagram username, with cursor pagination.
GET
List contacts
This endpoint returns complete contact records for one Instagram account. Use
it to build a contact index, synchronize contact data, or find a contact by an
exact Instagram username.
The filter performs an exact lookup, not a search by prefix or substring.
Access
Your API key needs thecontacts:read_pii scope. The account_id query
parameter must identify an Instagram account that the key can access.
The standard contact endpoints already include personally identifiable
information (PII). There are no separate PII variants in API v1. Contact reads
are audited, and the API fails without returning contact data if it cannot
record the required audit entry.
Returned data
Each item contains these field groups:tags contains up to 100 assigned tags with a stable UUID and normalized name.
attributes contains up to 1,000 captured values with id, key, value,
source, source_ref, created_at, and updated_at.
The source enum explains how an attribute was recorded:
capture: an automation capture rule recorded the value.lead_capture: the contact provided the value in a lead-capture step.manual: someone set the value manually.
account_type enum can be PERSONAL, BUSINESS, CREATOR, or UNKNOWN.
It can also be null when Instagram has not returned an account type.
The enrichment_status enum describes the profile data:
pending: profile enrichment has not finished.fresh: the enrichment data is current.stale: the enrichment data needs to be refreshed.failed: the most recent enrichment attempt failed.
null. This includes PII fields
such as email and phone.
The list projection does not include activity timelines. Use
Get a contact when you also need timeline.
Instagram action URLs
levios derives two read-only URLs from the canonicalusername:
instagram_profile_url, for examplehttps://instagram.com/levios_demo_accountsend_instagram_dm_url, for examplehttps://ig.me/m/levios_demo_account
null when the contact has no valid Instagram username. You
can pass these URLs to a browser-capable client to open the profile or start a
direct message.
Find an exact Instagram username
Set the optionalinstagram_username query parameter to an exact username.
Matching is case-insensitive, and one leading @ is accepted. Whitespace,
partial matches, and malformed Instagram usernames are rejected.
Pagination
Setlimit to a value from 1 through 50. When next_cursor is not null, send
it unchanged as cursor with the same account_id and
instagram_username filter. Treat the cursor as opaque and stop when
next_cursor is null.
Do not reuse a cursor with another account or username filter.
Because this response includes personal data, avoid writing full payloads to
logs, analytics events, or error reports.
