What are the differences between the Dune API and the Dune web app?

There are no major performance differences within a specific performance tier when used through the Dune API or Dune web app.

The Dune API gives you programmatic access to the capabilities and data sets that can already be accessed from the Dune web app. The same queries and results exist in the web app, even if created/executed from the API (and vice versa).

How many Requests Per Minute can I make?

The API rate limit currently varies by subscription plan. It’s currently 40 per minute on free, 200 per minute on plus, and 1000 per minute on premium.

Does Dune support GraphQL on endpoints?

No, we currently don’t support GraphQL queries.

How do I paginate on my query results?

You currently cannot paginate through the API, we are working on enabling this soon. For now, try and use LIMIT and OFFSET in your query with parameters to paginate manually.

Are there specified SLAs?

SLAs are only available on Enterprise pricing plans.

How do I find a query id?

When navigating to a query, it’s the first number after “/queries/” in the URL. For example in https://dune.com/queries/241/388, “241” is the query id.

Does the API support Query Parameters?

Yes, check out this page.

What is the execution timeout limit and can I request a longer limit?

The query execution timeout limit matches the Dune web app - 30 minutes. You can’t request a longer limit.

What is the difference between the states “Executing” and “Pending”?

Pending means, the execution is waiting for an available execution connection slot.

Executing means the query is currently executing against the database.

Can I ingest data by getting a direct connection to the database instead?

Not currently.

Are query results data saved for faster retrieval?

Yes!

How long are the results data from an execution stored for?

The results storage period can be found on the API response on the “expires_at” field in the execution status and results body.

How do I import Dune data into a google sheet?

Use “Import Data” to import your CSV results into a google sheet using “api_key” as a param. (We advise against doing this any public document where your API key can be viewed and compromised.) =importData("https://api.dune.com/api/v1/query/{{query_id}}/results/csv?api_key={{api_key}}"). Then, schedule a query execution to have your results regularly updated on a set schedule.