The most common method of submitting queries to CrossRef is to have an automated service interact with the CrossRef system using the HTTP interface. CrossRef strongly recommends that you group between 5 and 20 queries into a single request. This helps reduce the network transaction load on CrossRef resources. These transactions use a simple HTTP GET request with the results being returned immediately to the caller. Queries may also be processed off line in batch mode.
Synchronous queries are performed using a URL with encoded parameters as follows:
http://doi.crossref.org/servlet/query?usr=<USERNAME>&pwd=<PASSWORD>&format=unixref&qdata=|Proc.%20Natl%20Acad.%20Sci.%20USA|Zhou|94|24|13215|1997|||
http://doi.crossref.org/servlet/query?pid=<USERNAME>:<PASSWORD>&id=10.1577/H02-043
http://doi.crossref.org/servlet/query?pid=<EMAIL>&id=10.1577/H02-043
where:
HTTP queries may be submitted in piped format or as XML (recommended). XML queries can be submitted by HTTP by appending query XML to a HTTP request.
Show Example
To place multiple queries in one request, include them in the qdata parameter separated by %0A, as shown here:
http://doi.crossref.org/servlet/query?usr=<USERNAME>&pwd=<PASSWORD>&qdata=|%20Natl%20Acad.%20Sci.%20USA|Zhou|94|24|13215|1997|||%0A|J.%20Mol.%20Biol.|Hagerman|260|||1996|||
Certain characters cannot be passed in a URL without causing problems.
The following table lists those characters that must be URL-encoded.
|
Character |
Name |
URL code |
|
; |
Semicolon |
%3B |
|
/ |
Slash, virgule, separatrix, or solidus |
%2F |
|
? |
Question mark |
%3F |
|
: |
Colon |
%3A |
|
@ |
At sign |
%40 |
|
= |
Equals sign |
%3D |
|
& |
Ampersand |
%26 |
|
lf |
line feed |
%0A |
Notes:
There are several drawbacks to submitting synchronous HTTP queries: