Skip to content
scrapeatlas.Dashboard

Link in bio

Pillar API

Retrieve a public Pillar creator profile, social links, link click counts, and featured products.

1 endpointx-api-key

Read the public shop data that powers a Pillar page. Get profile details, social accounts, ordered links, and product listings in one response.

API availability: Available

Base URL · local workerhttp://localhost:3010Public API: https://api.scrapeatlas.com.
Authenticationx-api-keyCustomer key from your account. See Authentication.

Endpoints

GET/v1/pillar

Get a Pillar page

Accepts a public Pillar profile URL. Returns profile fields, links, and products at the top level. Outbound URLs are returned as data and never visited.

Reference

Quick start

Create an API key on your account page, then call the public API. Values below are placeholders.

Terminal
curl "https://api.scrapeatlas.com/v1/pillar?url=https%3A%2F%2Fpillar.io%2Fexample" \
  -H "x-api-key: YOUR_API_KEY"

Coverage & limits

  • One public profile per request; four concurrent requests per worker. Saturation returns 503 busy.
  • 15-second total deadline and at most five upstream requests, including one shared retry for network errors or HTTP 5xx. Redirects are rejected; 429 and access challenges are not retried.
  • A cold request reads the public shop, page bootstrap, current client bundle, and account metadata. Subsequent requests normally need only shop and account reads. Tokens are sent only to Pillar’s fixed GraphQL endpoint, never to outbound URLs or other workers.
  • 2 MiB total decoded bytes across shop JSON, client bootstrap, client source, and account response. Shop JSON is limited to nesting depth 16 and 20,000 nodes. Payload limits fail explicitly.
  • At most 500 visited links and products combined, processed in that order, and 100 social channels. Record limits produce partial coverage.
  • Private, password-protected, or consent-gated profiles answer an explicit restricted failure; gated records are reported with a warning.
  • Missing collections return empty arrays with warnings. Missing metrics return null; they are never substituted with zero. Empty public collections do not add a missing-collection warning.
  • Coverage includes public profile fields, custom links, and featured products.
  • Fresh public API reads only. The ordinary logged-out frontend credential is discovered from Pillar’s current public client and retained only in memory for up to 15 minutes or its expiry. No account login, cookie jar, destination visits, result caching, billing, or customer key management. No production domain is assumed.
  • Retrieval fails explicitly rather than returning a reduced record when the public client changes.
Error codes
13
HTTPfailure.codeMeaning
400invalid_requestMissing/invalid profile URL, duplicate URL, or unsupported parameters.
401unauthorizedMissing or invalid service API key.
403restricted_pageThe profile requires access or consent.
404not_foundThe public profile is missing or inactive.
429upstream_rate_limitedPillar rate limited retrieval; no automatic retry.
502upstream_challengedPillar rejected or challenged the public request.
502unsupported_pageMalformed or unsupported JSON, missing identity, or mismatched profile.
502response_too_large payload_too_complexThe public JSON exceeds byte, depth, or node limits.
502unsafe_redirect request_limit upstream_errorThe bounded retrieval could not complete.
503busyAll worker slots are in use.
504timeoutRetrieval exceeded the total deadline.
502public_client_unavailable account_metadata_unavailableThe public client or required account metadata could not be verified.
200partialUsable data with warnings about missing, invalid, gated, or truncated records.