Skip to main content
sdmx-dl
GitHub Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Discover flows

See which datasets a source publishes, and find one by topic within that source when you don’t know its exact flow ID.

listFlows(...) always accepts an optional query/maxResults; omit them to simply list every flow.

//JAVA 25+
//DEPS com.github.nbbrd.sdmx-dl:sdmx-dl-standalone:3.2.0
import sdmxdl.*;
import sdmxdl.web.SdmxWebManager;

void main() throws Exception {
    Provider ecb = SdmxWebManager.ofServiceLoader().usingName("ECB");

    // List every flow
    ecb.listFlows(FlowsRequest.DEFAULT)
            .forEach(flow -> IO.println(flow.getRef()));

    // Search by topic
    ecb.listFlows(FlowsRequest.builder()
                    .query("exchange rates")
                    .maxResults(5)
                    .build())
            .forEach(flow -> IO.println(flow.getRef()));
}
sdmx-dl list flows ECB
sdmx-dl list flows ECB -q "exchange rates" -m 5

REST

curl "localhost:4559/sdmx-dl/v2/ECB/flows"

curl -G localhost:4559/sdmx-dl/v2/ECB/flows \
  --data-urlencode "query=exchange rates" \
  --data-urlencode "maxResults=5"

gRPC

grpcurl -d '{"source":"ECB"}' -plaintext localhost:4557 sdmxdl.grpc.v2.SdmxWebManager.ListFlows

grpcurl -d '{"source":"ECB","query":"exchange rates","maxResults":5}' -plaintext localhost:4557 sdmxdl.grpc.v2.SdmxWebManager.ListFlows

Notes

  • Discovery and search are the same call: pass a query/maxResults to search within a source, or omit them to list every flow it publishes.
  • Ranking is hybrid: lexical (BM25) fused with typo-tolerant trigram matching, so partial or approximate queries still surface the right flow.
  • Search is scoped to a single source; use Discover sources first if you don’t know which source to search within.
  • Some sources expose several databases; pass a database to scope the listing (defaults to the source’s single/default database otherwise) — see Discover databases.