@duneanalytics/client-sdk
v0.2.4
Published
Node Client for Dune Analytics' officially supported API.
Downloads
5,635
Keywords
Readme
Dune Client TS
This NPM package implements all the basic routes defined in the Dune API Docs. It also introduces a convenience method refresh
which combines executeQuery
, getExecutionStatus
and gettExecutionResults
in a way that makes it nearly trivial to fetch query execution results.
Install the package
yarn add @duneanalytics/client-sdk
import { QueryParameter, DuneClient, RunQueryArgs } from "@duneanalytics/client-sdk";
const { DUNE_API_KEY } = process.env;
const client = new DuneClient(DUNE_API_KEY ?? "");
const queryId = 1215383;
const opts: RunQueryArgs = {
queryId,
query_parameters: [
QueryParameter.text("TextField", "Plain Text"),
QueryParameter.number("NumberField", 3.1415926535),
QueryParameter.date("DateField", "2022-05-04 00:00:00"),
QueryParameter.enum("ListField", "Option 1"),
],
};
client
.runQuery(opts)
.then((executionResult) => console.log(executionResult.result?.rows));
// should look like
// [
// {
// date_field: "2022-05-04 00:00:00.000",
// list_field: "Option 1",
// number_field: "3.1415926535",
// text_field: "Plain Text",
// },
// ]
Custom API
const { DUNE_API_KEY } = process.env;
const client = new DuneClient(DUNE_API_KEY ?? "");
const results = await client.custom.getResults({
username: "your_username",
slug: "endpoint-slug"
// optional arguments: see `GetResultParams`
limit: 100,
});
Note also that the client has methods executeQuery
, getExecutionStatus
, getExecutionResult
and cancelExecution
Check out this Demo Project!