---
name: "Catmandu::Importer::CrossRef"
section: "3pm"
platform: "linux"
package: "libcatmandu-crossref-perl"
version: "0.007-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Catmandu::Importer::CrossRef"
---

# Catmandu::Importer::CrossRef(3pm)

Package that imports data form CrossRef API

## NAME

Catmandu::Importer::CrossRef - Package that imports data form CrossRef API

## SYNOPSIS

```
  use Catmandu::Importer::CrossRef;
  my %attrs = (
    doi => '<doi>',
    usr => '<your-crossref-username>',
    pwd => '<your-crossref-password>',
    fmt => '<xsd_xml | unixref | unixsd | info>'
  );
  my $importer = Catmandu::Importer::CrossRef->new(%attrs);
  my $n = $importer->each(sub {
    my $hashref = $_[0];
    # do something here
  });
```

## DESCRIPTION

This Catmandu::Importer imports data from the CrossRef API given a DOI.

## CONFIGURATION

- base

  Base url of the API. Default is to \<http://doi.crossref.org/search/doi\>.

- doi

  Required. The DOI you want data about.

- usr

  Required. Your CrossRef username. Register first!

- fmt

  The optional output format. Default is unixref \<http://help.crossref.org/unixref-query-result-format\>. Other possible values are unixsd \<http://help.crossref.org/unixsd\>, and xsd\_xml \<http://help.crossref.org/deprecated\_q\> (deprecated).

## SEE ALSO

Catmandu::Importer::DOI is an older version of this module.

CrossRef also provides DOI data in RDF, which can be imported with Catmandu::RDF:

```
    use Catmandu::Importer::RDF;
    my $doi = "10.2474/trol.7.147";
    my $url = "http://dx.doi.org/$doi";
    my $rdf = Catmandu::Importer::RDF->new( url => $url )->first;
```
