Discover databases
Find a database namespace within a multi-database source, when you don’t know its exact name.
listDatabases(...) always accepts an optional query/maxResults; omit them to simply list every database.
//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 database
ecb.listDatabases(DatabasesRequest.DEFAULT)
.forEach(database -> IO.println(database.getRef()));
// Search by name
ecb.listDatabases(DatabasesRequest.builder()
.query("central")
.maxResults(5)
.build())
.forEach(database -> IO.println(database.getRef()));
}
sdmx-dl list databases ECB
sdmx-dl list databases ECB -q "central" -m 5
curl "localhost:4559/sdmx-dl/v2/ECB/databases"
curl -G localhost:4559/sdmx-dl/v2/ECB/databases \
--data-urlencode "query=central" \
--data-urlencode "maxResults=5"
grpcurl -d '{"source":"ECB"}' -plaintext localhost:4557 sdmxdl.grpc.v2.SdmxWebManager.ListDatabases
grpcurl -d '{"source":"ECB","query":"central","maxResults":5}' -plaintext localhost:4557 sdmxdl.grpc.v2.SdmxWebManager.ListDatabases
- Discovery and search are the same call: pass a
query/maxResultsto search within a source, or omit them to list every database it exposes. - Most sources expose a single default database, so this feature is only useful for multi-database providers.
- Search is scoped to one source at a time; use Discover sources first if you don’t know which source to search within.