Heads up!

Many of the example links on this page link directly into the API and will not work until you are logged in and have an API key setup.

To get going:

  1. Create an account or sign in
  2. Create an API Key

Developer API Documentation v1.0

JournalMap exposes a complete data API for listing and filtering all the articles, authors, collections, publications, and locations in its dataset.

Access to the API is free and contingent on playing nice with our servers. Data is licensed under a Creative Commons License. However, copyright on abstracts is still retained by the publishers and therefore not exposed in the API.

Please see our terms of use for more details.

The API is designed around accessing JournalMap's resources for reading and filtering. Articles can be listed and filtered, or an individual article may be accessed directly. The same goes for other JournalMap resources: authors, collections, publications and locations. They may all be listed and filtered, or accessed individually. All of the filters on JournalMap's search page are available in the API.

Resources are represented in JSON accessed over HTTPS endpoints. Every resource or collection of resources includes hypermedia links to their complete representations. You'll need an access key to start hitting the API. The API is versioned to protect users from future changes and paginated to prevent sending large responses over the wire.


Accessing the API

All API requests require an access key. You can manage your API access keys here, or under your account settings.

Additionally, all requests must be submitted over HTTPS. Unencrypted HTTP requests will receive a 403 'Forbidden' status code and an empty response.

When accessing the API, send your access key with every request using the query string field 'key':

?key={{ apiKey }}

Requests missing the 'key' field or using an invalid access key will receive a 401 'Unauthorized' status code and an empty response.

Sign in to create your API access key

{{ errors().application_name }}
{{ errors().commercial_use }}
{{ errors().company_name }}
{{ errors().contact_name }}
{{ errors().telephone }}
{{ errors().url }}
{{ errors().description }}
{{ errors().use }}
ApplicationKey
{{ application_name }}{{ key }}

No API Access Keys Created


Versioning

This API is growing and evolving. In order to preserve functionality, you can specify an API version with your request.

To specify the version, send the version you would like to access using the query string field 'version':

?version=1.0

Requests missing the 'version' field will use the latest version of the API. It's strongly encouraged that you specify the 'version' field to preserve compatibility.

Current Version

  • 1.0

Past Versions

  • None

Pagination

JournalMap's dataset is growing large, and fast. We paginate data in order to serve reasonably quick and small responses. Every request to a collection endpoint is paginated.

To specify the page you want, resend the exact request but varying the query string field 'page' with the integer page desired:

?page=2

Requests without a specified page, serve page 1 by default.

Current Counts

  • 27.6 Thousand Articles
  • 78.6 Thousand Authors
  • 134 Thousand Locations
Link Header

JournalMap pagination also includes the link header. It's encouraged that you use the link header urls to traverse collections instead of constructing your own URLs. Pagination URLs may not be integer based in future versions of the API.

Link:
 <https://journalmap.org/api/articles.json?page=673>; rel="last",
 <https://journalmap.org/api/articles.json?page=2>; rel="next"

Newlines are for formatted display and are not in the actual header.

Four pagination related headers are returned with each paginated response:

Link
The pagination urls to paginate to the first, last, next and previous pages.
X-Page
The current page of the returned response
X-Pages
The total number of pages for the response
X-Records
The total number of records to be returned

Example Pagination Headers

curl -I "https://journalmap.org/api/articles.json?key={{ apiKey }}&version=1.0"
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 224900
Connection: keep-alive
Status: 200 OK
Link: <https://journalmap.org/api/articles.json...
X-Page: 1
X-Pages: 203
X-Records: 20259
...

URLs & Nesting

JournalMap has a strong sense of hypermedia links and self traversal built directly into the API. All resources (articles, authors, collections, publications, and locations) include their canonical URLs to their full representation in the API. JSON URL keys are postfixed '_url'.

Since individual resources are most interesting when viewed in context of their associated relations, each resource typically includes a shallow representation of its associations.

Articles for example will include their publication, authors and locations. However, locations will only include the latitude and longitude of the physical location excluding the biophysical details.

Any association for the resource will also be limited to 25 items in the nested array. So if an article has more than 25 locations, you will need to follow the 'locations_url' to paginate through its locations.

Explaination of URLs

article_url
Represents the canonical url for the article.
locations_url
Represents the collection endpoint for paginating through the article's associated locations. The collection endpoint will also return the full details of the location.
location_url (nested under location)
Represents the canonical url for the location.
authors_url
Represents the collection endpoint for paginating through the article's associated authors. The collection endpoint will also return the nested articles under the author if the author has more than one article.
author_url (nested under author)
Represents the canonical url for the author.
publication_url (nested under publication)
Represents the canonical url for the publication.
articles_url (nested under publication)
Represents the collection endpoint for paginating through the publication's associated articles.

Example article with URLs and nested resources

{
  "id": 8401,
  "title": "A double-sampling approach to deriving training and validation data for remotely-sensed vegetation products",
  ...,
  "article_url": "https://journalmap.org/api/articles/8401.json?key={{apiKey}}&version=1.0",
  "locations_url": "https://journalmap.org/api/locations.json?article_id=8401&key={{apiKey}}&page=1&version=1.0",
  "authors_url": "https://journalmap.org/api/authors.json?article_id=8401&key={{apiKey}}&page=1&version=1.0",
  "authors": [
    {
      "id": 9493,
      "first_name": "Jason W.",
      "last_name": "Karl",
      "author_url": "https://journalmap.org/api/authors/9493.json?key={{apiKey}}&version=1.0",
      "articles_count": 15,
      "articles_url": "https://journalmap.org/api/articles.json?author_id=9493&key={{apiKey}}&page=1&version=1.0"
    },
    ...
  ],
  "locations": [
    {
      "id": 21475,
      "latitude": 39.824,
      "longitude": -108.297,
      "location_url": "https://journalmap.org/api/locations/21475.json?key={{apiKey}}&version=1.0"
    }
  ],
  "publication": {
    "id": 174,
    "name": "International Journal of Remote Sensing",
    "publication_url": "https://journalmap.org/api/publications/174.json?key={{apiKey}}&version=1.0",
    "articles_count": 15,
    "articles_url": "https://journalmap.org/api/articles.json?key={{apiKey}}&page=1&publication_id=174&version=1.0"
  }
}

Filtering

Filters work be restricting the set of resources to only those that have the specificed attribute, category, range, or association. All of the filters available on the search page are available for use against all of our resources. You can filter articles as well as authors, collections, publications, and locations.

We have striven to maintain parity of filtering across our core resources. That means you can do odd things like filtering publications by soil depth, providing a bounding box on authors, or filter collections by country.

Note that the categorial and range filters are all related to the associated article and their locations. Filtering authors, publications, and collections means to look for authors, publications or collections whose articles and associated locations match the filter criteria. For example, when you filter a publication by soil depth, you are picking publications that have articles whose locations are at the specified soil depth.

Similarly, filtering collections by country, you are asking for collections whose articles locations are within the specified country. Applying an author filter to collections, is narrowing the collections to those that contain an article authored by the specified author.

Available Filters

Ranges
  • Elevation
  • Growing Degree Days
  • Precipitation
  • Published Year
  • Slope
Categorical
  • Aridity Index
  • Biome
  • Country
  • Landcover
  • Soil Depth
  • State
  • Topsoil Texture
Resource
  • Article
  • Author
  • Collection
  • Publication
  • Location
Range Filters

Range filters are specified by supplying a minimum and maximum value for the desired attribute. Range filters require both a minimum and maximum value to be valid, otherwise the filter is discarded. Range filters are inclusive of the min and max value.

Examples

Filter by precipitation of 50mm and 100mm
?precipitation_min=50&precipitation_max=100
Filter by elevation of 10m and 50m
?elevation_min=10&elevation_max=50

The elevation filter represents the elevation in meters at the article's location.

Since the elevation filter is a range, it requires both the min and the max values to be specified in order to work.

You cannot specify multiple elevation filters in the same request.

Example

?elevation_min=100&elevation_max=500
Works On
Articles, Authors, Collections, Publications, Locations

  • Highest elevation on JournalMap: 8164 m
  • Lowest elevation on JournalMap: -405 m

The growing degree days filter refers to the number of days in a year where the temperature is high enough for plant growth to occur. For the full definition see our growing degree days help page.

Since the growing degree days filter is a range, it requires both the min and the max values to be specified in order to work.

You cannot specify multiple growing degree days filters in the same request.

Example

?growing_degree_days_min=60&growing_degree_days_max=120
Works On
Articles, Authors, Collections, Publications, Locations

  • Highest growing degree days on JournalMap: 9036 days
  • Lowest growing degree days on JournalMap: 0 days

The precipitation refers to the annual yearly rain fall average in millimeters.

Since the precipitation filter is a range, it requires both the min and the max values to be specified in order to work.

You cannot specify multiple precipitation filters in the same request.

Example

?precipitation_min=200&precipitation_max=600
Works On
Articles, Authors, Collections, Publications, Locations

  • Highest precipitation on JournalMap: 10325 mm
  • Lowest precipitation on JournalMap: 0 mm

The published year filter refers to the year the associated article was published.

Since the published year filter is a range, it requires both the min and the max values to be specified in order to work.

You cannot specify multiple published year filters in the same request.

Example

?published_year_min=1876&published_year_max=1914
Works On
Articles, Authors, Collections, Publications, Locations

  • Newest published year on JournalMap: 201436
  • Oldest published year on JournalMap: 1835

The slope filter refers to the average degree slope over 30 arc seconds (approx. 1 sq kilometer).

Since the slope filter is a range, it requires both the min and the max values to be specified in order to work.

You cannot specify multiple slope filters in the same request.

Example

?slope_min=5&slope_max=10
Works On
Articles, Authors, Collections, Publications, Locations

  • Highest slope on JournalMap: 45 degrees
  • Lowest slope on JournalMap: -128 degrees

Categorical Filters

Many of the articles and locations in JournalMap are associated with meta-data that can be filtered to produce desired articles.

Categorical filters work by specifing a categorical ID representing the desired category. Endpoints are available for getting categorical values dynamically, or you can visit the links in the documentation to get them manually.

All categorical filters can specify more than one category, which mean you can filter by multiple biomes, countries, or soil depths.See the below documentation examples for specifying multiple categories in the same request.

Examples

Filter by country (Australia)
?country_id=241
Filter by landcover (bare desert)
?landcover_id=6

The aridity index characterizes moisture availability to plants. For the full definition see our aridity index help page.

Since aridity index is a categorical filter, an ID of the category desired must be specified. The full set of aridity index categories is available at the filters endpoint /api/filters/aridity-index.

Multiple aridity index filters can be specified per request. Each filter is treated as a logical 'OR' (set union).

Example

'Humid'
?aridity_index_id=5
'Arid' or 'Dry Sub-humid'
?aridity_index_id[]=2&aridity_index_id[]=4
Works On
Articles, Authors, Collections, Publications, Locations

The biome filter characterizes large geographic regions of the world that share similar climate, flora, and fauna. For the full definition see our biome help page.

Since biome is a categorical filter, an ID of the category desired must be specified. The full set of biome categories is available at the filters endpoint /api/filters/biome.

Multiple biome filters can be specified per request. Each filter is treated as a logical 'OR' (set union).

Example

'Terrestrial Tundra'
?biome_id=11
'Marine: Central Indo-Pacific' or 'Marine: Eastern Indo-Pacific'
?biome_id[]=20&biome_id[]=21
Works On
Articles, Authors, Collections, Publications, Locations

The country filter specifies the country in which the associated location occurs.

Since country is a categorical filter, an ID of the category desired must be specified. The full set of country categories is available at the filters endpoint /api/filters/country.

Multiple country filters can be specified per request. Each filter is treated as a logical 'OR' (set union).

Example

'Australia'
?country_id=241
'Australia' or 'New Zealand'
?country_id[]=241&country_id[]=229
Works On
Articles, Authors, Collections, Publications, Locations

The landcover filter characterizes a 1km resolution predominate landcover type. For the full definition see our landcover help page.

Since landcover is a categorical filter, an ID of the category desired must be specified. The full set of landcover categories is available at the filters endpoint /api/filters/landcover.

Multiple landcover filters can be specified per request. Each filter is treated as a logical 'OR' (set union).

Example

'Wetlands'
?landcover_id=11
'Mixed Forest' or 'Conifer Boreal Forest'
?landcover_id[]=18&landcover_id[]=17
Works On
Articles, Authors, Collections, Publications, Locations

The soil depth filter characterizes the soil depth at the associated location. For the full definition see our soil depth help page.

Since soil depth is a categorical filter, an ID of the category desired must be specified. The full set of soil depth categories is available at the filters endpoint /api/filters/soil-depth.

Multiple soil depth filters can be specified per request. Each filter is treated as a logical 'OR' (set union).

Example

'10-50 cm'
?soil_depth_id=2
'101-150 cm' or '151-300 cm'
?soil_depth_id[]=4&soil_depth_id[]=5
Works On
Articles, Authors, Collections, Publications, Locations

The state filter refers to the US state the associated location occurs in.

Since state is a categorical filter, an ID of the category desired must be specified. The full set of state categories is available at the filters endpoint /api/filters/state.

Multiple state filters can be specified per request. Each filter is treated as a logical 'OR' (set union).

Example

'Utah'
?state_id=24
'New Mexico' or 'Oregon'
?state_id[]=42&state_id[]=12
Works On
Articles, Authors, Collections, Publications, Locations

The topsoil texture filter characterizes surface soil texture at the associated location. For the full definition see our topsoil texture help page.

Since topsoil texture is a categorical filter, an ID of the category desired must be specified. The full set of topsoil texture categories is available at the filters endpoint /api/filters/topsoil-texture.

Multiple topsoil texture filters can be specified per request. Each filter is treated as a logical 'OR' (set union).

Example

Filter by topsoil texture 'Clay Loam'
?topsoil_texture_id=5
'Silt' or 'Silt Loam'
?topsoil_texture_id[]=6&topsoil_texture_id[]=7
Works On
Articles, Authors, Collections, Publications, Locations

Resource Filters

Resource filters work by specifying the specific id(s) of the resources you would like to filter on. Specifying multiple authors will filter articles to those having at least one of the specified authors. This is the equivalent of a set union.

The 'Author' filter selects those articles with the specified ids of authors. Specifying two authors, one with id 324 (Leah Cartwright) and another with id 1024 (Benjamin Sacks) looks like:

?author_id[]=324&author_id[]=1024

All links to nested collections use resource filters to select the correct association to filter on.

Resource filters can be an efficent way of getting a group of associated resources. For example, getting all the details of articles for a particular collection can be done by filtering articles by the collection.

All resource filters can specify more than one resource, which mean you can filter by multiple articles, publications, or authors.See the below documentation examples for specifying multiple resource filters in the same request.

Examples

Filter by a particular collection
?collection_id=12
Filter by a particular publication
?publication_id=54

The article filter narrows the resource down to only those associated with the article.

Filtering publications by an article will result in the publication associated with that article. Filtering locations by an article will return the locations associated with that article, etc.

Example

?article_id=11128
?article_id[]=11125&article_id[]=11144
Works On
Articles, Authors, Collections, Publications, Locations

The author filter narrows the resource down to only those associated with the article who has the author.

Filtering publications by an author will show all the publications that author has published an article under. Filtering locations by an author will return the locations associated with the article that author is a part of, etc.

Example

?author_id=16446
?author_id[]=16446&author_id[]=26833
Works On
Articles, Authors, Collections, Publications, Locations

The collection filter narrows the resource down to only those associated with a collection which contains the article.

Filtering publications by a collection will show all the publications of articles in the collection. Filtering locations by a collection will return the locations associated with the articles in that collection.

Example

?collection_id=26
?collection_id[]=26&collection_id[]=21
Works On
Articles, Authors, Collections, Publications, Locations

The publication filter narrows the resource down to only those associated with an article published under the publication.

Filtering authors by a publication will show all the authors who have published articles under the publication. Filtering locations by a publication will return the locations associated with the articles published under the publication.

Example

?publication_id=230
?publication_id[]=641&publication_id[]=635
Works On
Articles, Authors, Collections, Publications, Locations


Articles

Represents articles on JournalMap. Most but not all articles on JournalMap have locations.We do include some articles that don't have any locations for completeness of bodies of work.

Listing

Fetch and filter the set of articles on JournalMap. Results will be paginated.

Path
/api/articles.json
Parameters
query (optional)
Filters the articles using the keywords supplied to the `query` parameter. Searches title, keywords, abstract, authors list, publication name, DOI.
filters (optional)
Filter articles using the complete set of search filters available on JournalMap.
curl "https://journalmap.org/api/articles.json?key={{ apiKey }}&version=1.0"
Response Example
[
  {
    "id": 1,
    "title": "Water availability in almond orchards on marl soils in southeast Spain: The role of evaporation and runoff",
    "article_url": "https://journalmap.org/api/articles/1.json?key={{apiKey}}&version=1.0",
    "locations_count": 1,
    "locations_url": "https://journalmap.org/api/locations.json?article_id=1&key={{apiKey}}&page=1&version=1.0",
    "authors_url": "https://journalmap.org/api/authors.json?article_id=1&key={{apiKey}}&page=1&version=1.0",
    "doi": "10.1016/j.jaridenv.2008.06.017",
    "volume": 72,
    "issue": 12,
    "start_page": 2168,
    "end_page": 2178,
    "publish_year": 2008,
    "url": "",
    "authors": [...],
    "locations": [...],
    "publication": {...}
  },
  {
    "id": 2,
    "title": "Ecophysiological responses of Chihuahuan desert grasses to fire",
    "article_url": "https://journalmap.org/api/articles/2.json?key={{apiKey}}&version=1.0",
    "locations_count": 1,
    "locations_url": "https://journalmap.org/api/locations.json?article_id=2&key={{apiKey}}&page=1&version=1.0",
    "authors_url": "https://journalmap.org/api/authors.json?article_id=2&key={{apiKey}}&page=1&version=1.0",
    "doi": "10.1016/j.jaridenv.2008.06.008",
    "volume": 72,
    "issue": 11,
    "start_page": 1989,
    "end_page": 1996,
    "publish_year": 2008,
    "url": "",
    "authors": [...],
    "locations": [...],
    "publication": {...}
  },
  ...
]
Detail

Fetch and return the complete article having the specified id.

Path
/api/articles/:id.json
Attributes
id
The unique id for the article
title
The article's title.
article_url
The canonical url to the article in the API on JournalMap.
locations_count
The total number of locations the article has.
authors_url
The url to the complete listing of authors for the article.
DOI
The digital object identifier of the article.
volume
Volume of the journal the article was originally published under.
issue
Issue of the journal the article was originally published under.
start_page
Start page the article can be found under the journal it was originally published under.
end_page
End page the article can be found under the journal it was originally published under.
publish_year
The year in which the article was originally published in its publication.
url
A URL to the original publisher's home page, if the article does not have a DOI.
Associations
authors
The nested shallow representation of the authors associated with the article. Follow 'authors_url' to paginate through the article's authors.
locations
The nested shallow representation of the locations associated with the article. Follow 'locations_url' to paginate through the article's locations.
publication
The nested shallow representation of the publication associated with the article.
curl "https://journalmap.org/api/articles/8401.json?key={{ apiKey }}&version=1.0"
Response Example
{
  "id": 8401,
  "title": "A double-sampling approach to deriving training and validation data for remotely-sensed vegetation products",
  "article_url": "https://journalmap.org/api/articles/8401.json?key={{apiKey}}&version=1.0",
  "locations_count": 1,
  "locations_url": "https://journalmap.org/api/locations.json?article_id=8401&key={{apiKey}}&page=1&version=1.0",
  "authors_url": "https://journalmap.org/api/authors.json?article_id=8401&key={{apiKey}}&page=1&version=1.0",
  "doi": "10.1080/01431161.2014.880820",
  "volume": 35,
  "issue": 5,
  "start_page": 1936,
  "end_page": 1955,
  "publish_year": 2014,
  "url": "",
  "authors": [
    {
      "id": 9493,
      "first_name": "Jason W.",
      "last_name": "Karl",
      "author_url": "https://journalmap.org/api/authors/9493.json?key={{apiKey}}&version=1.0",
      "articles_count": 15,
      "articles_url": "https://journalmap.org/api/articles.json?author_id=9493&key={{apiKey}}&page=1&version=1.0"
    },
    ...
  ],
  "locations": [
    {
      "id": 21475,
      "latitude": 39.824,
      "longitude": -108.297,
      "location_url": "https://journalmap.org/api/locations/21475.json?key={{apiKey}}&version=1.0"
    }
  ],
  "publication": {
    "id": 174,
    "name": "International Journal of Remote Sensing",
    "publication_url": "https://journalmap.org/api/publications/174.json?key={{apiKey}}&version=1.0",
    "articles_count": 15,
    "articles_url": "https://journalmap.org/api/articles.json?key={{apiKey}}&page=1&publication_id=174&version=1.0"
  }
}

Authors

Represents the authors of articles on JournalMap. Authors have authored at least one article in the dataset.

Listing

Fetch and filter the set of authors on JournalMap. Results will be paginated.

Path
/api/authors.json
Parameters
query (optional)
Supply a string to the `query` parameter to search for authors with the given first or last name.
filters (optional)
Filter authors using the complete set of search filters available on JournalMap.
curl "https://journalmap.org/api/authors.json?key={{ apiKey }}&version=1.0"
Response Example
[
  {
    "id": 2,
    "first_name": "B",
    "last_name": "Van",
    "author_url": "https://journalmap.org/api/authors/2.json?key={{apiKey}}&version=1.0",
    "articles_count": 2,
    "articles_url": "https://journalmap.org/api/articles.json?author_id=2&key={{apiKey}}&page=1&version=1.0",
    "articles": [...]
  },
  {
    "id": 5,
    "first_name": "K",
    "last_name": "Snyder",
    "author_url": "https://journalmap.org/api/authors/5.json?key={{apiKey}}&version=1.0",
    "articles_count": 1,
    "articles_url": "https://journalmap.org/api/articles.json?author_id=5&key={{apiKey}}&page=1&version=1.0",
    "articles": [...]
  },
  ...
]
Detail

Fetch and return the complete author having the specified id.

Path
/api/authors/:id.json
Attributes
id
The unique id for the author
first_name
The author's first name.
last_name
The author's last name.
author_url
The canonical url to the author in the API.
articles_count
The total number of articles authored by the author on JournalMap.
articles_url
The url to the complete listing of articles for the author.
Associations
articles
The nested shallow representation of the articles associated with the author. Follow 'articles_url' to paginate through the author's articles.
curl "https://journalmap.org/api/authors/16446.json?key={{ apiKey }}&version=1.0"
Response Example
{
  "id": 16446,
  "first_name": "Charles",
  "last_name": "Darwin",
  "author_url": "https://journalmap.org/api/authors/16446.json?key={{apiKey}}&version=1.0",
  "articles_count": 71,
  "articles_url": "https://journalmap.org/api/articles.json?author_id=16446&key={{apiKey}}&page=1&version=1.0",
  "articles": [
    {
      "id": 7804,
      "title": "Note on a rock seen on an iceberg in 61° south latitude",
      "article_url": "https://journalmap.org/api/articles/7804.json?key={{apiKey}}&version=1.0",
      "locations_count": 1,
      "locations_url": "https://journalmap.org/api/locations.json?article_id=7804&key={{apiKey}}&page=1&version=1.0",
      "authors_url": "https://journalmap.org/api/authors.json?article_id=7804&key={{apiKey}}&page=1&version=1.0",
      "locations": [
        {
          "id": 20320,
          "latitude": -61,
          "longitude": 103.667,
          "location_url": "https://journalmap.org/api/locations/20320.json?key={{apiKey}}&version=1.0"
        }
      ]
    },
    ...
  ]
}

Collections

Collections represent groups of articles curated by individuals or organizations on JournalMap. Some collections are portfolios of an individual's work, others may be a collection of articles done by an organization, or a body of work from a specific grant, etc.

Listing

Fetch and filter the set of collections on JournalMap. Results will be paginated.

Path
/api/collections.json
Parameters
query (optional)
Supply a string to the `query` parameter to search for collections containing the keyword(s) in their title, introduction or description.
filters (optional)
Filter collections using the complete set of search filters available on JournalMap.
curl "https://journalmap.org/api/collections.json?key={{ apiKey }}&version=1.0"
Response Example
[
  {
    "id": 2,
    "title": "My Spatial Ecology Articles",
    "intro": "This is a collection of articles I have authored on different applications of spatial analysis and land health monitoring techniques in ecology.",
    "description": "My research at the Jornada focuses on the applications of geographic information systems (GIS), remote sensing, multivariate and spatial statistics, and ecological informatics to sustainable land management. I am the lead PI on the Landscape Toolbox and JournalMap projects, and I work extensively with the Bureau of Land Management, Natural Resource Conservation Service, and other federal agencies on the development and implementation of land health monitoring strategies and techniques.",
    "collection_url": "https://journalmap.org/api/collections/2.json?key={{apiKey}}&version=1.0",
    "articles_count": 26,
    "articles_url": "https://journalmap.org/api/articles.json?collection_id=2&key={{apiKey}}&page=1&version=1.0",
    "articles": [...]
  },
  {
    "id": 3,
    "title": "GeoSpatial Ecologist",
    "intro": "Research Interests:",
    "description": ">>Using Aerial Photography to 3-dimensionally map and monitor vegetation, soil erosion, and surface hydrology on rangeland landscapes\r\n>>Building web-based platforms for scientific knowledge exchange focusing on spatial explicit information\r\n",
    "collection_url": "https://journalmap.org/api/collections/3.json?key={{apiKey}}&version=1.0",
    "articles_count": 24,
    "articles_url": "https://journalmap.org/api/articles.json?collection_id=3&key={{apiKey}}&page=1&version=1.0",
    "articles": [...]
  },
  ...
]
Detail

Fetch and return the complete collection with :id

Path
/api/collections/:id.json
Attributes
id
The unique id for the collection.
title
The collection's title.
intro
A short introduction to the collection.
description
A more complete description of what the collection represents.
collection_url
The canonical url to the collection in the API.
articles_count
The total number of articles the collection contains.
articles_url
The url to the complete listing of articles for the collection.
Associations
articles
The nested shallow representation of the articles associated with the collection. Follow 'articles_url' to paginate through the collection's articles.
curl "https://journalmap.org/api/collections/28.json?key={{ apiKey }}&version=1.0"
Response Example
{
  "id": 28,
  "title": "Toolik Field Station Publications",
  "intro": "A publications database showing the location of research associated with Toolik Field Station",
  "description": "A publications database showing the location of research associated with Toolik Field Station",
  "collection_url": "https://journalmap.org/api/collections/28.json?key={{apiKey}}&version=1.0",
  "articles_count": 33,
  "articles_url": "https://journalmap.org/api/articles.json?collection_id=28&key={{apiKey}}&page=1&version=1.0",
  "articles": [
    {
      "id": 1728,
      "title": "Species compositional differences on different-aged glacial landscapes drive contrasting responses of tundra to nutrient addition.",
      "article_url": "https://journalmap.org/api/articles/1728.json?key={{apiKey}}&version=1.0",
      "locations_count": 1,
      "locations_url": "https://journalmap.org/api/locations.json?article_id=1728&key={{apiKey}}&page=1&version=1.0",
      "authors_url": "https://journalmap.org/api/authors.json?article_id=1728&key={{apiKey}}&page=1&version=1.0",
      "locations": [
        {
          "id": 3962,
          "latitude": 68.63,
          "longitude": -149.72,
          "location_url": "https://journalmap.org/api/locations/3962.json?key={{apiKey}}&version=1.0"
        }
      ]
    },
    ...
  ]
}

Publications

Every article in JournalMap is associated with one publication. Publications include the Journal of Natural History, ZooKeys, etc.

Listing

Fetch and filter the set of publications on JournalMap. Results will be paginated.

Path
/api/publications.json
Parameters
query (optional)
Supply a string to the `query` parameter to search for publications with the given name.
filters (optional)
Filter publications using the complete set of search filters available on JournalMap.
curl "https://journalmap.org/api/publications.json?key={{ apiKey }}&version=1.0"
Response Example
[
  {
    "id": 1,
    "name": "Journal of Arid Environments",
    "publication_url": "https://journalmap.org/api/publications/1.json?key={{apiKey}}&version=1.0",
    "articles_count": 1094,
    "articles_url": "https://journalmap.org/api/articles.json?key={{apiKey}}&page=1&publication_id=1&version=1.0",
    "articles": [...]
  },
  {
    "id": 2,
    "name": "Rangeland Ecology & Management",
    "publication_url": "https://journalmap.org/api/publications/2.json?key={{apiKey}}&version=1.0",
    "articles_count": 429,
    "articles_url": "https://journalmap.org/api/articles.json?key={{apiKey}}&page=1&publication_id=2&version=1.0",
    "articles": [...]
  },
  ...
]
Detail

Fetch and return the publication having the specified id.

Path
/api/publications/:id.json
Attributes
id
The unique id for the publication
name
The name of the publication
publication_url
The canonical url to the publication in the API.
articles_count
The total number of articles the publication has on JournalMap.
articles_url
The url to the complete listing of articles for the publication.
Associations
articles
The nested shallow representation of the articles associated with the publication. Follow 'articles_url' to paginate through the publication's articles.
curl "https://journalmap.org/api/publications/1453.json?key={{ apiKey }}&version=1.0"
Response Example
{
  "id": 1453,
  "name": "Soil Biology and Biochemistry",
  "publication_url": "https://journalmap.org/api/publications/1453.json?key={{apiKey}}&version=1.0",
  "articles_count": 1,
  "articles_url": "https://journalmap.org/api/articles.json?key={{apiKey}}&page=1&publication_id=1453&version=1.0",
  "articles": [
    {
      "id": 19521,
      "title": "A comparison of trenched plot techniques for partitioning soil respiration",
      "article_url": "https://journalmap.org/api/articles/19521.json?key={{apiKey}}&version=1.0",
      "locations_count": 1,
      "locations_url": "https://journalmap.org/api/locations.json?article_id=19521&key={{apiKey}}&page=1&version=1.0",
      "authors_url": "https://journalmap.org/api/authors.json?article_id=19521&key={{apiKey}}&page=1&version=1.0",
      "locations": [
        {
          "id": 27127,
          "latitude": 55.883,
          "longitude": -98.333,
          "location_url": "https://journalmap.org/api/locations/27127.json?key={{apiKey}}&version=1.0"
        }
      ]
    }
  ]
}

Locations

Locations are the particular geographic points found in articles in JournalMap. They contain not only the latitude and longitude coordinate information, but also biophysical metadata about the particular location.

Listing

Fetch and filter the set of locations on JournalMap. Results will be paginated.

Path
/api/locations.json
Parameters
query (optional)
Supply a string to the `query` parameter to search for locations by their associated article's title, keywords, abstracts, authors or biophysical details like topsoil texture name, country name etc.
filters (optional)
Filter locations using the complete set of search filters available on JournalMap.
curl "https://journalmap.org/api/locations.json?key={{ apiKey }}&version=1.0"
Response Example
[
  {
    "id": 1,
    "latitude": -33.0667,
    "longitude": 119.067,
    "location_url": "https://journalmap.org/api/locations/1.json?key={{apiKey}}&version=1.0",
    "growing_degree_days": 4327,
    "elevation": 304,
    "slope": 0,
    "precipitation": 350,
    "aridity_index": "semi-arid",
    "country": "Australia",
    "biome": "terrestrial: Mediterranean forests, woodlands, and scrub",
    "landcover": "savanna",
    "soil_depth": "101-150 cm",
    "state": null,
    "topsoil_texture": "sandy loam",
    "article": {...}
  },
  {
    "id": 2,
    "latitude": -43.9833,
    "longitude": 170.45,
    "location_url": "https://journalmap.org/api/locations/2.json?key={{apiKey}}&version=1.0",
    "growing_degree_days": 725,
    "elevation": 760,
    "slope": 3,
    "precipitation": 767,
    "aridity_index": "humid",
    "country": "New Zealand",
    "biome": "terrestrial: temperate grasslands, savannas, and shrublands",
    "landcover": "cool grasses and shrubs",
    "soil_depth": "101-150 cm",
    "state": null,
    "topsoil_texture": "loam",
    "article": {...}
  },
  ...
]
Detail

Fetch and return the complete location with :id

Path
/api/locations/:id.json
Attributes
id
The unique id for the location.
latitude
The decimal degree latitude for the location.
longitude
The decimal degree longitude for the location.
location_url
The canonical url to the location in the API on JournalMap.
growing_degree_days
Represents the number of days in a year where the temperature is high enough for plant growth at the location. See the growing degree days help page.
elevation
Represents the elevation in meters at the location. See the elevation help page.
slope
Represents the average degree slope over 30 arc seconds (approx. 1 sq kilometer) at the location.See the slope help page.
precipitation
Represents the annual yearly rain fall average in millimeters at the location.See the precipitation help page.
aridity_index
Respresents the moisture availability to plants at the location.See the aridity index help page.
country
Represents the country at the location.
biome
Represents the type of geographic region that shares similar climate, flora, and fanua at the location. See the biome help page.
landcover
Represents the predominate landcover type over 1 kilometer area at the location. See the landcover help page.
soil_depth
Represents the depth of soil in centimeters at the location. See the soil depth help page.
state
Represents the US state at the location.
topsoil_texture
Represents the surface soil texture at the associated location.See the topsoil texture help page.
Associations
article
The nested shallow representation of the article associated with the location.
curl "https://journalmap.org/api/locations/1910.json?key={{ apiKey }}&version=1.0"
Response Example
{
  "id": 1910,
  "latitude": 35.2128,
  "longitude": -116.815,
  "location_url": "https://journalmap.org/api/locations/1910.json?key={{apiKey}}&version=1.0",
  "growing_degree_days": 4102,
  "elevation": 1117,
  "slope": 1,
  "precipitation": 138,
  "aridity_index": "arid",
  "country": "United States",
  "biome": "terrestrial: deserts and xeric shrublands",
  "landcover": "semi desert shrubs",
  "soil_depth": "101-150 cm",
  "state": "California",
  "topsoil_texture": "sandy loam",
  "article": {
    "id": 515,
    "title": "Ecology of a population of subsidized predators: Common ravens in the central Mojave Desert, California.",
    "article_url": "https://journalmap.org/api/articles/515.json?key={{apiKey}}&version=1.0",
    "locations_count": 2,
    "locations_url": "https://journalmap.org/api/locations.json?article_id=515&key={{apiKey}}&page=1&version=1.0",
    "authors_url": "https://journalmap.org/api/authors.json?article_id=515&key={{apiKey}}&page=1&version=1.0"
  }
}