Skip to main content

Extensions

Extensions are pre-built Custom Metric Containers that you can easily enable on your projects to unlock additional capabilities.

Available Extensions

Some of the popular extensions include:

  • Store HTML: Stores the HTML of each page as it appeared at the time of crawling.
  • Store Screenshots: Stores a screenshot of each page as it appeared at the time of crawling.

You can discover all available global extensions by fetching them from either the Account or Project level:

query GetGlobalContainersFromAccount($accountId: ObjectID!, $globalContainersCursor: String) {
getAccount(id: $accountId) {
availableCustomMetricContainers(first: 100, after: $globalContainersCursor) {
pageInfo {
hasNextPage
endCursor
}
edges {
node {
id
name
displayName
description
requiredAddons
requiresAiFeatures
costs {
moduleCode
cost
}
keyFeatures
relatedContainerNames
}
}
}
}
}

Try in explorer

query GetGlobalContainersFromProject($projectId: ObjectID!, $globalContainersCursor: String) {
getProject(id: $projectId) {
availableCustomMetricContainers(first: 100, after: $globalContainersCursor) {
pageInfo {
hasNextPage
endCursor
}
edges {
node {
id
name
displayName
description
requiredAddons
requiresAiFeatures
costs {
moduleCode
cost
}
keyFeatures
relatedContainerNames
}
}
}
}
}

Try in explorer

Costs and Availability

Extensions may have associated costs. The costs field in the query response provides this information:

  • If costs is null, the extension is free and available for all project types.
  • If costs contains specific module codes (e.g., SEO), the price applies only to projects with those modules.
  • The cost field indicates the price.

Required Add-ons

Some extensions rely on specific platform features. Check the requiredAddons field to see if an extension needs any additional add-ons enabled on your account.

Required AI Features

Some extensions require AI features to be enabled on the account. The requiresAiFeatures field indicates whether an extension depends on AI capabilities. If true, the extension will only function if AI features are active for the account.

Enabling an Extension

To use an extension on your project, you need to link the container to your project.

mutation LinkContainerToProject($input: LinkCustomMetricContainerToProjectInput!) {
linkCustomMetricContainerToProject(input: $input) {
customMetricContainerProject {
project {
id
}
customMetricContainer {
id
}
enabled
}
}
}

Try in explorer

Listing Linked Extensions

You can find which extensions are already linked to your project using the following query:

query GetCrawlSettingsForExtensions($projectId: ObjectID!, $projectContainersCursor: String) {
getProject(id: $projectId) {
id
moduleCode
customMetricContainerProjects(first: 100, after: $projectContainersCursor) {
pageInfo {
hasNextPage
endCursor
}
edges {
node {
project {
id
}
customMetricContainer {
id
}
enabled
}
}
}
}
}

Try in explorer

Managing Extensions

Once an extension is linked to a project, you can toggle its status (enable/disable) without removing the link.

mutation UpdateContainerProject($input: UpdateCustomMetricContainerProjectInput!) {
updateCustomMetricContainerProject(input: $input) {
customMetricContainerProject {
project {
id
}
customMetricContainer {
id
}
enabled
}
}
}

Try in explorer