New CrossRef Metadata Search with API

I haven’t reviewed it much myself yet, but there’s a new CrossRef metadata search… with API.  The API could prove useful.

Note that this is just for CrossRef-managed DOI’s — not all DOI’s use CrossRef as a registrar.

For DOI’s in general, the extent of API you have at present, I think, is (potentially) getting back metadata about a known DOI (not reverse-lookup like CrossRef metadata search). You can get some metadata back with content-negotiation for various formats on the canonical endpoint, although what metadata response formats are available (if any) depends on the registrar’s implementation still. That is, initially just CrossRef, although I think I recall hearing DataCite added some metadata formats available this way, not sure if they overlap with CrossRef’s.

Back to the CrossRef metadata search with API… could it serve as a “poor man’s” embedded ‘article search’ function? Metadata-search only, not fulltext search, but that can sometimes be good enough, for instance for finding known-items with title supplied. As it will only find articles with DOI’s (CrossRef-assigned DOI’s at that), it would not be sufficient for my own needs here where I work–but if you don’t have access to and can’t afford anything else, it might be a minimally better-than-nothing option.

Also, free-form citation matching!

Looks like they also have an API for submitting a free-form citation, and getting back matches with DOI!  It’s sort of a ‘holy grail’ for me to provide a service where users can paste in a free-form citation, and get to our access/delivery options. Obviously the hard part is parsing or otherwise going from that free form citation to structured data — it’s harder than you might initially think, citation formats are various and often followed more in the breach.

Of course, this service will still only work for articles with (CrossRef) DOI’s, and I haven’t tested it to see how well it works with real data, but potentially an interesting possibility.


5 thoughts on “New CrossRef Metadata Search with API”

  1. Hi,

    Karl Ward at CrossRef Labs here. I work on a lot of projects including the new Metadata Search and content negotiation.

    Just want to say that we’ve been working with DataCite to unify the content types we support via conneg on Details of the content types can be found in the docs here:


  2. Awesome, that’s super useful documentation Karl, that I hadn’t found before. And an encouraging state of affairs where both CrossRef and DataCite support so many overlapping types. (I’d have some questions about formats that are potentially vague, like RDF/XML — what actual vocabularies are used within the RDF-XML, and are they the same ones for CrossRef and DataCite? But but they both support more specific-vocabulary-based formats like BibTex too, great).

    Perhaps you’d be the right person to answer questions i have about the metadata search api documented at too? I tried to post my question on the the annoucnement blog post, but it hasn’t shown up. The main question is — what’s the actual endpoint for the HTTP calls documented there? “/dois?q=X”, requested from what host or base url? I tried and and, none of them work. You might want to add that to the docs. I also have questions about the response format of the “/dois” api call, but if I could do a sample request to see it might be self-evident (although it’s always a good idea to document the response format, not just expect devs to reverse engineer it from examples)

  3. Nice, Ted. The pertinent question is, in actual practice with a given user community, how often is the citation a user choses to look up going to be present in CrossRef? Also, how often does one get a false positive (especially when pasting in a citation that’s not in CrossRef). (Also, of course, false negatives — basically how well does the service work, in practice).

  4. Hi Jonathan,

    Only just saw your response today. The endpoint for the API is – so each route described in the documentation should be appended to this. I didn’t realise that wasn’t clear when I was writing the documentation but now that you mention it it strikes me as a little vague. I will update to provide the full URLs.

    The response format of /dois mimics the older “SIGG”-based metadata search API, since some people are already using that and we wanted to make it easy for them to switch. Like you say, best way to see response is to make a few queries.

    Thanks to both of you, Jonathan and Ted, for the write ups.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s