---
title: "Look up a public Threads profile"
method: GET
path: "/api/v1/channels/{channel_id}/threads/profile-lookup"
tags: ["channels"]
---

# Look up a public Threads profile

`GET /api/v1/channels/{channel_id}/threads/profile-lookup`

## Request

- Base URL: `https://api.cadencz.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.cadencz.com/api/v1/channels/{channel_id}/threads/profile-lookup`
- Auth: HTTP bearer

Calls `GET /profile_lookup` using a connected Threads channel's token to read another creator's public profile and their last seven days of public engagement.

Requires the `threads_profile_discovery` permission. Meta only discloses public profiles with at least 100 followers; anything else returns `found: false` rather than an error.

## Path parameters

- `channel_id` string, required

## Query parameters

- `username` string, required: Threads handle to look up, with or without the leading @.

## Response `200`

Successful Response

- ThreadsProfileLookupResponse: A public Threads profile, when Meta has one to give. `found` is false — not an error — for a handle that does not exist, is private, or sits under Meta's 100-follower disclosure floor.
  - `username` string, required
  - `found` boolean, required
  - `profile` object, nullable

## Other responses

- `401`: Missing or invalid Supabase bearer token.
- `404`: The requested resource was not found.
- `422`: Validation Error
- `502`: The upstream provider rejected the request.

---

[API](https://skmtc.dev/cadencz/apis/cadencz-api.md) · [All operations](https://skmtc.dev/cadencz/apis/cadencz-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cadencz/apis/cadencz-api/revisions/3392fe5e93db?raw)
