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) {
availableGlobalCustomMetricContainers(first: 100, after: $globalContainersCursor) {
pageInfo {
hasNextPage
endCursor
}
edges {
node {
id
name
displayName
description
requiredAddons
requiresAiFeatures
costs {
moduleCode
cost
}
keyFeatures
relatedContainerNames
}
}
}
}
}
query GetGlobalContainersFromProject($projectId: ObjectID!, $globalContainersCursor: String) {
getProject(id: $projectId) {
availableGlobalCustomMetricContainers(first: 100, after: $globalContainersCursor) {
pageInfo {
hasNextPage
endCursor
}
edges {
node {
id
name
displayName
description
requiredAddons
requiresAiFeatures
costs {
moduleCode
cost
}
keyFeatures
relatedContainerNames
}
}
}
}
}
Costs and Availability
Extensions may have associated costs. The costs field in the query response provides this information:
- If
costsisnull, the extension is free and available for all project types. - If
costscontains specific module codes (e.g.,SEO), the price applies only to projects with those modules. - The
costfield 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
}
}
}
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
}
}
}
}
}
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
}
}
}