You need an API key to interact with the Prebuilt API. You can find the API key in the settings page. If this is your first look at the Prebuilt API, we recommend beginning with the Getting Started guide to learn how to create an integration.
What are ZettaBlock's Prebuilt APIs?
ZettaBlock introduces a suite of prebuilt APIs, designed to simplify data access for developers in the Web3 space.
Currently there are over 20 GraphQL and more than 10 REST APIs, tailored for streamlined integration across common use cases like wallets, DeFi platforms, and NFTs.
These APIs serve as the foundational building blocks, enabling rapid, efficient development and deployment of data-powered decentralized applications.
Conventions
The base URL to send all API requests is https://pro-api.zettablock.com
. HTTPS is required for all API requests.
The Notion API follows RESTful conventions when possible, with most operations performed via GET
and POST
requests on page and database resources. Response bodies are encoded as JSON.
JSON CONVENTIONS
- Top-level resources have a
"data"
property. This property wraps up the query results. - Top-level resources have a
"status"
property to include the status-related metadata. - Property names are in
snake_case
(notcamelCase
orkebab-case
). - Temporal values (dates and datetimes) are encoded in ISO 8601 strings. Datetimes will include the time value (
2020-08-12T02:12:33.231Z
) while dates will include only the date (2020-08-12
) - The Prebuilt API does not support empty strings. To unset a string value for properties like a
URL
Property value object, for example, use an explicitnull
instead of""
.
Code samples
Sample requests and responses are shown for each endpoint. Requests are shown using the ZettaBlock JavaScript SDK, and cURL. These samples make it easy to copy, paste, and modify as you build your integration.
Pagination
Endpoints that return lists of objects support cursor-based pagination requests. By default, Prebuilt API returns 10 items per API call. If the number of items in a response from a support endpoint exceeds the default, then an integration can use pagination to request a specific set of the results and/or to limit the number of returned items.
RESPONSES
Field | Type | Description |
---|---|---|
page_number | number | The starting page number where results are returned. It starts from 0. |
results_per_page | number | The number of results per page. Default to 20. |
result | array of objects | The list, or partial list, of endpoint-specific results. |
Request Limits
To ensure a consistent developer experience for all API users, the Prebuilt API is rate-limited, and basic size limits apply to request parameters.
Rate Limits
Rate-limited requests will return a "rate_limited
" error code (HTTP response status 429). The rate limit for incoming requests per integration is an average of three requests per second. Some bursts beyond the average rate are allowed.
Rate limits may change
In the future, we plan to adjust rate limits to balance for demand and reliability. We may also introduce distinct rate limits for workspaces in different pricing plans.
Status Codes
HTTP response codes are used to indicate general classes of success and error.
Success Code
HTTP Status Quote | Description |
---|---|
200 | Successfully processed request. |
Error Codes
Error responses contain more detail about the error in the response body, in the "code
" and "message
" properties.
HTTP Status Quote | code | message |
---|---|---|
400 | bad_request | This request is not supported. |
404 | not_found | The resource is not found |
401 | unauthorized | The bearer token is not valid. |
429 | too_many_requests | The rate limit is hit |
500 | internal_error | The server-side error encountered |