The Dune API relies on API keys for authentication. Your API key grants access and determines billing details for private queries, so safeguard it diligently!

Generate an API key

In order to generate a new API key, go to settings -> API -> create new API key.

  • Dune has two types of account: user account and team account. A team can have many users. A user can join many teams.
  • Each user or team account has its own context. Queries created under a team account can only be managed within the team account context.
  • An API key belongs to a specific context, and is either associated with a user account or a team account.

Never share your secret API keys in public repositories, client-side code, or other accessible areas.

Context of a key

As mentioned above, a team API key only has access to team account resources and not user account resources. This can be especially relevant when you use Query endpoints.

Authentication & making API calls

You can authenticate either with the API header or with query parameter to start making API calls. We illustrate below with execute query endpoint as an example.

To authenticate via the API header, include an x-dune-api-key property in your request header.

curl -X POST -H x-dune-api-key:{{api_key}} "{{query_id}}/execute"