curl -X GET "https://api.dune.com/api/v1/uploads?limit=10&offset=0" \
-H "X-DUNE-API-KEY: YOUR_API_KEY"
import requests
url = "https://api.dune.com/api/v1/uploads"
params = {
"limit": 10,
"offset": 0
}
headers = {"X-DUNE-API-KEY": "YOUR_API_KEY"}
response = requests.get(url, params=params, headers=headers)
print(response.json())
const url = 'https://api.dune.com/api/v1/uploads';
const params = new URLSearchParams({
limit: 10,
offset: 0
});
const response = await fetch(`${url}?${params}`, {
headers: {
'X-DUNE-API-KEY': 'YOUR_API_KEY'
}
});
const data = await response.json();
console.log(data);
{
"tables": [
{
"full_name": "dune.dune.ai_contract_tags",
"is_private": true,
"table_size_bytes": "1152622",
"created_at": "2024-05-15T20:34:58.585Z",
"updated_at": "2024-05-16T21:19:02.459Z",
"purged_at": null,
"owner": {
"handle": "dune",
"type": "team"
},
"columns": [
{
"name": "blockchain",
"type": "string",
"nullable": false,
"metadata": {
"description": "Blockchain associated with the record",
"filtering_column": true
}
},
{
"name": "contract_address",
"type": "string",
"nullable": false,
"metadata": {
"description": "Address of the smart contract"
}
}
]
}
]
}
Data Uploads
List Uploaded Tables
Get a paginated list of uploaded tables
GET
/
v1
/
uploads
curl -X GET "https://api.dune.com/api/v1/uploads?limit=10&offset=0" \
-H "X-DUNE-API-KEY: YOUR_API_KEY"
import requests
url = "https://api.dune.com/api/v1/uploads"
params = {
"limit": 10,
"offset": 0
}
headers = {"X-DUNE-API-KEY": "YOUR_API_KEY"}
response = requests.get(url, params=params, headers=headers)
print(response.json())
const url = 'https://api.dune.com/api/v1/uploads';
const params = new URLSearchParams({
limit: 10,
offset: 0
});
const response = await fetch(`${url}?${params}`, {
headers: {
'X-DUNE-API-KEY': 'YOUR_API_KEY'
}
});
const data = await response.json();
console.log(data);
{
"tables": [
{
"full_name": "dune.dune.ai_contract_tags",
"is_private": true,
"table_size_bytes": "1152622",
"created_at": "2024-05-15T20:34:58.585Z",
"updated_at": "2024-05-16T21:19:02.459Z",
"purged_at": null,
"owner": {
"handle": "dune",
"type": "team"
},
"columns": [
{
"name": "blockchain",
"type": "string",
"nullable": false,
"metadata": {
"description": "Blockchain associated with the record",
"filtering_column": true
}
},
{
"name": "contract_address",
"type": "string",
"nullable": false,
"metadata": {
"description": "Address of the smart contract"
}
}
]
}
]
}
Minimum required API key scope:
ReadDescription
Retrieves a paginated list of tables uploaded by the user or their team.Migrating from the old API? This endpoint replaces the deprecated
GET /v1/tables. See the Migration Guide for details.For broader dataset discovery including Dune community datasets, use the /v1/datasets endpoint.Pagination
Use thelimit and offset parameters to paginate through large result sets:
- To get the first 20 tables:
?limit=20&offset=0 - To get the next 20 tables:
?limit=20&offset=20 - Continue incrementing
offsetbylimitto get subsequent pages
Pricing
This is a metadata endpoint and does not consume credits.Related Endpoints
- Create Table - Create a new table
- Upload Data - Upload data to a table
- Delete Table - Delete a table
curl -X GET "https://api.dune.com/api/v1/uploads?limit=10&offset=0" \
-H "X-DUNE-API-KEY: YOUR_API_KEY"
import requests
url = "https://api.dune.com/api/v1/uploads"
params = {
"limit": 10,
"offset": 0
}
headers = {"X-DUNE-API-KEY": "YOUR_API_KEY"}
response = requests.get(url, params=params, headers=headers)
print(response.json())
const url = 'https://api.dune.com/api/v1/uploads';
const params = new URLSearchParams({
limit: 10,
offset: 0
});
const response = await fetch(`${url}?${params}`, {
headers: {
'X-DUNE-API-KEY': 'YOUR_API_KEY'
}
});
const data = await response.json();
console.log(data);
{
"tables": [
{
"full_name": "dune.dune.ai_contract_tags",
"is_private": true,
"table_size_bytes": "1152622",
"created_at": "2024-05-15T20:34:58.585Z",
"updated_at": "2024-05-16T21:19:02.459Z",
"purged_at": null,
"owner": {
"handle": "dune",
"type": "team"
},
"columns": [
{
"name": "blockchain",
"type": "string",
"nullable": false,
"metadata": {
"description": "Blockchain associated with the record",
"filtering_column": true
}
},
{
"name": "contract_address",
"type": "string",
"nullable": false,
"metadata": {
"description": "Address of the smart contract"
}
}
]
}
]
}
Headers
API Key for the service
Query Parameters
API Key, alternative to using the HTTP header X-Dune-Api-Key
Number of tables to return on a page. Default: 50, max: 10000
Offset used for pagination. Negative values are treated as 0
Was this page helpful?