Monocrawl Pillar API
The Pillar API from Monocrawl — 1 operation(s) for pillar.
The Pillar API from Monocrawl — 1 operation(s) for pillar.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/monocrawl:monocrawl-pillar-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Monocrawl Pillar API
version: 0.1.0
description: One key, one envelope, one credit meter across social, search, commerce and web data.
contact:
name: Monocrawl support
url: https://www.monocrawl.com/contact
termsOfService: https://www.monocrawl.com/legal/terms-and-conditions
servers:
- url: https://www.monocrawl.com
security:
- ApiKeyHeader: []
tags:
- name: Pillar
paths:
/v1/pillar/page:
get:
operationId: pillar_page
tags:
- Pillar
summary: Pillar page
description: Creator identity and every outbound link on a public Pillar page. Costs 1 credit per successful live response.
parameters:
- name: url
in: query
required: true
schema:
type: string
example: https://pillar.io/simonfreund
description: Full Pillar URL or the bare handle
- name: dry_run
in: query
required: false
schema:
type: string
enum:
- '1'
- '0'
- 'true'
- 'false'
example: '1'
description: 'Read a zero-credit estimate without fetching sources, running AI, or reserving credits. Cache status is a snapshot, not a guarantee at execution. Accepted values: 1, 0, true, false. Case, spaces, hyphens and underscores are interchangeable.'
- name: X-Max-Credits
in: header
required: false
schema:
type: integer
minimum: 0
maximum: 9007199254740991
example: 5
description: Optional credit reservation ceiling for this individual request. Send a non-negative integer in decimal digits. Live execution checks the required reservation after resolving free cache hits or buffered continuation, before charging or calling a supplier. A higher reservation returns HTTP 422 INVALID_PARAMETERS with reason max_credits_exceeded and charges nothing. Invalid header values also return 422. Zero permits only a zero-credit reservation; omitting the header uses normal pricing. dry_run remains a free preview. This does not cap later requests, batches or scheduled runs.
security:
- ApiKeyHeader: []
- BearerKey: []
responses:
'200':
description: 'The common success envelope; `data` is endpoint-specific. Many lists use items/count/cursor; bundles use named collections and their documented continuation metadata. HTTP 200 can contain a partial bundle: inspect complete, partial and legs where supplied.'
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Success'
- type: object
properties:
data:
$schema: https://json-schema.org/draft/2020-12/schema
$id: https://www.monocrawl.com/schemas/pillar/page.json
title: pillar/page data fields
description: Optional data supplied by this operation. Null means unknown.
type: object
properties:
_warnings:
description: Optional warnings supplied by this operation. Null means unknown.
type:
- array
- 'null'
items:
description: Optional record supplied by this operation. Null means unknown.
type:
- string
- 'null'
avatar:
description: Optional avatar supplied by this operation. Null means unknown.
type:
- string
- 'null'
bio:
description: Optional bio supplied by this operation. Null means unknown.
type:
- string
- 'null'
extraction:
description: Optional extraction supplied by this operation. Null means unknown.
type:
- string
- 'null'
handle:
description: Public Pillar page handle when supplied.
type:
- string
- 'null'
link_count:
description: Optional link count supplied by this operation. Null means unknown.
type:
- number
- 'null'
links:
description: Visible outbound link records from the public page.
type:
- array
- 'null'
items:
type:
- object
- 'null'
properties:
title:
description: Visible link title when supplied.
type:
- string
- 'null'
url:
description: Outbound destination URL.
type:
- string
- 'null'
additionalProperties: true
name:
description: Optional name supplied by this operation. Null means unknown.
type:
- string
- 'null'
platform:
description: Optional platform supplied by this operation. Null means unknown.
type:
- string
- 'null'
social_links:
description: Returned public social destinations.
type:
- array
- 'null'
items:
type:
- object
- 'null'
properties:
url:
description: Public social destination URL.
type:
- string
- 'null'
additionalProperties: true
status:
description: Optional status supplied by this operation. Null means unknown.
type:
- number
- 'null'
links_complete:
description: Whether visible outbound link extraction completed; embedded modules are not link records.
type:
- boolean
- 'null'
url:
description: Original source URL when supplied.
type:
- string
- 'null'
additionalProperties: true
allOf:
- anyOf:
- required:
- avatar
properties:
avatar:
description: Optional avatar supplied by this operation. Null means unknown.
type:
- string
minLength: 1
- required:
- bio
properties:
bio:
description: Optional bio supplied by this operation. Null means unknown.
type:
- string
minLength: 1
- required:
- extraction
properties:
extraction:
description: Optional extraction supplied by this operation. Null means unknown.
type:
- string
minLength: 1
- required:
- handle
properties:
handle:
description: Public Pillar page handle when supplied.
type:
- string
minLength: 1
- required:
- link_count
properties:
link_count:
description: Optional link count supplied by this operation. Null means unknown.
type:
- number
- required:
- links
properties:
links:
description: Visible outbound link records from the public page.
type:
- array
items:
type:
- object
- 'null'
properties:
title:
description: Visible link title when supplied.
type:
- string
- 'null'
url:
description: Outbound destination URL.
type:
- string
- 'null'
additionalProperties: true
- required:
- name
properties:
name:
description: Optional name supplied by this operation. Null means unknown.
type:
- string
minLength: 1
- required:
- social_links
properties:
social_links:
description: Returned public social destinations.
type:
- array
items:
type:
- object
- 'null'
properties:
url:
description: Public social destination URL.
type:
- string
- 'null'
additionalProperties: true
- required:
- links_complete
properties:
links_complete:
description: Whether visible outbound link extraction completed; embedded modules are not link records.
type:
- boolean
- required:
- url
properties:
url:
description: Original source URL when supplied.
type:
- string
minLength: 1
x-contract-version: '2026-09-22'
x-validation-scope: Required success payload structure; optional fields and source completeness remain separate.
examples:
- _warnings:
- example
avatar: https://example.com/example
bio: example
extraction: example
link_count: 0
links: []
name: example
platform: example
social_links: []
status: 0
url: https://example.com/example
default:
description: The error envelope — the same shape for every non-2xx status.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-credits: 1
x-production-available: true
x-capacity:
status: not_assessed
message: Capacity is workload-dependent; configured routes do not establish sustained throughput or an availability guarantee.
x-availability-scope: Structural check of the effective registered chain, production permission, adapter, configured cost and quality floor without request parameters. True is not a live-health, credential, quota, subscription-entitlement, complete-data or deployment-exposure guarantee. False means no structurally eligible candidate; null means metadata could not establish availability. Composite child capability still depends on its component routes.
x-live-proven: true
components:
schemas:
Error:
type: object
required:
- success
- error
- credits_used
- request_id
properties:
success:
const: false
error:
type: object
required:
- type
- message
- status
properties:
type:
type: string
enum:
- UNAUTHORIZED
- KEY_REVOKED
- KEY_LIMIT_EXCEEDED
- RATE_LIMITED
- INSUFFICIENT_CREDITS
- RESOURCE_NOT_FOUND
- INVALID_PARAMETERS
- TARGET_ACCESS_DENIED
- UPSTREAM_ERROR
- UPSTREAM_TIMEOUT
- FREE_CAPACITY_UNAVAILABLE
- CAPACITY_UNAVAILABLE
- ENDPOINT_NOT_FOUND
- ENDPOINT_NOT_AVAILABLE
- FAIR_USE_EXCEEDED
- INTERNAL_ERROR
message:
type: string
status:
type: integer
doc_url:
type: string
description: Deep link to the exact section of the errors guide for this type.
details:
type: object
credits_used:
type:
- integer
- 'null'
description: Confirmed net charge; null when billing is pending reconciliation. Inspect error.details.billing_status and retain request_id.
credits_remaining:
type: integer
request_id:
type: string
Success:
type: object
required:
- success
- platform
- endpoint
- data
- credits_used
- credits_remaining
- request_id
properties:
_completeness:
type: object
description: Reported response completeness, not a guarantee of complete platform history. Missing source assertions remain unknown.
properties:
state:
type: string
enum:
- complete
- partial
- unknown
scope:
type: string
inspection_limited:
type: boolean
success:
const: true
platform:
type: string
endpoint:
type: string
description: The resolved path, e.g. `/v1/github/profile`.
data:
description: Amazon responses include marketplace.country and marketplace.domain (resolved request marketplace, UK by default). X profiles preserve location, bio_link and cover_url when supplied. TikTok profiles preserve commerce_user, seller, region, location and business_category when supplied; region identifies the account region rather than personal residence. TikTok comments use platform_default selection, which can change between fetches; keep the same video and options when following cursors. Amazon review variant is readable text. Facebook profiles preserve cover_url, following and created_at when supplied; likes_count and followers are distinct and follower totals may be rounded. Endpoint-specific normalized payload, not one universal post/profile schema. Many lists use items/count/cursor; a null cursor means no usable next cursor was supplied, not proof that all history was retrieved. Check has_more and warnings where present. Social full-profile bundles use posts_cursor and posts_pagination.next_params; retain all returned next parameters. YouTube channel bundles instead use recent_videos, cursor and recent_videos_pagination. Inspect complete/partial/legs where supplied for bounded or failed components. Optional model-derived fields are labelled, not source facts.
credits_used:
type: integer
credits_remaining:
type: integer
request_id:
type: string
cached:
type: boolean
stale:
type: boolean
description: True only for an explicitly labelled, zero-credit reference snapshot served after a temporary upstream failure.
age_seconds:
type: integer
minimum: 0
description: Age of a stale snapshot since its original retrieval; not reset by outage recovery.
fetched_at:
type: string
format: date-time
description: Original retrieval time of a stale snapshot, in UTC.
synthetic:
type: boolean
description: Present and true only on the explicitly requested /sandbox surface. Synthetic responses are representative and charged 0 credits; production /v1 never returns them.
degraded:
type: boolean
description: Reserved for sandbox compatibility. Production /v1 reports upstream failure as an error and never serves a representative fallback.
securitySchemes:
ApiKeyHeader:
type: apiKey
in: header
name: x-api-key
description: Your API key (`mn_…`), from the console. The recommended style.
BearerKey:
type: http
scheme: bearer
description: The same key as a Bearer token, for clients that only expose an Authorization field. Keys are never accepted in the query string — URLs leak into logs and referrers.