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
POSTrequests to the GraphQL endpoint:https://app.archive.com/api/v2 - You control which data is returned by selecting fields on the
Querytype. - Pagination follows the standard Relay-style cursor pattern.
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]}}
transcriptions
Description
Fetch transcriptions for one or more media contents belonging to the current workspace.
Response
Returns [Transcription!]!
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!
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
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.
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
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.
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 (archived social content) |
|
|
Creator profile |
Example
"ITEM"
CustomAttributeType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|---|---|
|
|
Contract has been approved by the creator. |
|
|
Contract approval has expired. |
|
|
Contract request is queued for processing. |
|
|
Contract request was rejected by the creator. |
|
|
Contract has been requested but not yet responded to. |
Example
"APPROVED"
FilterDateRangeInput
FilterEngagementField
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"LIKE_COUNT"
FilterEngagementRangeInput
Fields
| Input Field | Description |
|---|---|
range - FilterIntegerRangeInput!
|
|
field - FilterEngagementField!
|
Example
{"range": FilterIntegerRangeInput, "field": "LIKE_COUNT"}
FilterImportType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"MANUAL"
FilterIntegerRangeInput
FilterItemType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"POST"
FilterLocationInput
Fields
| Input Field | Description |
|---|---|
query - String!
|
Location string query |
Example
{"query": "xyz789"}
FilterOperator
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 filter preset |
|
|
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 |
|---|---|
|
|
Search by visual/semantic similarity using content embeddings. |
|
|
Search by fuzzy matching against video/audio transcriptions. |
|
|
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 |
|---|---|
|
|
Content marked by the system as highly viral. |
|
|
Content marked by the system as moderately viral. |
|
|
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
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 |
|---|---|
|
|
Sort by when the content was originally posted on the social platform. |
|
|
Sort by the combined view/play count across platforms. |
|
|
Sort by total number of likes. |
|
|
Sort by total number of comments. |
|
|
Sort by number of shares. |
|
|
Sort by earned media value (EMV). |
|
|
Sort by linear virality score. |
|
|
Sort by exponential virality score. |
|
|
Sort by creator account name. |
|
|
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 |
|---|---|
|
|
Standard feed post, such as a single image or carousel post on Instagram. |
|
|
Short-form vertical video published as a Reel or equivalent format. |
|
|
Ephemeral story content, typically available for a limited time. |
|
|
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.
Example
{
"city": "Santa Monica",
"country": "United States",
"formatted": "200 Santa Monica Pier, Santa Monica, California, United States",
"name": "Santa Monica Pier",
"state": "California"
}
MediaContent
MediaContentType
Description
Underlying type of the media asset.
Values
| Enum Value | Description |
|---|---|
|
|
Static image content (for example photos, thumbnails, frames). |
|
|
Video content (for example Reels, TikToks, Stories, YouTube videos). |
Example
"IMAGE"
PageInfo
Description
Information about pagination in a connection.
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 platform integration, including posts, reels, stories, and profile data. |
|
|
TikTok platform integration, including videos and creator profile data. |
|
|
Internal Archive-managed source used for synthetic or system-generated content. |
|
|
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 |
|---|---|
|
|
Sort in ascending order (for example oldest date or smallest number first). |
|
|
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.
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 tag (e.g. #archive) |
|
|
User mention tag (e.g. @archive) |
Example
"HASHTAG"
Transcription
Description
Text transcription generated for a piece of media content.
Example
{
"mediaContentId": "7d7f1c9c-6c12-4a4e-bd52-1e94f32c7f63",
"transcript": "xyz789"
}
UserError
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 |
|---|---|
|
|
Content that significantly outperforms its expected reach. Typically corresponds to a view-to-follower ratio of 4.0 or higher. |
|
|
Content performing above average relative to audience size. Typically corresponds to a view-to-follower ratio between ~2.0 and 4.0. |
|
|
Content performing close to expected baseline relative to audience size. Typically corresponds to a view-to-follower ratio between ~1.0 and 2.0. |
|
|
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.
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
}