Reference Data: Breeds
- Livestock Species and Breeds API
- Some Potential Uses of the API
- Data Returned
- Short Code Schemes
- isCross Indicator
- Data Structure
- Endpoints
- Query String Parameters
- Authentication
- Guidance for Filtering the Results
Livestock Species and Breeds API
You can use the Breeds API to generate a list of breeds for a livestock species. The list gives the standardised common name and the short codes used for each breed. Various schemes use their own sets of short codes for breeds. For example, ICAR has a 3-character code scheme. This is discussed further below.
A second endpoint lists the livestock species that are supported by the API. Currently the API supports cattle, sheep, and deer.
Some Potential Uses of the API
You could use the list of breeds returned by the API to look up the ICAR3 short code for a particular cattle breed such as Aberdeen Angus.
If you know the BCMS short code AA, you could determine the name of the breed.
You could validate a breed name or short code entered by a user into your farm management product.
Data Returned
A call to the Breeds API returns the following fields for each breed in the species.
Response item | Description | Data type |
---|---|---|
name | the name of the breed | String |
species | the name of the species (Cattle, Sheep, Deer) | String |
isCross | True if the breed is a Cross (see isCross Indicator below). Currently used for Cattle only. | Boolean |
and an array of schema and id pairs, each giving the breed’s short code according to a scheme.
Response item | Description | Data type |
---|---|---|
schema | the scheme determining the short code (see Short Code Schemes below) | String |
id | the short code for the breed according to the scheme identified in schema | String |
For example:
{
"naem": "Aberdeen Angus",
"species": "Cattle",
"isCross": false,
"identifiers": [
{
"schema": "ICAR2",
"id": "AN"
},
{
"schema": "ICAR3",
"id": "AAN"
},
{
"schema": "BCMS",
"id": "AA"
}
]
}
This example shows 3 different short codes for the breed Aberdeen Angus for the schemes ICAR3, ICAR2 and BCMS.
{
"naem": "Holstein Cross",
"species": "Cattle",
"isCross": true,
"identifiers": [
{
"schema": "BCMS",
"id": "HOX"
}
]
}
The breed Holstein Cross is identified as a cross. (See the discussion on the isCross indicator below.)
Short Code Schemes
Livestock organisations have their own set or sets of short codes for breeds. The following short code schemes are currently supported by the Breeds API.
Schema | Description |
---|---|
ICAR3 | International Committee for Animal Recording (ICAR) 3-character code |
ICAR2 | International Committee for Animal Recording (ICAR) 2-character code |
NZ DIGAD3 | NZ Dairy Industry Good Animal Database (DIGAD) 3-character code |
NZ DIGAD1 | NZ Dairy Industry Good Animal Database (DIGAD) 1-character code |
ABRI | Agricultural Business Research Institute (ABRI) short code |
BCMS | British Cattle Movement Service (BCMS) short code |
isCross Indicator
Some breeds may only be suitable for use in a visual assessment of breed but would not be suitable for use in describing breed distribution.
For example, Jersey is suitable in both visual assessment and breed distribution, but Jersey Cross may only be suitable for visual assessment. It would be totally unsuitable for use in breed distribution. An animal visually identified as Jersey Cross might have a breed of 75% Jersey & 25% Angus but equally could have some other combination with Jersey.
It is up to the API consumer to decide whether they wish to include cross breeds. To assist with identifying which breeds might be best suitable for visual assessment only, cross breed names have an ‘isCross’ indicator.
Data Structure
The conceptual structure for the API can be represented by:
Resource Name | Description |
---|---|
Livestock Species | The livestock species supported by the API |
Livestock Breed | The breeds for a species + whether a breed is a cross |
Livestock Scheme | The schema or short code schemes |
Livestock Identifier | The short code for a breed in the specified scheme |
Endpoints
Calling the Species endpoint returns a list of the livestock species supported.
GET /reference/species
Calling the Breeds endpoint returns the full list of breeds for the nominated species.
GET /reference/breeds?species={species}
Query String Parameters
Query string parameter | Required/Optional | Description | Type |
---|---|---|---|
Species | Required | The name of the species you want to look up. Currently cattle, sheep, and deer are supported. | string |
Authentication
Authentication is not required.
Guidance for Filtering the Results
You may want to filter the list of breeds once you have returned the list of breeds for a species.
If you do not want crosses, filter on isCross = False.
If you want details for a specific breed name, filter on name.
You could refine the list by schema if you only want breeds used by a specific organisation. For example, if you only need breeds used by ICAR (International Committee for Animal Recording) you can ignore breeds that do not have ICAR values in the array.
If you want a breed with a specific short code, you will search for the schema and id pair. For example, schema = ICAR3 and id = BRM would find the Brahman.