🚧

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 (not camelCase or kebab-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 explicit null 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

FieldTypeDescription
page_numbernumberThe starting page number where results are returned. It starts from 0.
results_per_pagenumberThe number of results per page. Default to 20.
resultarray of objectsThe 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 QuoteDescription
200Successfully processed request.

Error Codes

Error responses contain more detail about the error in the response body, in the "code" and "message" properties.

HTTP Status Quotecodemessage
400bad_requestThis request is not supported.
404not_foundThe resource is not found
401unauthorizedThe bearer token is not valid.
429too_many_requestsThe rate limit is hit
500internal_errorThe server-side error encountered