Skip to content

List org custom attributes for a domain

GET
/api/v1/extraction/attributes/{domain}
curl --request GET \
--url 'https://dashboard.justcrawl.io/api/v1/extraction/attributes/example?pageType=product' \
--header 'Authorization: Bearer <token>'

Reads this org’s per-domain custom attribute overrides for the page type. These layer on top of the platform-discovered schema at extraction time — the merged set is what the extractor runs. Returns { attributes: [] } (not 404) when the org has not yet customized the domain, so the dashboard can render the editor without a second probe.

domain
required
string
pageType
string
default: product

Org-defined custom attributes for the domain + page type (empty array when none defined).

Media type application/json

Org-scoped custom attributes. When no row exists, the API returns { attributes: [] } and other fields are omitted.

object
id
string format: uuid
orgId
string format: uuid
domain
string
pageType
string
attributes
required
Array<object>
object
name
required
string
xpaths
required
Array<string>
type
required
string
Allowed values: text number url boolean text[] url[]
description
string
nullable
antiPatterns
Array<string>
nullable
semanticType
string
nullable
Allowed values: brand_name review_count product_id product_image star_rating
validation
object
minLength
integer
maxLength
integer
min
number
max
number
pattern
string
createdAt
string format: date-time
updatedAt
string format: date-time
Example
{
"attributes": [
{
"type": "text",
"semanticType": "brand_name"
}
]
}

Missing or invalid authentication token

Media type application/json
object
error
string
Example
{
"error": "Missing or invalid authentication token"
}

Insufficient permissions for this operation

Media type application/json
object
error
string
Example
{
"error": "No organization. Complete onboarding first."
}

Unexpected server error. Logs and PostHog $exception capture

Media type application/json
object
error
string
Example
{
"error": "Something went wrong"
}