Creators
Reminder: All queries on this page require the
WORKSPACE-IDheader. See Getting Started for setup.
A Creator represents a person — an influencer or content creator your brand is working with. Each creator has a profile in your workspace CRM with custom attributes (name, email, location, labels, etc.) and can have multiple social accounts linked to them across platforms.
Via the API, you can query creators by name, email, location, label, or any other attribute. This is the same data you see in the Creators page in the Archive UI.
Important: The API only returns creators already in your workspace CRM. It does not provide access to the Creator Search database (the global discovery tool).
Creators vs. Social Profiles
Learn more: Difference Between Creators and Social Profiles
To look up a specific social account by handle, see the Social Profiles page.
All Creator fields
| Field | Type | Description |
|---|---|---|
id | ID | Unique creator identifier |
customAttributes | JSON | All CRM attributes: full_name, location, emails, phone_numbers, labels, gender, age, collaboration_status (Relationship Status), favourite, notes, category. Note: phone_numbers here is manually entered in Archive — it may differ from phoneNumbers on the creator’s Social Profile, which is pulled from the platform. |
socialProfiles | Array | All social profiles linked to this creator — see Social Profiles for the full list of profile fields |
SELECT fields like
gender,age, andlabelsreturn UUIDs, not readable names. UsecustomAttributeSchemas(entity: CREATOR)to map UUIDs to labels. See Custom Attributes.
Creator queries
List creators in your workspace
The
firstparameter defaults to 20 if not specified. To get more results, setfirstup to a maximum of 100, or use pagination to fetch additional pages.
query ListCreators {
creators(first: 20) {
nodes {
id
customAttributes
socialProfiles {
accountName
provider
followers
verified
}
}
pageInfo { hasNextPage endCursor }
totalCount
}
}Example response:
{
"data": {
"creators": {
"totalCount": 1284,
"pageInfo": { "hasNextPage": true, "endCursor": "eyJpZCI6Ii4uLiJ9" },
"nodes": [
{
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"customAttributes": {
"full_name": "Laura Méndez",
"location": "Miami, United States",
"age": "82b05d3f-c262-40e7-bdcb-6544496f978d",
"gender": "17a79434-ed12-46d7-9aea-33806bfa1725",
"emails": ["contact@lauramendez.com"],
"phone_numbers": ["+1 305 555 0100"],
"labels": [],
"collaboration_status": "840bfa06-e02d-4083-af43-c3b9777fffcc",
"favourite": false,
"notes": "Top performer Q1 2026",
"category": []
},
"socialProfiles": [
{ "accountName": "lauramendez", "provider": "INSTAGRAM", "followers": 312000, "verified": false },
{ "accountName": "lauramendez.style", "provider": "TIKTOK", "followers": 890000, "verified": false }
]
},
"... 19 more creators"
]
}
}
}Note:
SELECTfields likeageandgenderreturn internal option IDs (UUIDs), not readable labels. See Custom Attributes to learn how to map them.
Using with AI:
“Show me all creators in my workspace with their social profiles and follower counts” “How many creators do I have in total?”
Search creator by name
query CreatorByName {
creators(
first: 5
customAttributeConditions: [
{ field: "full_name", operator: CONTAINS, type: TEXT, value: "Laura" }
]
) {
totalCount
nodes {
id
customAttributes
socialProfiles { accountName provider followers }
}
}
}Example response:
{
"data": {
"creators": {
"totalCount": 2,
"nodes": [
{
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"customAttributes": {
"full_name": "Laura Méndez",
"location": "Miami, United States"
},
"socialProfiles": [
{ "accountName": "lauramendez", "provider": "INSTAGRAM", "followers": 312000 }
]
}
]
}
}
}Using with AI:
“Find the creator named Laura” “Search for a creator whose name contains Méndez”
Search creator by email
query CreatorByEmail {
creators(
first: 5
customAttributeConditions: [
{ field: "emails", operator: CONTAINS, type: TEXT, value: "lauramendez" }
]
) {
totalCount
nodes {
id
customAttributes
socialProfiles { accountName provider }
}
}
}Example response:
{
"data": {
"creators": {
"totalCount": 1,
"nodes": [
{
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"customAttributes": {
"full_name": "Laura Méndez",
"emails": ["contact@lauramendez.com"]
},
"socialProfiles": [
{ "accountName": "lauramendez", "provider": "INSTAGRAM" }
]
}
]
}
}
}Note: Even though
emailsis aTEXT_LISTfield in the schema, usetype: TEXTwithoperator: CONTAINSto search within the list.
Using with AI:
“Find the creator with email contact@lauramendez.com” “Search for a creator by email”
Search creator by location
query CreatorsByLocation {
creators(
first: 20
customAttributeConditions: [
{ field: "location", operator: CONTAINS, type: TEXT, value: "United States" }
]
) {
totalCount
nodes {
id
customAttributes
socialProfiles { accountName provider followers }
}
}
}Example response:
{
"data": {
"creators": {
"totalCount": 347,
"nodes": [
{
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"customAttributes": {
"full_name": "Laura Méndez",
"location": "Miami, United States"
},
"socialProfiles": [
{ "accountName": "lauramendez", "provider": "INSTAGRAM", "followers": 312000 }
]
},
"... 19 more creators"
]
}
}
}Using with AI:
“Find all creators located in the United States” “Show me creators based in New York” “List all creators in the UK”
Search creator by label
Labels are custom tags you can apply to creators in the Archive UI. To filter by label, you need the label’s UUID — get it first from customAttributeSchemas:
query GetLabelSchemas {
customAttributeSchemas(entity: CREATOR) {
key
name
type
options { id name }
}
}Find the entry with key: "labels" and copy the id of the label you want to filter by. Then:
query CreatorsByLabel {
creators(
first: 20
customAttributeConditions: [
{ field: "labels", operator: CONTAINS, type: MULTIPLE_SELECT, value: "<label-uuid>" }
]
) {
totalCount
nodes {
id
customAttributes
socialProfiles { accountName provider followers }
}
}
}Example response:
{
"data": {
"creators": {
"totalCount": 42,
"nodes": [
{
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"customAttributes": {
"full_name": "Laura Méndez",
"labels": ["8f1a2b3c-d4e5-6789-abcd-ef0123456789"]
},
"socialProfiles": [
{ "accountName": "lauramendez", "provider": "INSTAGRAM", "followers": 312000 }
]
},
"... 19 more creators"
]
}
}
}Labels are stored as UUIDs in
customAttributes.labels. Always runcustomAttributeSchemasfirst to map UUIDs to readable names. Label options are workspace-specific — the UUIDs will differ between workspaces.
Using with AI:
“Find all creators with the label ‘VIP’” “Show me creators tagged as ‘Gifted’” “List all creators that have any label assigned”
Get a single creator
query GetCreator {
creator(id: "f1a2b3c4-d5e6-7890-abcd-ef1234567890") {
id
customAttributes
socialProfiles {
accountName
provider
followers
verified
}
}
}Example response:
{
"data": {
"creator": {
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"customAttributes": {
"full_name": "Laura Méndez",
"location": "Miami, United States",
"emails": ["contact@lauramendez.com"],
"phone_numbers": []
},
"socialProfiles": [
{ "accountName": "lauramendez", "provider": "INSTAGRAM", "followers": 312000, "verified": false },
{ "accountName": "lauramendez.style", "provider": "TIKTOK", "followers": 890000, "verified": false }
]
}
}
}Using with AI:
“Get me the full profile for creator Laura Méndez” “Show me all social profiles linked to this creator”
Creator Views
Creator Views are the saved filters under Creators → Views in the Archive sidebar — a reusable slice of your creator CRM (e.g. “Contracted Talent”, “Female creators”). The API can list, create, edit, and delete them, and read the creators inside one via presetId.
Creator Views narrow by
customAttributeConditions, notfilters. This is the one way Creator Views differ from Content Views and Social Profile Views: a Creator View’sfiltersblob is stored and echoed back, but not applied when you read the view.creators(presetId:)narrows only by the view’scustomAttributeConditionsandsort. To build a view that actually filters, put your conditions incustomAttributeConditions(same shape as Search creator by label) and leavefiltersas{}.
List Creator Views
query ListCreatorViews {
creatorViews {
id
name
customAttributeConditions
sort
showReportingStats
group { id name }
}
}Example response:
{
"data": {
"creatorViews": [
{
"id": "c1d2e3f4-a5b6-7890-cdef-234567890123",
"name": "Contracted Talent",
"customAttributeConditions": [
{ "field": "collaboration_status", "operator": "is", "type": "single_select_v3", "value": "72850838-be63-42dd-b720-943dccc2d968" }
],
"sort": [],
"showReportingStats": true,
"group": null
}
]
}
}Using with AI:
“List my Creator Views”
Read creators from a view
Pass a view’s id as presetId to the creators query. The view’s customAttributeConditions are applied automatically — you don’t re-send them:
query CreatorsFromView {
creators(presetId: "c1d2e3f4-a5b6-7890-cdef-234567890123", first: 20) {
totalCount
nodes {
id
customAttributes
socialProfiles { accountName provider followers }
}
}
}As with every
presetId, addingcustomAttributeConditionsorfilteralongside it does not narrow further — onlysortingcomposes with a preset. (Anything set on the view viafiltersis ignored entirely — see the note above.)
Using with AI:
“Show me the creators in my ‘Contracted Talent’ view”
Create a Creator View
createCreatorView saves a new view. name and filters are both required by the schema, but since filters is not applied on read, pass filters: {} and put your real narrowing in customAttributeConditions:
mutation CreateCreatorView {
createCreatorView(input: {
name: "Contracted Talent"
filters: {}
customAttributeConditions: [
{ field: "collaboration_status", operator: IS, type: SINGLE_SELECT_V3, value: "<option-uuid>" }
]
}) {
creatorView { id name customAttributeConditions }
userErrors { field message }
}
}Get option UUIDs from customAttributeSchemas(entity: CREATOR) — see Search creator by label. The view appears in the Archive UI sidebar immediately, and its id works as presetId right away.
Using with AI:
“Save a Creator View for creators whose relationship status is Contracted”
Update a Creator View
updateCreatorView takes the view id as a top-level argument (not inside input). Partial updates are supported — omitted fields keep their current values, so renaming a view doesn’t require re-sending its conditions:
mutation RenameCreatorView {
updateCreatorView(
id: "c1d2e3f4-a5b6-7890-cdef-234567890123"
input: { name: "Contracted Talent (2026)" }
) {
creatorView { id name }
userErrors { field message }
}
}Using with AI:
“Rename my ‘Contracted Talent’ Creator View to ‘Contracted 2026‘“
Delete a Creator View
mutation DeleteCreatorView {
deleteCreatorView(id: "c1d2e3f4-a5b6-7890-cdef-234567890123") {
deletedCreatorViewId
userErrors { field message }
}
}Deleting a view never touches the creators themselves — it only removes the saved filter. deletedCreatorViewId echoes the id on success; deleting an already-deleted id returns null there (a safe no-op).
Using with AI:
“Delete my ‘Old Outreach’ Creator View”
To look up platform data (followers, verified status, etc.) for a specific social account, use the Social Profiles page.