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.
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.
A call to the Breeds API returns the following fields for each breed in the species.
and an array of schema and id pairs, each giving the breed’s short code according to a scheme.
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.
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.
The conceptual structure for the API can be represented by:
Calling the Species endpoint returns a list of the livestock species supported.
Calling the Breeds endpoint returns the full list of breeds for the nominated species.
Authentication is not required.
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.