Navigation and service

SRU Overview

Short URL:

SRU (Search / Retrieve via URL) is a standardised web service protocol used for searching databases in the Internet. The results of the search are issued in a defined XML format.
The SRU protocol permits targeted searches using search indices and keys, displaying any hits in its own environment. Searches are formulated in the CQL (Contextual Query Language) retrieval language.
The SRU standard was published by the Library of Congress and is a further development of the Z39.50 protocol.
Following login and authorisation, the German National Library allows its data to be searched using the HTTP or HTTPS protokoll and the SRU-protocol.

Frequently Asked Questions (FAQs) / Troubleshooting

SRU interface standards

SRU protocol: Version 1.1
Retrieval language: CQL Context Set Version 1.2, Conformance-Level 2

SRU functions

SRU incorporates the basic functions:

  • Explain: Self-description in XML standard format, including information on

    • Database
    • Indices
    • Data formats
  • Search / Retrieve: Search query

    • Retrieval language: CQL (Contextual Query Language)
    • Boolean operators (and, or, not) are supported
      Search query structure: ... index%3Dsearch term%20or%20search term...

German National Library catalogues accessible via SRU

German National Library catalogues accessible via SRU
Catalogue selectionDescription in XML standard format
Catalogue of German National Library (DNB) except Integrated Authority File
Catalogue of Deutsches Musikarchiv (DMA)
Authorities: Catalogue of Integrated Authority File (GND)


The following formats are offered in UTF-8 decomposed:

Formate und Beipiel
MARC 21-XMLXML variant of MARC 21
DNB Casual (oai_dc)Selection of Dublin Core elements
only for bibliographic data
RDFxmlLinked Data Service

Access Requirements

For free access to the SRU interface send an e-mail to the including your contact details, the required catalogue (bibliographic and/or authority data), the data format and, if applicable, details of the fixed IP address or IP address range. Alternatively it is also possible to obtain access using an individual access code (access token). You will receive a message from us as soon as access is activated for you.

Terms of use and purchase

From 1 July 2015 all bibliographic data of the German National Library and the authority data of the Integrated Authority File (GND) will be provided free of charge and can be freely re-used under "Creative Commons Zero" (CC0 1.0) terms.
The metadata and online interfaces are provided with no guarantee of their being continuous, punctual, error-free or complete, or of their not infringing the rights of third parties (e.g. personal rights and copyright).


Monday - Friday from 9:00 to 15:00.
Nicole von der HudeTel.: +49-69-1525-1632
Heike EichenauerTel.: +49-69-1525-1074

Practical examples

Syntax SRU request

Syntax SRU request with example and explanation
Query to DNB's SRU server
/dnbIdentification of catalogue (e.g. DNB, authorities ...)
?version=1.1SRU version, standard
&operation=searchRetrieveCommand to server
&query=Formulate request
WOE%3DGoetheWOE is the name of the index, %3D is the URL encoding for =, search term here: Goethe
&recordSchema=MARC21-xmlDesired format for SRU response

Qualified by entity in "authorities" catalogue

The following qualifications are possible:

Qualification by entity
EntitiesBibliographic genre
Geographical entityTg*
Corporate bodyTb*
Subject TermTs*

The Asterisk *is a placeholder fo any number of characters and must be placed directly before the value.

Examples of SRU requests:

Tp* (Person):*&recordSchema=MARC21-xml

Ts* (subject term):*&recordSchema=MARC21-xml

Subject headings can be obtained by qualifiying the search with „COD=s“:

URL encoding

In URL Encoding umlauts are coded using UTF-8 and with a prefixed % sign (percent encoding).
Example: Lower case ö in UTF-8 = C3 B6. With prefixed % sign = %C3%B6.

URL encoding
" (quotation marks)=%22
/ (slash)=%2F
\ (backslash)=%5C
List of other characters

In order to use "=" in a query (... query=dc.title=musik ...) the guidelines recommend replacing the second "=" by "%3D" (... query=dc.title%3Dmusik ...) and replacing special characters (e.g. diakritical marks with UTF-8 hexadecimal) in the search key (Standard).
Spaces e.g. before and after Boolean operators should be replaced by %20 (... KRAFTWERK%20not%20ROBOTER ...), depending on client.

Number of data records returned per request

Standard (default): 10 data records per response
Maximum: 100 data records per reply if ...&maximumRecords=100 specified (possible values 1 to 100)
Call of further data records: ...&startRecord=101 (possible values 1 to infinity)

SRU / Z39.50

SRU offers the following benefits in comparison to Z39.50:

Last update: 30.11.2015

This Page

Schriftbanner mit Deutscher Nationalbibliothek Leipzig, Frankfurt am Main