Dune Analytics Pipelines API
The Pipelines API from Dune Analytics — 2 operation(s) for pipelines.
The Pipelines API from Dune Analytics — 2 operation(s) for pipelines.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/dune-analytics:dune-analytics-pipelines-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
contact: {}
description: Dune API
title: Dune Pipelines API
version: '1.0'
servers:
- url: https://api.dune.com/api
tags:
- name: Pipelines
paths:
/v1/pipelines/execute:
post:
description: Executes a specified pipeline. A pipeline allows you to chain multiple queries and materialized view refreshes together and execute them as a single unit.
parameters:
- description: API Key for the service
in: header
name: X-Dune-Api-Key
required: true
schema:
type: string
- description: Alternative to using the X-Dune-Api-Key header
in: query
name: api_key
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/models.ExecutePipelineRequest'
description: Pipeline execution request
required: true
x-originalParamName: body
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/models.ExecutePipelineResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/models.Error400'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/models.Error401'
description: Unauthorized
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/models.Error404'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/models.Error500'
description: Internal Server Error
summary: Execute a pipeline
x-required-scope: Read
tags:
- Pipelines
operationId: postV1PipelinesExecute
x-operation-id-source: derived
/v1/pipelines/executions/{pipeline_execution_id}/status:
get:
description: Retrieves the status of a pipeline execution, including the status of each node in the pipeline.
parameters:
- description: API Key for the service
in: header
name: X-Dune-Api-Key
required: true
schema:
type: string
- description: Alternative to using the X-Dune-Api-Key header
in: query
name: api_key
schema:
type: string
- description: Unique identifier of the pipeline execution
in: path
name: pipeline_execution_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/models.GetPipelineExecutionStatusResponse'
description: OK
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/models.Error400'
description: Bad Request
'401':
content:
application/json:
schema:
$ref: '#/components/schemas/models.Error401'
description: Unauthorized
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/models.Error404'
description: Not Found
'500':
content:
application/json:
schema:
$ref: '#/components/schemas/models.Error500'
description: Internal Server Error
summary: Get pipeline execution status
x-required-scope: Read
tags:
- Pipelines
operationId: getV1PipelinesExecutionsByPipelineExecutionIdStatus
x-operation-id-source: derived
components:
schemas:
models.GetPipelineExecutionStatusResponse:
properties:
error:
description: Error message if the pipeline execution failed
type: string
node_executions:
description: List of node executions in the pipeline.
items:
$ref: '#/components/schemas/models.PipelineNodeExecution'
type: array
status:
description: Overall status of the pipeline execution
type: string
type: object
models.PipelineQueryExecutionStatus:
properties:
error:
description: Error message, if the execution failed
type: string
execution_id:
description: Unique identifier of the execution, if available
type: string
query_id:
description: Unique identifier of the query
type: integer
status:
description: Status of the query execution
type: string
type: object
models.Error400:
properties:
error:
example: Bad Request
type: string
type: object
models.PipelineNode:
properties:
dependencies:
description: List of node IDs that this node depends on. Nodes are executed in dependency order.
items:
type: integer
type: array
id:
description: Unique identifier of the node in the pipeline
example: 1
type: integer
materialized_view_refresh:
allOf:
- $ref: '#/components/schemas/models.PipelineMaterializedViewRefreshNode'
description: Materialized view refresh node configuration. Required if this node refreshes a materialized view.
query_execution:
allOf:
- $ref: '#/components/schemas/models.PipelineQueryExecutionNode'
description: Query execution node configuration. Required if this node executes a query.
type: object
models.PipelineMaterializedViewRefreshNode:
properties:
name:
description: Name of the materialized view to refresh
example: mv_1
type: string
performance:
description: The performance engine tier the refresh will be run on. Can be `small`, `medium`, or `large`.
enum:
- small
- medium
- large
example: medium
type: string
type: object
models.Error404:
properties:
error:
example: Object not found
type: string
type: object
models.Pipeline:
properties:
nodes:
description: List of nodes in the pipeline. Nodes are executed in dependency order.
items:
$ref: '#/components/schemas/models.PipelineNode'
type: array
type: object
models.ExecutePipelineRequest:
properties:
pipeline:
allOf:
- $ref: '#/components/schemas/models.Pipeline'
description: The pipeline definition containing nodes to execute
type: object
models.PipelineNodeExecution:
properties:
id:
description: Unique identifier of the node in the pipeline
type: integer
materialized_view_refresh_status:
allOf:
- $ref: '#/components/schemas/models.PipelineMaterializedViewRefreshStatus'
description: Status of the materialized view refresh, if this node is a materialized view refresh node
query_execution_status:
allOf:
- $ref: '#/components/schemas/models.PipelineQueryExecutionStatus'
description: Status of the query execution, if this node is a query execution node
type: object
models.PipelineQueryExecutionNode:
properties:
performance:
description: The performance engine tier the execution will be run on. Can be `small`, `medium`, or `large`.
enum:
- small
- medium
- large
example: medium
type: string
query_id:
description: Unique identifier of the query to execute
example: 1234
type: integer
query_parameters:
description: SQL Query parameters in json key-value pairs. Each parameter is to be provided in key-value pairs. This enables you to execute a parameterized query with the provided values for your parameter keys.
type: object
type: object
models.PipelineMaterializedViewRefreshStatus:
properties:
error:
description: Error message if the refresh failed
type: string
execution_id:
description: Unique identifier of the execution, if available
type: string
name:
description: Name of the materialized view
type: string
status:
description: Status of the materialized view refresh
type: string
type: object
models.ExecutePipelineResponse:
properties:
pipeline_execution_id:
description: 'Unique identifier for the pipeline execution. Use this ID to check the status
and retrieve results of the pipeline execution.'
example: 01HKZJ2683PHF9Q9PHHQ8FW4Q1
type: string
type: object
models.Error401:
properties:
error:
example: Invalid API Key
type: string
type: object
models.Error500:
properties:
error:
example: Internal error
type: string
type: object
x-service-info:
categories:
- data
- compute
docs:
apiReference: https://docs.dune.com/api-reference/overview/introduction
homepage: https://docs.dune.com
x-provenance:
method: harvested
publisher: Dune Analytics
source: https://api.dune.com/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)