Skip to main content
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.

Access

Your API key needs the contacts: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.
The 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.
Nullable fields that are not available return 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 canonical username:
  • instagram_profile_url, for example https://instagram.com/levios_demo_account
  • send_instagram_dm_url, for example https://ig.me/m/levios_demo_account
Both fields are 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 optional instagram_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.
The filter performs an exact lookup, not a search by prefix or substring.

Pagination

Set limit 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.

Authorizations

Authorization
string
header
required

Levios API key sent as a Bearer token.

Query Parameters

account_id
string<uuid>
required
cursor
string
Required string length: 1 - 1024
limit
string

Response

Successful response.