Archive Partners API

The Archive Partners API gives you programmatic access to enriched community data collected and maintained by Archive.

A "community" in Archive is the set of social profiles that interact with your brand across platforms (for example Instagram, TikTok, and YouTube). For each profile and piece of content, Archive aggregates and enriches data such as:

  • Social profile details (handles, names, followers)
  • Posts, Reels, Stories, Shorts and other media content
  • Engagement metrics (views, plays, likes, comments, shares, EMV)
  • Custom attributes and CRM-style metadata

GraphQL

The Archive API is built on the GraphQL query language (graphql.org).

  • All requests are sent as POST requests to the GraphQL endpoint: https://app.archive.com/api/v2
  • You control which data is returned by selecting fields on the Query type.
  • Pagination follows the standard Relay-style cursor pattern.
Contact

API Support

[email protected]

API Endpoints
POST: https://app.archive.com/api/v2
Headers
# Contact [email protected] to obtain credentials or manage tokens.
Authorization: Bearer <YOUR_TOKEN_HERE>
# Required for workspace-scoped queries.
WORKSPACE-ID: 7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63

Authentication

All requests to the Archive Partners API must be authenticated.

Access token

Obtain an API access token from the Archive team or your account representative. Include the token as a bearer token in the Authorization header on every request:

Authorization: Bearer arch_live_9f8b3c7a12d94e0f9e2c4b1d0a3f5c87

Workspace-scoped requests

Most data in Archive is scoped to a specific workspace (for example a single brand or region).

For workspace-scoped queries (such as workspace, items, and transcriptions), you must also provide a WORKSPACE-ID header with the UUID of the workspace you want to query:

WORKSPACE-ID: 7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63

You can obtain workspace IDs from the Archive UI or from the workspaces query, which returns all workspaces the current token can access.

Note: Some queries (for example listing all accessible workspaces) do not require the WORKSPACE-ID header and only rely on the access token.

Queries

creator

Description

Return details for the creator.

Response

Returns a Creator!

Arguments
Name Description
id - ID! Unique identifier for the creator in Archive's system.

Example

Query
query creator($id: ID!) {
  creator(id: $id) {
    customAttributes
    id
  }
}
Variables
{
  "id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
}
Response
{"data": {"creator": {"customAttributes": {}, "id": "98234"}}}

creators

Description

List and paginate creators for the current workspace, ordered newest first.

Response

Returns a CreatorConnection!

Arguments
Name Description
first - Int Number of creators to return (page size). Default = 20
after - String Cursor for fetching the next page of results. Default = null
customAttributeConditions - [CustomAttributeConditionInput!] Creator custom attributes conditions. Default = []

Example

Query
query creators(
  $first: Int,
  $after: String,
  $customAttributeConditions: [CustomAttributeConditionInput!]
) {
  creators(
    first: $first,
    after: $after,
    customAttributeConditions: $customAttributeConditions
  ) {
    edges {
      cursor
      node {
        customAttributes
        id
      }
    }
    nodes {
      customAttributes
      id
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
    totalCount
  }
}
Variables
{"first": 20, "after": null, "customAttributeConditions": [""]}
Response
{
  "data": {
    "creators": {
      "edges": [CreatorEdge],
      "nodes": [Creator],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

customAttributeSchemas

Description

Retrieve custom attribute schemas to interpret customAttributes values.

Response

Returns [CustomAttributeSchema!]!

Arguments
Name Description
entity - CustomAttributeSchemaEntity! Entity type to get schemas for (ITEM or CREATOR).

Example

Query
query customAttributeSchemas($entity: CustomAttributeSchemaEntity!) {
  customAttributeSchemas(entity: $entity) {
    key
    name
    options {
      id
      name
    }
    type
  }
}
Variables
{"entity": "ITEM"}
Response
{
  "data": {
    "customAttributeSchemas": [
      {
        "key": "xyz789",
        "name": "xyz789",
        "options": [CustomAttributeOption],
        "type": "EMAIL"
      }
    ]
  }
}

engagementHistory

Description

Paginated history of engagement metric snapshots for a specific item, ordered newest first.

Response

Returns an EngagementHistoryConnection!

Arguments
Name Description
itemId - ID! The ID of the item to fetch engagement history for.
first - Int Number of entries to return (page size). Default = 20
after - String Cursor for fetching the next page of results. Default = null
filter - EngagementHistoryFilterInput Filter criteria for engagement history entries. Default = null

Example

Query
query engagementHistory(
  $itemId: ID!,
  $first: Int,
  $after: String,
  $filter: EngagementHistoryFilterInput
) {
  engagementHistory(
    itemId: $itemId,
    first: $first,
    after: $after,
    filter: $filter
  ) {
    edges {
      cursor
      node {
        at
        comments
        earnedMediaValue
        followers
        impressions
        likes
        linearViralityScore
        shares
        views
      }
    }
    nodes {
      at
      comments
      earnedMediaValue
      followers
      impressions
      likes
      linearViralityScore
      shares
      views
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
    totalCount
  }
}
Variables
{
  "itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "first": 20,
  "after": null,
  "filter": null
}
Response
{
  "data": {
    "engagementHistory": {
      "edges": [EngagementHistoryEntryEdge],
      "nodes": [EngagementHistoryEntry],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

filterPresets

Description

List saved filter presets for items queries in the current workspace.

Response

Returns [FilterPreset!]!

Example

Query
query filterPresets {
  filterPresets {
    accessor
    id
    name
  }
}
Response
{
  "data": {
    "filterPresets": [
      {
        "accessor": "MEDIA_DECK",
        "id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
        "name": "abc123"
      }
    ]
  }
}

items

Description

Search and paginate archived items (social content) for the current workspace.

Response

Returns an ItemConnection!

Arguments
Name Description
first - Int Number of items to return (page size). Default = 20
after - String Cursor for fetching the next page of results.
presetId - ID Filter preset ID. When provided, sorting, filter, and custom_attribute_conditions are ignored.
sorting - [ItemSortingInput!] Sorting instructions to apply to the result set. Default = [{sortKey: TAKEN_AT, sortOrder: DESC}]
filter - ItemFilterInput Filter criteria to narrow down results. Default = {}
customAttributeConditions - [CustomAttributeConditionInput!] Custom attribute filter conditions. Default = []

Example

Query
query items(
  $first: Int,
  $after: String,
  $presetId: ID,
  $sorting: [ItemSortingInput!],
  $filter: ItemFilterInput,
  $customAttributeConditions: [CustomAttributeConditionInput!]
) {
  items(
    first: $first,
    after: $after,
    presetId: $presetId,
    sorting: $sorting,
    filter: $filter,
    customAttributeConditions: $customAttributeConditions
  ) {
    edges {
      cursor
      node {
        caption
        creator {
          customAttributes
          id
        }
        currentEngagement {
          comments
          earnedMediaValue
          impressions
          likes
          linearViralityScore
          shares
          views
        }
        customAttributes
        externalId
        hashtags
        id
        location {
          city
          country
          formatted
          name
          state
        }
        mediaItemId
        mentions
        originalUrl
        provider
        socialProfile {
          accountName
          avatar
          creator {
            customAttributes
            id
          }
          email
          followers
          following
          fullName
          id
          originalUrl
          phoneNumbers
          private
          proAccount
          provider
          verified
        }
        takenAt
        transcriptions {
          mediaContentId
          transcript
        }
        type
      }
    }
    nodes {
      caption
      creator {
        customAttributes
        id
      }
      currentEngagement {
        comments
        earnedMediaValue
        impressions
        likes
        linearViralityScore
        shares
        views
      }
      customAttributes
      externalId
      hashtags
      id
      location {
        city
        country
        formatted
        name
        state
      }
      mediaItemId
      mentions
      originalUrl
      provider
      socialProfile {
        accountName
        avatar
        creator {
          customAttributes
          id
        }
        email
        followers
        following
        fullName
        id
        originalUrl
        phoneNumbers
        private
        proAccount
        provider
        verified
      }
      takenAt
      transcriptions {
        mediaContentId
        transcript
      }
      type
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
    totalCount
  }
}
Variables
{
  "first": 20,
  "after": "eyJpZCI6IjEyMzQ1Njc4OTAxMjM0NTY3OCJ9",
  "presetId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "sorting": {"sortKey": "TAKEN_AT", "direction": "DESC"},
  "filter": {},
  "customAttributeConditions": [""]
}
Response
{
  "data": {
    "items": {
      "edges": [ItemEdge],
      "nodes": [Item],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

mediaContents

Description

Retrieve media contents (images/videos) for the specified item IDs within the current workspace.

Response

Returns [MediaContent!]!

Arguments
Name Description
itemIds - [ID!]! Item IDs to fetch contents for (required).

Example

Query
query mediaContents($itemIds: [ID!]!) {
  mediaContents(itemIds: $itemIds) {
    ... on Image {
      deleted
      fileUrl
      height
      id
      mediaItemId
      thumbnailUrl
      type
      width
    }
    ... on Video {
      deleted
      fileUrl
      height
      id
      mediaItemId
      thumbnailUrl
      type
      videoDuration
      width
    }
  }
}
Variables
{
  "itemIds": [
    "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
  ]
}
Response
{"data": {"mediaContents": [Image]}}

socialProfile

Description

Return details for a social profile by ID or account identifier.

Response

Returns a SocialProfile

Arguments
Name Description
id - ID Unique identifier of the social profile within your workspace.
accountName - String Username or handle on the social platform (e.g., "nike" for instagram.com/nike).
provider - Provider Social platform: instagram, tiktok, or youtube. Required when using account_name.
fallback - Boolean When true, fetches profile from social platform if not archived locally. May increase response time. Default = false

Example

Query
query socialProfile(
  $id: ID,
  $accountName: String,
  $provider: Provider,
  $fallback: Boolean
) {
  socialProfile(
    id: $id,
    accountName: $accountName,
    provider: $provider,
    fallback: $fallback
  ) {
    accountName
    avatar
    creator {
      customAttributes
      id
    }
    email
    followers
    following
    fullName
    id
    originalUrl
    phoneNumbers
    private
    proAccount
    provider
    verified
  }
}
Variables
{
  "id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "accountName": "abc123",
  "provider": "INSTAGRAM",
  "fallback": false
}
Response
{
  "data": {
    "socialProfile": {
      "accountName": "abc123",
      "avatar": "https://cdn.archive-assets.com/avatars/alex_creates.jpg",
      "creator": Creator,
      "email": "[email protected]",
      "followers": 52840,
      "following": 987,
      "fullName": "abc123",
      "id": "sp_11223344",
      "originalUrl": "abc123",
      "phoneNumbers": ["xyz789"],
      "private": false,
      "proAccount": false,
      "provider": "INSTAGRAM",
      "verified": true
    }
  }
}

transcriptions

Description

Fetch transcriptions for one or more media contents belonging to the current workspace.

Response

Returns [Transcription!]!

Arguments
Name Description
mediaContentIds - [ID!] Filter by media content IDs (maximum 20).
itemIds - [ID!] Filter by item IDs (maximum 1000).

Example

Query
query transcriptions(
  $mediaContentIds: [ID!],
  $itemIds: [ID!]
) {
  transcriptions(
    mediaContentIds: $mediaContentIds,
    itemIds: $itemIds
  ) {
    mediaContentId
    transcript
  }
}
Variables
{
  "mediaContentIds": [
    "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
  ],
  "itemIds": [
    "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
  ]
}
Response
{
  "data": {
    "transcriptions": [
      {
        "mediaContentId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
        "transcript": "abc123"
      }
    ]
  }
}

workspace

Description

Return details for the current workspace, inferred from the WORKSPACE-ID header.

Response

Returns a Workspace!

Example

Query
query workspace {
  workspace {
    hashtags {
      id
      name
      provider
      type
    }
    id
    mentions {
      id
      name
      provider
      type
    }
    name
  }
}
Response
{
  "data": {
    "workspace": {
      "hashtags": [Tag],
      "id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
      "mentions": [Tag],
      "name": "Acme Beauty – US"
    }
  }
}

workspaces

Description

List all workspaces that the current API user has access to.

Response

Returns a WorkspaceConnection!

Arguments
Name Description
first - Int Number of workspaces to return (page size). Default = 20
after - String Cursor for fetching the next page of results. Default = null

Example

Query
query workspaces(
  $first: Int,
  $after: String
) {
  workspaces(
    first: $first,
    after: $after
  ) {
    edges {
      cursor
      node {
        hashtags {
          id
          name
          provider
          type
        }
        id
        mentions {
          id
          name
          provider
          type
        }
        name
      }
    }
    nodes {
      hashtags {
        id
        name
        provider
        type
      }
      id
      mentions {
        id
        name
        provider
        type
      }
      name
    }
    pageInfo {
      endCursor
      hasNextPage
      hasPreviousPage
      startCursor
    }
    totalCount
  }
}
Variables
{"first": 20, "after": null}
Response
{
  "data": {
    "workspaces": {
      "edges": [WorkspaceEdge],
      "nodes": [Workspace],
      "pageInfo": PageInfo,
      "totalCount": 987
    }
  }
}

Mutations

addItemToCollections

Description

Add an item to one or more collections.

Response

Returns an AddToCollectionsPayload

Arguments
Name Description
itemId - ID! ID of the item to add to collections.
collectionIds - [ID!] IDs of existing collections. Default = []
collectionNames - [String!] Names of collections to add the item to. Default = []
autoCreate - Boolean Automatically create collections by name if they do not exist. Default = false

Example

Query
mutation addItemToCollections(
  $itemId: ID!,
  $collectionIds: [ID!],
  $collectionNames: [String!],
  $autoCreate: Boolean
) {
  addItemToCollections(
    itemId: $itemId,
    collectionIds: $collectionIds,
    collectionNames: $collectionNames,
    autoCreate: $autoCreate
  ) {
    item {
      caption
      creator {
        customAttributes
        id
      }
      currentEngagement {
        comments
        earnedMediaValue
        impressions
        likes
        linearViralityScore
        shares
        views
      }
      customAttributes
      externalId
      hashtags
      id
      location {
        city
        country
        formatted
        name
        state
      }
      mediaItemId
      mentions
      originalUrl
      provider
      socialProfile {
        accountName
        avatar
        creator {
          customAttributes
          id
        }
        email
        followers
        following
        fullName
        id
        originalUrl
        phoneNumbers
        private
        proAccount
        provider
        verified
      }
      takenAt
      transcriptions {
        mediaContentId
        transcript
      }
      type
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "collectionIds": [""],
  "collectionNames": [""],
  "autoCreate": false
}
Response
{
  "data": {
    "addItemToCollections": {
      "item": Item,
      "userErrors": [UserError]
    }
  }
}

removeItemFromCollections

Description

Remove an item from one or more collections.

Response

Returns a RemoveFromCollectionsPayload

Arguments
Name Description
itemId - ID! ID of the item to remove from collections.
collectionIds - [ID!] IDs of collections to remove the item from. Default = []
collectionNames - [String!] Names of collections to remove the item from. Default = []

Example

Query
mutation removeItemFromCollections(
  $itemId: ID!,
  $collectionIds: [ID!],
  $collectionNames: [String!]
) {
  removeItemFromCollections(
    itemId: $itemId,
    collectionIds: $collectionIds,
    collectionNames: $collectionNames
  ) {
    item {
      caption
      creator {
        customAttributes
        id
      }
      currentEngagement {
        comments
        earnedMediaValue
        impressions
        likes
        linearViralityScore
        shares
        views
      }
      customAttributes
      externalId
      hashtags
      id
      location {
        city
        country
        formatted
        name
        state
      }
      mediaItemId
      mentions
      originalUrl
      provider
      socialProfile {
        accountName
        avatar
        creator {
          customAttributes
          id
        }
        email
        followers
        following
        fullName
        id
        originalUrl
        phoneNumbers
        private
        proAccount
        provider
        verified
      }
      takenAt
      transcriptions {
        mediaContentId
        transcript
      }
      type
    }
    userErrors {
      field
      message
    }
  }
}
Variables
{
  "itemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "collectionIds": [""],
  "collectionNames": [""]
}
Response
{
  "data": {
    "removeItemFromCollections": {
      "item": Item,
      "userErrors": [UserError]
    }
  }
}

Types

AddToCollectionsPayload

Description

Autogenerated return type of AddToCollections.

Fields
Field Name Description
item - Item The updated item.
userErrors - [UserError!]! List of errors that occurred.
Example
{
  "item": Item,
  "userErrors": [UserError]
}

BigInt

Description

Represents non-fractional signed whole numeric values. Since the value may exceed the size of a 32-bit integer, it's encoded as a string.

Example
9823456712

Boolean

Description

Represents true or false values.

Creator

Description

A creator (influencer) whose content is tracked in Archive.

Fields
Field Name Description
customAttributes - JSON! Custom metadata fields associated with the creator (for example CRM attributes).
id - ID! Unique identifier for the creator in Archive's system.
Example
{"customAttributes": {}, "id": "98234"}

CreatorConnection

Description

Paginated list of creators.

Fields
Field Name Description
edges - [CreatorEdge!]! List of edges with cursors.
nodes - [Creator!]! List of creators.
pageInfo - PageInfo! Pagination information.
totalCount - Int Total number of items available.
Example
{
  "edges": [CreatorEdge],
  "nodes": [Creator],
  "pageInfo": PageInfo,
  "totalCount": 987
}

CreatorEdge

Description

An edge in the creator connection.

Fields
Field Name Description
cursor - String! Cursor for this node.
node - Creator! The creator.
Example
{
  "cursor": "abc123",
  "node": Creator
}

CustomAttributeConditionInput

Fields
Input Field Description
field - String!
operator - FilterOperator!
type - CustomAttributeType!
value - JSON
Example
{
  "field": "abc123",
  "operator": "IS",
  "type": "EMAIL",
  "value": {}
}

CustomAttributeOption

Description

A selectable option for custom attributes with predefined choices.

Fields
Field Name Description
id - ID! Unique identifier. Match this against values in customAttributes.
name - String! Human-readable display name.
Example
{
  "id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "name": "xyz789"
}

CustomAttributeSchema

Description

Definition of a custom attribute field. Use options (when present) to map IDs to display names.

Fields
Field Name Description
key - String! Key used in the customAttributes object.
name - String! Human-readable display name.
options - [CustomAttributeOption!] Available options for select-type attributes. When present, customAttributes values are option IDs that map to these options. When null, values are stored directly (text, numbers, dates, etc.).
type - CustomAttributeType! Custom attribute field type.
Example
{
  "key": "abc123",
  "name": "abc123",
  "options": [CustomAttributeOption],
  "type": "EMAIL"
}

CustomAttributeSchemaEntity

Description

Entity type that custom attributes can be attached to.

Values
Enum Value Description

ITEM

Item (archived social content)

CREATOR

Creator profile
Example
"ITEM"

CustomAttributeType

Values
Enum Value Description

EMAIL

PHONE

SINGLE_SELECT_V2

SINGLE_SELECT_V3

MULTIPLE_SELECT

MULTIPLE_SELECT_V2

TEXT

TEXT_LIST

URL

DATE

DATE_LIST

DATETIME

DATETIME_LIST

NUMBER

NUMBER_LIST

BOOLEAN

BOOLEAN_LIST

SHIPPING_ADDRESS

Example
"EMAIL"

DateTime

Description

Represents an ISO 8601-encoded date and time string. For example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is represented as "2019-09-07T15:50:00Z"

Example
"2007-12-03T10:15:30Z"

Engagement

Description

Snapshot of engagement metrics for a single piece of content.

Fields
Field Name Description
comments - BigInt Total number of comments.
earnedMediaValue - BigInt Estimated earned media value (EMV) in cents.
impressions - BigInt Number of views, plays, or estimated impressions.
likes - BigInt Total number of likes.
linearViralityScore - ViralityScore! Bucketed virality score.
shares - BigInt Number of shares.
views - BigInt Number of views.
Example
{
  "comments": 9823456712,
  "earnedMediaValue": 9823456712,
  "impressions": 9823456712,
  "likes": 9823456712,
  "linearViralityScore": "HIGH",
  "shares": 9823456712,
  "views": 9823456712
}

EngagementHistoryConnection

Description

Paginated list of engagementhistoryentries.

Fields
Field Name Description
edges - [EngagementHistoryEntryEdge!]! List of edges with cursors.
nodes - [EngagementHistoryEntry!]! List of engagementhistoryentries.
pageInfo - PageInfo! Pagination information.
totalCount - Int Total number of items available.
Example
{
  "edges": [EngagementHistoryEntryEdge],
  "nodes": [EngagementHistoryEntry],
  "pageInfo": PageInfo,
  "totalCount": 987
}

EngagementHistoryEntry

Description

A single historical snapshot of engagement metrics for a piece of content.

Fields
Field Name Description
at - DateTime! Timestamp when the engagement metrics were captured (UTC).
comments - BigInt Total number of comments.
earnedMediaValue - BigInt Estimated earned media value (EMV) in cents.
followers - BigInt Number of followers at the time of capture.
impressions - BigInt Number of views, plays, or estimated impressions.
likes - BigInt Total number of likes.
linearViralityScore - ViralityScore! Bucketed virality score based on engagement relative to follower count.
shares - BigInt Number of shares.
views - BigInt Number of views.
Example
{
  "at": "2007-12-03T10:15:30Z",
  "comments": 9823456712,
  "earnedMediaValue": 9823456712,
  "followers": 9823456712,
  "impressions": 9823456712,
  "likes": 9823456712,
  "linearViralityScore": "HIGH",
  "shares": 9823456712,
  "views": 9823456712
}

EngagementHistoryEntryEdge

Description

An edge in the engagementhistoryentry connection.

Fields
Field Name Description
cursor - String! Cursor for this node.
node - EngagementHistoryEntry! The engagementhistoryentry.
Example
{
  "cursor": "abc123",
  "node": EngagementHistoryEntry
}

EngagementHistoryFilterInput

Description

Filter criteria for engagement history entries.

Fields
Input Field Description
capturedAt - FilterDateRangeInput Filter by the date range when engagement metrics were captured.
Example
{"capturedAt": FilterDateRangeInput}

FilterContractStatus

Description

Status of a contract request (usage rights, whitelisting, etc.).

Values
Enum Value Description

APPROVED

Contract has been approved by the creator.

EXPIRED

Contract approval has expired.

IN_QUEUE

Contract request is queued for processing.

REJECTED

Contract request was rejected by the creator.

REQUESTED

Contract has been requested but not yet responded to.
Example
"APPROVED"

FilterDateRangeInput

Fields
Input Field Description
from - DateTime
to - DateTime
Example
{
  "from": "2007-12-03T10:15:30Z",
  "to": "2007-12-03T10:15:30Z"
}

FilterEngagementField

Values
Enum Value Description

LIKE_COUNT

COMMENT_COUNT

MERGED_VIEW_PLAY_COUNT

SHARE_COUNT

ENGAGEMENTS_RATE

IMPRESSIONS_RATE

EARNED_MEDIA_VALUE

Example
"LIKE_COUNT"

FilterEngagementRangeInput

Fields
Input Field Description
range - FilterIntegerRangeInput!
field - FilterEngagementField!
Example
{"range": FilterIntegerRangeInput, "field": "LIKE_COUNT"}

FilterImportType

Values
Enum Value Description

MANUAL

AUTOMATIC

Example
"MANUAL"

FilterIntegerRangeInput

Fields
Input Field Description
from - Int
to - Int
Example
{"from": 123, "to": 123}

FilterItemType

Values
Enum Value Description

POST

REEL

STORY

TIKTOK

YOUTUBE

YOUTUBE_SHORT

Example
"POST"

FilterLocationInput

Fields
Input Field Description
query - String! Location string query
Example
{"query": "xyz789"}

FilterOperator

Values
Enum Value Description

IS

IS_NOT

IS_RELATIVE_TO_TODAY

CONTAINS

DOES_NOT_CONTAIN

STARTS_WITH

ENDS_WITH

IS_EMPTY

IS_NOT_EMPTY

MORE_THAN

MORE_THAN_OR_EQUAL

EQUAL

NOT_EQUAL

LESS_THAN

LESS_THAN_OR_EQUAL

BETWEEN

Example
"IS"

FilterPreset

Description

A saved filter preset configuration

Fields
Field Name Description
accessor - FilterPresetAccessor! Type of filter preset
id - ID! Unique identifier
name - String! Display name of the preset
Example
{
  "accessor": "MEDIA_DECK",
  "id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "name": "abc123"
}

FilterPresetAccessor

Description

Filter preset accessor type

Values
Enum Value Description

MEDIA_DECK

Media deck filter preset

COLLECTIONS

Collections filter preset
Example
"MEDIA_DECK"

FilterSuperSearchInput

Description

Input for performing visual or text-based super search across items.

Fields
Input Field Description
similarMediaContentId - ID ID of a media content to find visually similar items.
searchQuery - String Text query to search captions, transcriptions, or semantic content.
imageUrl - String URL of an external image to use for visual similarity search.
fileName - String Name of an uploaded file to use for visual similarity search.
mode - FilterSuperSearchMode Search mode determining how the query is processed.
Example
{
  "similarMediaContentId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "searchQuery": "abc123",
  "imageUrl": "xyz789",
  "fileName": "xyz789",
  "mode": "EMBEDDING_CONTENT"
}

FilterSuperSearchMode

Description

Mode to use when performing a super search query.

Values
Enum Value Description

EMBEDDING_CONTENT

Search by visual/semantic similarity using content embeddings.

FUZZY_TRANSCRIPTION

Search by fuzzy matching against video/audio transcriptions.

FUZZY_CAPTION

Search by fuzzy matching against post captions.
Example
"EMBEDDING_CONTENT"

FilterViralityScore

Description

System-assigned virality classification based on how strongly content outperforms its expected view-to-follower ratio. Higher categories indicate more viral content.

Values
Enum Value Description

HIGH

Content marked by the system as highly viral.

MEDIUM

Content marked by the system as moderately viral.

LOW

Content marked by the system as having low virality.
Example
"HIGH"

ID

Description

Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "VXNlci0xMA==") or integer (such as 4) input value will be accepted as an ID.

Example
"7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"

Image

Description

Image media content (for example single images or carousel frames).

Fields
Field Name Description
deleted - Boolean! True if the media content has been removed from the source platform.
fileUrl - String Direct URL to the underlying media file when Archive can serve it.
height - Int Height of the media content in pixels, when known.
id - ID! Unique identifier for the media content in Archive's system.
mediaItemId - ID! Identifier of the parent media item. Use this to group related contents (e.g., carousel frames) that belong to the same post.
thumbnailUrl - String URL of a preview thumbnail image for this media content, if available.
type - MediaContentType! Whether this media content is an IMAGE or a VIDEO.
width - Int Width of the media content in pixels, when known.
Example
{
  "deleted": true,
  "fileUrl": "abc123",
  "height": 1350,
  "id": "mc_456789",
  "mediaItemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "thumbnailUrl": "abc123",
  "type": "IMAGE",
  "width": 1080
}

Int

Description

Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

Item

Description

A single piece of social content archived in Archive.

Fields
Field Name Description
caption - String Caption text of the content, when available.
creator - Creator! Creator who posted this content.
currentEngagement - Engagement Most recent engagement metrics (likes, comments, views, shares, EMV) and virality score for this item.
customAttributes - JSON! Custom metadata fields associated with the item.
externalId - ID! Platform-specific identifier for the content (e.g., Instagram post ID, TikTok video ID).
hashtags - [String!] List of hashtags used in the item’s caption or metadata.
id - ID! Unique identifier for the item in Archive's system.
location - Location Location associated with the content, if present.
mediaItemId - ID! Identifier of the parent media item. Use this to group related contents (e.g., carousel frames) that belong to the same post.
mentions - [String!] List of user mentions used in the item’s caption or metadata.
originalUrl - String Direct URL to the original content on the social platform. Returns null for content types without public URLs (e.g., Instagram Stories).
provider - Provider! Platform where the content exists (for example INSTAGRAM, TIKTOK, YOUTUBE, or INTERNAL).
socialProfile - SocialProfile! Social media profile on which this content was posted.
takenAt - DateTime! Timestamp when the content was originally published on the social platform (UTC).
transcriptions - [Transcription!]! Text transcriptions and subtitles generated for video content within this item.
type - ItemType! Type of archived content (for example POST, REEL, STORY or SHORT), depending on the platform.
Example
{
  "caption": "SPF check before every beach day 🧴☀️ #sunscreen #summerstyle",
  "creator": Creator,
  "currentEngagement": Engagement,
  "customAttributes": {},
  "externalId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "hashtags": ["summerstyle", "sunscreen", "ugccampaign"],
  "id": "645201873210984576",
  "location": Location,
  "mediaItemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "mentions": ["archivelabs", "partner_brand"],
  "originalUrl": "abc123",
  "provider": "INSTAGRAM",
  "socialProfile": SocialProfile,
  "takenAt": "2007-12-03T10:15:30Z",
  "transcriptions": [Transcription],
  "type": "POST"
}

ItemConnection

Description

Paginated list of items.

Fields
Field Name Description
edges - [ItemEdge!]! List of edges with cursors.
nodes - [Item!]! List of items.
pageInfo - PageInfo! Pagination information.
totalCount - Int Total number of items available.
Example
{
  "edges": [ItemEdge],
  "nodes": [Item],
  "pageInfo": PageInfo,
  "totalCount": 987
}

ItemEdge

Description

An edge in the item connection.

Fields
Field Name Description
cursor - String! Cursor for this node.
node - Item! The item.
Example
{
  "cursor": "abc123",
  "node": Item
}

ItemFilterInput

Description

Filter criteria for searching archived items.

Fields
Input Field Description
ids - [ID!] Filter to specific item IDs. Default = []
provider - Provider Filter by source platform (INSTAGRAM, TIKTOK, YOUTUBE, INTERNAL).
itemTypes - [FilterItemType!] Filter by item type (POST, REEL, STORY, TIKTOK, YOUTUBE, YOUTUBE_SHORT).
contentTypes - [MediaContentType!] Filter by media content type (IMAGE, VIDEO).
takenAt - FilterDateRangeInput Filter by publication date range.
engagement - [FilterEngagementRangeInput!] Filter by engagement metric ranges (likes, comments, views, etc.).
viralityScore - [FilterViralityScore!] Filter by virality score categories. Default = []
tagsNames - [String!] Filter by hashtag or mention tag names. Default = []
sourcesIds - [ID!] Filter by source IDs. Default = []
importType - FilterImportType Filter by how the item was imported (manual or automatic).
shopifyProductsIds - [String!] Filter by associated Shopify product IDs. Default = []
socialProfileIds - [ID!] Filter by social profile IDs. Default = []
accountNames - [String!] Filter by social profile account names/handles. Default = []
followersCount - FilterIntegerRangeInput Filter by social profile follower count range.
verified - [Boolean!] Filter by social profile verification status.
creatorLocation - FilterLocationInput Filter by creator location (city, state, or country).
ugcLocation - FilterLocationInput Filter by content location (name, city, state, or country).
tiktokSparkCodeStatus - [FilterContractStatus!] Filter by TikTok Spark Code request status.
instagramWhitelistingStatus - [FilterContractStatus!] Filter by Instagram whitelisting request status.
usageRightsStatus - [FilterContractStatus!] Filter by usage rights request status.
superSearch - FilterSuperSearchInput Visual or semantic search parameters.
Example
{
  "ids": [
    "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
  ],
  "provider": "INSTAGRAM",
  "itemTypes": ["POST"],
  "contentTypes": ["IMAGE"],
  "takenAt": FilterDateRangeInput,
  "engagement": [FilterEngagementRangeInput],
  "viralityScore": ["HIGH"],
  "tagsNames": ["abc123"],
  "sourcesIds": [
    "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
  ],
  "importType": "MANUAL",
  "shopifyProductsIds": ["abc123"],
  "socialProfileIds": [
    "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63"
  ],
  "accountNames": ["xyz789"],
  "followersCount": FilterIntegerRangeInput,
  "verified": [false],
  "creatorLocation": FilterLocationInput,
  "ugcLocation": FilterLocationInput,
  "tiktokSparkCodeStatus": ["APPROVED"],
  "instagramWhitelistingStatus": ["APPROVED"],
  "usageRightsStatus": ["APPROVED"],
  "superSearch": FilterSuperSearchInput
}

ItemSortKey

Description

Field to use when ordering items in search results.

Values
Enum Value Description

TAKEN_AT

Sort by when the content was originally posted on the social platform.

MERGED_VIEW_PLAY_COUNT

Sort by the combined view/play count across platforms.

LIKE_COUNT

Sort by total number of likes.

COMMENT_COUNT

Sort by total number of comments.

SHARE_COUNT

Sort by number of shares.

EARNED_MEDIA_VALUE

Sort by earned media value (EMV).

LINEAR_VIRALITY

Sort by linear virality score.

EXPONENTIAL_VIRALITY

Sort by exponential virality score.

ACCOUNT_NAME

Sort by creator account name.

FOLLOWERS_COUNT

Sort by number of followers on the posting account.
Example
"TAKEN_AT"

ItemSortingInput

Description

Configuration for sorting returned items.

Fields
Input Field Description
sortKey - ItemSortKey! Which field to sort items by.
sortOrder - SortOrder! Whether to sort ascending (ASC) or descending (DESC).
Example
{"sortKey": "TAKEN_AT", "sortOrder": "ASC"}

ItemType

Description

Type of social content represented by this item on its source platform.

Values
Enum Value Description

POST

Standard feed post, such as a single image or carousel post on Instagram.

REEL

Short-form vertical video published as a Reel or equivalent format.

STORY

Ephemeral story content, typically available for a limited time.

SHORT

Short-form vertical video such as a YouTube Short or similar format.
Example
"POST"

JSON

Description

Represents untyped JSON

Example
{}

Location

Description

Structured location information attached to content or profiles.

Fields
Field Name Description
city - String City associated with the location.
country - String Country associated with the location.
formatted - String Human-readable formatted address.
name - String Full name of the location.
state - String State, region, or province associated with the location.
Example
{
  "city": "Santa Monica",
  "country": "United States",
  "formatted": "200 Santa Monica Pier, Santa Monica, California, United States",
  "name": "Santa Monica Pier",
  "state": "California"
}

MediaContent

Description

Union of media content types associated with an item (image or video).

Types
Union Types

Image

Video

Example
Image

MediaContentType

Description

Underlying type of the media asset.

Values
Enum Value Description

IMAGE

Static image content (for example photos, thumbnails, frames).

VIDEO

Video content (for example Reels, TikToks, Stories, YouTube videos).
Example
"IMAGE"

PageInfo

Description

Information about pagination in a connection.

Fields
Field Name Description
endCursor - String Cursor for the last node in this page.
hasNextPage - Boolean! Whether there are more results after this page.
hasPreviousPage - Boolean! Whether there are results before this page.
startCursor - String Cursor for the first node in this page.
Example
{
  "endCursor": "abc123",
  "hasNextPage": false,
  "hasPreviousPage": false,
  "startCursor": "abc123"
}

Provider

Description

Platform or system from which content, profiles, or metadata originate.

Values
Enum Value Description

INSTAGRAM

Instagram platform integration, including posts, reels, stories, and profile data.

TIKTOK

TikTok platform integration, including videos and creator profile data.

INTERNAL

Internal Archive-managed source used for synthetic or system-generated content.

YOUTUBE

YouTube platform integration, including Shorts, videos, thumbnails, and profile data.
Example
"INSTAGRAM"

RemoveFromCollectionsPayload

Description

Autogenerated return type of RemoveFromCollections.

Fields
Field Name Description
item - Item The updated item.
userErrors - [UserError!]! List of errors that occurred.
Example
{
  "item": Item,
  "userErrors": [UserError]
}

SocialProfile

Description

A social media profile connected to Archive (for example Instagram, TikTok, or YouTube).

Fields
Field Name Description
accountName - String! Username or handle of the social media account.
avatar - String URL of the account's profile picture, if available.
creator - Creator Creator associated with this social profile in the current workspace. Use this to get the unified creator ID for deduplicating creators across platforms. Returns null if the profile has no creator record in this workspace.
email - String Email address associated with the account, if available.
followers - Int! Number of followers on the social media account (when available).
following - Int! Number of accounts this profile is following (when available).
fullName - String Display name or full name shown on the social media profile.
id - ID! Unique identifier of the social profile in Archive's system.
originalUrl - String! Direct URL to the profile on the social platform (e.g., https://instagram.com/account_name).
phoneNumbers - [String!] Phone numbers associated with the account, when present.
private - Boolean! Whether the social media account is currently set to private.
proAccount - Boolean! Whether the account is marked as a professional or business account on the platform.
provider - Provider! Platform where the social profile exists (for example INSTAGRAM, TIKTOK, YOUTUBE, or INTERNAL).
verified - Boolean! Whether the account has a verified/badge status on the platform.
Example
{
  "accountName": "xyz789",
  "avatar": "https://cdn.archive-assets.com/avatars/alex_creates.jpg",
  "creator": Creator,
  "email": "[email protected]",
  "followers": 52840,
  "following": 987,
  "fullName": "abc123",
  "id": "sp_11223344",
  "originalUrl": "abc123",
  "phoneNumbers": ["xyz789"],
  "private": false,
  "proAccount": false,
  "provider": "INSTAGRAM",
  "verified": false
}

SortOrder

Description

Direction to apply when sorting items.

Values
Enum Value Description

ASC

Sort in ascending order (for example oldest date or smallest number first).

DESC

Sort in descending order (for example newest date or largest number first).
Example
"ASC"

String

Description

Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.

Example
"abc123"

Tag

Description

A hashtag or mention tag associated with social content.

Fields
Field Name Description
id - ID! Unique identifier for the tag in Archive's system.
name - String! The text of the tag.
provider - Provider! Platform where this tag was observed (for example INSTAGRAM, TIKTOK, YOUTUBE, or INTERNAL).
type - TagType! Whether this tag is a HASHTAG or a MENTION.
Example
{
  "id": "tag_99887766",
  "name": "summerstyle",
  "provider": "INSTAGRAM",
  "type": "HASHTAG"
}

TagType

Description

Category of tag based on how it appears in social content.

Values
Enum Value Description

HASHTAG

Hashtag tag (e.g. #archive)

MENTION

User mention tag (e.g. @archive)
Example
"HASHTAG"

Transcription

Description

Text transcription generated for a piece of media content.

Fields
Field Name Description
mediaContentId - ID! Identifier of the media content this transcription belongs to.
transcript - String Plain text transcription of the spoken content.
Example
{
  "mediaContentId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "transcript": "xyz789"
}

UserError

Description

Represents an error in the input of a mutation.

Fields
Field Name Description
field - [String!] Path to the input field that caused the error.
message - String! The error message.
Example
{
  "field": ["xyz789"],
  "message": "xyz789"
}

Video

Description

Video media content associated with an item.

Fields
Field Name Description
deleted - Boolean! True if the media content has been removed from the source platform.
fileUrl - String Direct URL to the underlying media file when Archive can serve it.
height - Int Height of the media content in pixels, when known.
id - ID! Unique identifier for the media content in Archive's system.
mediaItemId - ID! Identifier of the parent media item. Use this to group related contents (e.g., carousel frames) that belong to the same post.
thumbnailUrl - String URL of a preview thumbnail image for this media content, if available.
type - MediaContentType! Whether this media content is an IMAGE or a VIDEO.
videoDuration - Int Duration of the video in seconds, when available.
width - Int Width of the media content in pixels, when known.
Example
{
  "deleted": true,
  "fileUrl": "abc123",
  "height": 1920,
  "id": "mc_456790",
  "mediaItemId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "thumbnailUrl": "abc123",
  "type": "IMAGE",
  "videoDuration": 123,
  "width": 1080
}

ViralityScore

Description

Categorized virality score representing how strongly a piece of content outperforms its expected view-to-follower ratio. Higher categories indicate more viral content.

Values
Enum Value Description

HIGH

Content that significantly outperforms its expected reach. Typically corresponds to a view-to-follower ratio of 4.0 or higher.

MEDIUM

Content performing above average relative to audience size. Typically corresponds to a view-to-follower ratio between ~2.0 and 4.0.

LOW

Content performing close to expected baseline relative to audience size. Typically corresponds to a view-to-follower ratio between ~1.0 and 2.0.

NOT_VIRAL

Content performing below expected reach, with low relative visibility. Typically corresponds to a view-to-follower ratio below ~1.0.
Example
"HIGH"

Workspace

Description

A workspace represents a single brand or account within Archive.

Fields
Field Name Description
hashtags - [Tag!] Hashtags tracked for this workspace.
id - ID! Unique identifier for the workspace (UUID format).
mentions - [Tag!] User mentions tracked for this workspace.
name - String! Human-readable name of the workspace.
Example
{
  "hashtags": [Tag],
  "id": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
  "mentions": [Tag],
  "name": "Acme Beauty – US"
}

WorkspaceConnection

Description

Paginated list of workspaces.

Fields
Field Name Description
edges - [WorkspaceEdge!]! List of edges with cursors.
nodes - [Workspace!]! List of workspaces.
pageInfo - PageInfo! Pagination information.
totalCount - Int Total number of items available.
Example
{
  "edges": [WorkspaceEdge],
  "nodes": [Workspace],
  "pageInfo": PageInfo,
  "totalCount": 987
}

WorkspaceEdge

Description

An edge in the workspace connection.

Fields
Field Name Description
cursor - String! Cursor for this node.
node - Workspace! The workspace.
Example
{
  "cursor": "abc123",
  "node": Workspace
}