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.
Further information is also available in Volltext Dialog mit Bibliotheken 2010,2 (PDF, 9MB, Not barrier-free file.) (available only in German).

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
Example SRU reply
Catalogue of Deutsches Musikarchiv (DMA)
Sample SRU reply
Authorities: Catalogue of Integrated Authority File (GND)
Sample SRU reply


The following formats are offered in UTF-8 decomposed:

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

Test access / Access Requirements

You can obtain 100 data records free of charge over a 4-week test phase.
To do this, please send a mail containing your contact details and a fixed IP address or IP-range, the catalogue and format to the . Alternatively it is also possible to obtain access via an individual access code (access token). We will contact you as soon as possible to clarify any unresolved issues and to request any additional data which is required.
Following a successful test run you will be sent the agreement forms for accessing charge data on request.

Conditions and Costs

During the test phase, use of up to 100 data records is free of charge via the SRU interface.
Afterwards a charge may be levied, depending on the database and the required data format.
Authority data is supplied free of charge, so too is bibliographic data on online publications (Sereis O of the Deutsche Nationalbibliografie). Also free of charge is the use of all data in RDFxml format and bibliografic data in DNB Casual (oai_dc) (Stand: Oktober 2011) (PDF, 26KB, Not barrier-free file.)(available only in German), see also the business model for use of data services of the German National Library. A fee is charged for bibliographic data from the current and previous year in all other formats. A contract must be concluded to obtain this charged data.
Sufficient units must be credited to your account in order to obtain data records.Each data record corresponds to one unit. The commercial use of charged bibliographic data (except for CCO conditions) is subject to separate agreements.
The records are provided, as available, with no guarantee to its being continuous, punctual, error-free or complete, or to its 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 coding 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 "=" durch "%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: 21.1.2015

This Page

Schriftbanner mit Deutscher Nationalbibliothek Leipzig, Frankfurt am Main