Skip to content

Your first request

Nothing here needs a key. Paste it.

Terminal window
curl -s https://api.debyko.com/v2/venues

That is the coverage: every venue DQL can be asked about, how many listings each has, and how many of those the platform actually collects. The difference between the two is coverage stated rather than implied.

/v2/dql/parse checks a query without running it. It touches no market data, needs no key, and answers with what the platform understood, what the query will read and what it will cost — which is what an editor should call on every keystroke.

Terminal window
curl -s https://api.debyko.com/v2/dql/parse \
-H 'content-type: application/json' \
-d '{"query":"any(venues where funding > 0)"}'
{
"dql": "1",
"query": {
"string": "any(venues where funding > 0)",
"json": {
"dql": "1",
"condition": {
"type": "any",
"where": {
"type": "cmp",
"op": ">",
"left": {
"type": "field",
"name": "funding"
},
"right": {
"type": "number",
"value": 0
}
}
}
}
},
"atoms": {
"instrument": [],
"venue": [
"funding"
]
},
"timeframes": [],
"complexity": {
"nodes": 4,
"bars": 0,
"cost": 4
}
}

The query came back in canonical form, with the venue-scoped fields it reads and its cost against the limits. Nothing was measured and nothing was charged.

Running a query needs a key, because that is where the platform does work on your behalf.

Terminal window
curl -s https://api.debyko.com/v2/screen \
-H "authorization: Bearer $DEBYKO_KEY" \
-H 'content-type: application/json' \
-d '{"query":"any(venues where funding > 0)","limit":2}'

Never put a key in a URL. Query strings reach logs and browser history, and a key that has been in one should be replaced. The guide shows what the answer looks like, field for field.