BirdWeather API
Welcome to the documentation for the BirdWeather GraphQL API.
Contact
Tim Clark
tim.clark@scribelabs.com
API Endpoints
BirdWeather GraphQL Server:
https://app.birdweather.com/graphql
Queries
birdnetSightings
SightingConnection!
Name | Description |
---|---|
after -
String
|
Returns the elements in the list that come after the specified cursor. |
before -
String
|
Returns the elements in the list that come before the specified cursor. |
first -
Int
|
Returns the first n elements from the list. |
last -
Int
|
Returns the last n elements from the list. |
limit -
Int
|
Maximum number of results to return |
offset -
Int
|
Initial offset of first result |
period -
InputDuration
|
Time period for query (defaults to last 24 hours) |
speciesId -
ID
|
Species ID (optional) |
ne -
InputLocation
|
North-east bounding box coordinates |
sw -
InputLocation
|
South-west bounding box coordinates |
Example
Query
query birdnetSightings($after: String, $before: String, $first: Int, $last: Int, $limit: Int, $offset: Int, $period: InputDuration, $speciesId: ID, $ne: InputLocation, $sw: InputLocation) {
birdnetSightings(after: $after, before: $before, first: $first, last: $last, limit: $limit, offset: $offset, period: $period, speciesId: $speciesId, ne: $ne, sw: $sw) {
edges {
...SightingEdgeFragment
}
nodes {
...SightingFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "abc123",
"first": 123,
"last": 987,
"limit": 987,
"offset": 987,
"period": InputDuration,
"speciesId": ID,
"ne": InputLocation,
"sw": InputLocation
}
Response
{
"data": {
"birdnetSightings": {
"edges": [SightingEdge],
"nodes": [Sighting],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
counts
Counts!
Name | Description |
---|---|
period -
InputDuration
|
Time period for query (defaults to last 24 hours) |
speciesId -
ID
|
Species ID (optional) |
scoreGt -
Float
|
Minimum (>) score |
scoreLt -
Float
|
Maximum (<) score |
scoreGte -
Float
|
Minimum (>=) score |
scoreLte -
Float
|
Maximum (<=) score |
confidenceGt -
Float
|
Minimum (>) confidence |
confidenceLt -
Float
|
Maximum (<) confidence |
confidenceGte -
Float
|
Minimum (>=) confidence |
confidenceLte -
Float
|
Maximum (<=) confidence |
probabilityGt -
Float
|
Minimum (>) probability |
probabilityLt -
Float
|
Maximum (<) probability |
probabilityGte -
Float
|
Minimum (>=) probability |
probabilityLte -
Float
|
Maximum (<=) probability |
timeOfDayGte -
Int
|
Minimum (>=) time of day |
timeOfDayLte -
Int
|
Maximum (<=) time of day |
ne -
InputLocation
|
North-east bounding box coordinates |
sw -
InputLocation
|
South-west bounding box coordinates |
Example
Query
query counts($period: InputDuration, $speciesId: ID, $scoreGt: Float, $scoreLt: Float, $scoreGte: Float, $scoreLte: Float, $confidenceGt: Float, $confidenceLt: Float, $confidenceGte: Float, $confidenceLte: Float, $probabilityGt: Float, $probabilityLt: Float, $probabilityGte: Float, $probabilityLte: Float, $timeOfDayGte: Int, $timeOfDayLte: Int, $ne: InputLocation, $sw: InputLocation) {
counts(period: $period, speciesId: $speciesId, scoreGt: $scoreGt, scoreLt: $scoreLt, scoreGte: $scoreGte, scoreLte: $scoreLte, confidenceGt: $confidenceGt, confidenceLt: $confidenceLt, confidenceGte: $confidenceGte, confidenceLte: $confidenceLte, probabilityGt: $probabilityGt, probabilityLt: $probabilityLt, probabilityGte: $probabilityGte, probabilityLte: $probabilityLte, timeOfDayGte: $timeOfDayGte, timeOfDayLte: $timeOfDayLte, ne: $ne, sw: $sw) {
breakdown {
...CountsBreakdownFragment
}
detections
species
stations
}
}
Variables
{
"period": InputDuration,
"speciesId": ID,
"scoreGt": 987.65,
"scoreLt": 123.45,
"scoreGte": 987.65,
"scoreLte": 987.65,
"confidenceGt": 123.45,
"confidenceLt": 123.45,
"confidenceGte": 987.65,
"confidenceLte": 123.45,
"probabilityGt": 987.65,
"probabilityLt": 987.65,
"probabilityGte": 123.45,
"probabilityLte": 987.65,
"timeOfDayGte": 123,
"timeOfDayLte": 123,
"ne": InputLocation,
"sw": InputLocation
}
Response
{
"data": {
"counts": {
"breakdown": CountsBreakdown,
"detections": 123,
"species": 123,
"stations": 987
}
}
}
detectionCounts
[BinnedSpeciesCount!]!
Name | Description |
---|---|
period -
InputDuration
|
Time period for query (defaults to last 24 hours) |
speciesId -
ID
|
Species ID (optional) |
scoreGt -
Float
|
Minimum (>) score |
scoreLt -
Float
|
Maximum (<) score |
scoreGte -
Float
|
Minimum (>=) score |
scoreLte -
Float
|
Maximum (<=) score |
confidenceGt -
Float
|
Minimum (>) confidence |
confidenceLt -
Float
|
Maximum (<) confidence |
confidenceGte -
Float
|
Minimum (>=) confidence |
confidenceLte -
Float
|
Maximum (<=) confidence |
probabilityGt -
Float
|
Minimum (>) probability |
probabilityLt -
Float
|
Maximum (<) probability |
probabilityGte -
Float
|
Minimum (>=) probability |
probabilityLte -
Float
|
Maximum (<=) probability |
timeOfDayGte -
Int
|
Minimum (>=) time of day |
timeOfDayLte -
Int
|
Maximum (<=) time of day |
ne -
InputLocation
|
North-east bounding box coordinates |
sw -
InputLocation
|
South-west bounding box coordinates |
Example
Query
query detectionCounts($period: InputDuration, $speciesId: ID, $scoreGt: Float, $scoreLt: Float, $scoreGte: Float, $scoreLte: Float, $confidenceGt: Float, $confidenceLt: Float, $confidenceGte: Float, $confidenceLte: Float, $probabilityGt: Float, $probabilityLt: Float, $probabilityGte: Float, $probabilityLte: Float, $timeOfDayGte: Int, $timeOfDayLte: Int, $ne: InputLocation, $sw: InputLocation) {
detectionCounts(period: $period, speciesId: $speciesId, scoreGt: $scoreGt, scoreLt: $scoreLt, scoreGte: $scoreGte, scoreLte: $scoreLte, confidenceGt: $confidenceGt, confidenceLt: $confidenceLt, confidenceGte: $confidenceGte, confidenceLte: $confidenceLte, probabilityGt: $probabilityGt, probabilityLt: $probabilityLt, probabilityGte: $probabilityGte, probabilityLte: $probabilityLte, timeOfDayGte: $timeOfDayGte, timeOfDayLte: $timeOfDayLte, ne: $ne, sw: $sw) {
bins {
...SpeciesCountBinFragment
}
count
species {
...SpeciesFragment
}
speciesId
}
}
Variables
{
"period": InputDuration,
"speciesId": ID,
"scoreGt": 123.45,
"scoreLt": 123.45,
"scoreGte": 123.45,
"scoreLte": 123.45,
"confidenceGt": 987.65,
"confidenceLt": 123.45,
"confidenceGte": 123.45,
"confidenceLte": 123.45,
"probabilityGt": 123.45,
"probabilityLt": 987.65,
"probabilityGte": 123.45,
"probabilityLte": 987.65,
"timeOfDayGte": 987,
"timeOfDayLte": 987,
"ne": InputLocation,
"sw": InputLocation
}
Response
{
"data": {
"detectionCounts": [
{
"bins": [SpeciesCountBin],
"count": 987,
"species": Species,
"speciesId": ID
}
]
}
}
detections
DetectionConnection!
Name | Description |
---|---|
after -
String
|
Returns the elements in the list that come after the specified cursor. |
before -
String
|
Returns the elements in the list that come before the specified cursor. |
first -
Int
|
Returns the first n elements from the list. |
last -
Int
|
Returns the last n elements from the list. |
period -
InputDuration
|
Time period for query (defaults to last 24 hours) |
speciesId -
ID
|
Species ID (optional) |
scoreGt -
Float
|
Minimum (>) score |
scoreLt -
Float
|
Maximum (<) score |
scoreGte -
Float
|
Minimum (>=) score |
scoreLte -
Float
|
Maximum (<=) score |
confidenceGt -
Float
|
Minimum (>) confidence |
confidenceLt -
Float
|
Maximum (<) confidence |
confidenceGte -
Float
|
Minimum (>=) confidence |
confidenceLte -
Float
|
Maximum (<=) confidence |
probabilityGt -
Float
|
Minimum (>) probability |
probabilityLt -
Float
|
Maximum (<) probability |
probabilityGte -
Float
|
Minimum (>=) probability |
probabilityLte -
Float
|
Maximum (<=) probability |
timeOfDayGte -
Int
|
Minimum (>=) time of day |
timeOfDayLte -
Int
|
Maximum (<=) time of day |
ne -
InputLocation
|
North-east bounding box coordinates |
sw -
InputLocation
|
South-west bounding box coordinates |
sortBy -
String
|
Example
Query
query detections($after: String, $before: String, $first: Int, $last: Int, $period: InputDuration, $speciesId: ID, $scoreGt: Float, $scoreLt: Float, $scoreGte: Float, $scoreLte: Float, $confidenceGt: Float, $confidenceLt: Float, $confidenceGte: Float, $confidenceLte: Float, $probabilityGt: Float, $probabilityLt: Float, $probabilityGte: Float, $probabilityLte: Float, $timeOfDayGte: Int, $timeOfDayLte: Int, $ne: InputLocation, $sw: InputLocation, $sortBy: String) {
detections(after: $after, before: $before, first: $first, last: $last, period: $period, speciesId: $speciesId, scoreGt: $scoreGt, scoreLt: $scoreLt, scoreGte: $scoreGte, scoreLte: $scoreLte, confidenceGt: $confidenceGt, confidenceLt: $confidenceLt, confidenceGte: $confidenceGte, confidenceLte: $confidenceLte, probabilityGt: $probabilityGt, probabilityLt: $probabilityLt, probabilityGte: $probabilityGte, probabilityLte: $probabilityLte, timeOfDayGte: $timeOfDayGte, timeOfDayLte: $timeOfDayLte, ne: $ne, sw: $sw, sortBy: $sortBy) {
edges {
...DetectionEdgeFragment
}
nodes {
...DetectionFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "xyz789",
"first": 987,
"last": 987,
"period": InputDuration,
"speciesId": ID,
"scoreGt": 987.65,
"scoreLt": 987.65,
"scoreGte": 123.45,
"scoreLte": 987.65,
"confidenceGt": 123.45,
"confidenceLt": 987.65,
"confidenceGte": 123.45,
"confidenceLte": 123.45,
"probabilityGt": 123.45,
"probabilityLt": 987.65,
"probabilityGte": 123.45,
"probabilityLte": 123.45,
"timeOfDayGte": 987,
"timeOfDayLte": 123,
"ne": InputLocation,
"sw": InputLocation,
"sortBy": "abc123"
}
Response
{
"data": {
"detections": {
"edges": [DetectionEdge],
"nodes": [Detection],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
searchSpecies
SpeciesConnection
Name | Description |
---|---|
after -
String
|
Returns the elements in the list that come after the specified cursor. |
before -
String
|
Returns the elements in the list that come before the specified cursor. |
first -
Int
|
Returns the first n elements from the list. |
last -
Int
|
Returns the last n elements from the list. |
query -
String
|
Search query string |
Example
Query
query searchSpecies($after: String, $before: String, $first: Int, $last: Int, $query: String) {
searchSpecies(after: $after, before: $before, first: $first, last: $last, query: $query) {
edges {
...SpeciesEdgeFragment
}
nodes {
...SpeciesFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "xyz789",
"first": 123,
"last": 123,
"query": "xyz789"
}
Response
{
"data": {
"searchSpecies": {
"edges": [SpeciesEdge],
"nodes": [Species],
"pageInfo": PageInfo,
"totalCount": 123
}
}
}
species
Species
Name | Description |
---|---|
id -
ID
|
Species ID |
scientificName -
String
|
Species scientific name |
Example
Query
query species($id: ID, $scientificName: String) {
species(id: $id, scientificName: $scientificName) {
alpha
alpha6
color
commonName
ebirdCode
ebirdUrl
id
imageCredit
imageLicense
imageLicenseUrl
imageUrl
mlUrl
scientificName
thumbnailUrl
wikipediaSummary
wikipediaUrl
}
}
Variables
{"id": ID, "scientificName": "abc123"}
Response
{
"data": {
"species": {
"alpha": "xyz789",
"alpha6": "abc123",
"color": "xyz789",
"commonName": "abc123",
"ebirdCode": "xyz789",
"ebirdUrl": "xyz789",
"id": ID,
"imageCredit": "xyz789",
"imageLicense": "abc123",
"imageLicenseUrl": "xyz789",
"imageUrl": "abc123",
"mlUrl": "xyz789",
"scientificName": "xyz789",
"thumbnailUrl": "abc123",
"wikipediaSummary": "abc123",
"wikipediaUrl": "abc123"
}
}
}
station
Example
Query
query station($id: ID!) {
station(id: $id) {
coords {
...CoordinatesFragment
}
detectionCounts {
...BinnedSpeciesCountFragment
}
detections {
...DetectionConnectionFragment
}
id
latestDetectionAt
location
name
source
timezone
topSpecies {
...SpeciesCountFragment
}
type
}
}
Variables
{"id": ID}
Response
{
"data": {
"station": {
"coords": Coordinates,
"detectionCounts": [BinnedSpeciesCount],
"detections": DetectionConnection,
"id": ID,
"latestDetectionAt": ISO8601DateTime,
"location": "xyz789",
"name": "xyz789",
"source": "abc123",
"timezone": "xyz789",
"topSpecies": [SpeciesCount],
"type": "xyz789"
}
}
}
stations
StationConnection!
Name | Description |
---|---|
after -
String
|
Returns the elements in the list that come after the specified cursor. |
before -
String
|
Returns the elements in the list that come before the specified cursor. |
first -
Int
|
Returns the first n elements from the list. |
last -
Int
|
Returns the last n elements from the list. |
query -
String
|
Optional search query |
Example
Query
query stations($after: String, $before: String, $first: Int, $last: Int, $query: String) {
stations(after: $after, before: $before, first: $first, last: $last, query: $query) {
edges {
...StationEdgeFragment
}
nodes {
...StationFragment
}
pageInfo {
...PageInfoFragment
}
totalCount
}
}
Variables
{
"after": "xyz789",
"before": "abc123",
"first": 123,
"last": 123,
"query": "abc123"
}
Response
{
"data": {
"stations": {
"edges": [StationEdge],
"nodes": [Station],
"pageInfo": PageInfo,
"totalCount": 987
}
}
}
topBirdnetSpecies
[SpeciesCount!]!
Name | Description |
---|---|
limit -
Int
|
Maximum number of results to return |
offset -
Int
|
Initial offset of first result |
period -
InputDuration
|
Time period for query (defaults to last 24 hours) |
speciesId -
ID
|
Species ID (optional) |
ne -
InputLocation
|
North-east bounding box coordinates |
sw -
InputLocation
|
South-west bounding box coordinates |
Example
Query
query topBirdnetSpecies($limit: Int, $offset: Int, $period: InputDuration, $speciesId: ID, $ne: InputLocation, $sw: InputLocation) {
topBirdnetSpecies(limit: $limit, offset: $offset, period: $period, speciesId: $speciesId, ne: $ne, sw: $sw) {
averageProbability
breakdown {
...SpeciesCountBreakdownFragment
}
count
species {
...SpeciesFragment
}
speciesId
}
}
Variables
{
"limit": 123,
"offset": 123,
"period": InputDuration,
"speciesId": ID,
"ne": InputLocation,
"sw": InputLocation
}
Response
{
"data": {
"topBirdnetSpecies": [
{
"averageProbability": 987.65,
"breakdown": SpeciesCountBreakdown,
"count": 123,
"species": Species,
"speciesId": ID
}
]
}
}
topSpecies
[SpeciesCount!]!
Name | Description |
---|---|
limit -
Int
|
Maximum number of results to return |
offset -
Int
|
Initial offset of first result |
period -
InputDuration
|
Time period for query (defaults to last 24 hours) |
speciesId -
ID
|
Species ID (optional) |
scoreGt -
Float
|
Minimum (>) score |
scoreLt -
Float
|
Maximum (<) score |
scoreGte -
Float
|
Minimum (>=) score |
scoreLte -
Float
|
Maximum (<=) score |
confidenceGt -
Float
|
Minimum (>) confidence |
confidenceLt -
Float
|
Maximum (<) confidence |
confidenceGte -
Float
|
Minimum (>=) confidence |
confidenceLte -
Float
|
Maximum (<=) confidence |
probabilityGt -
Float
|
Minimum (>) probability |
probabilityLt -
Float
|
Maximum (<) probability |
probabilityGte -
Float
|
Minimum (>=) probability |
probabilityLte -
Float
|
Maximum (<=) probability |
timeOfDayGte -
Int
|
Minimum (>=) time of day |
timeOfDayLte -
Int
|
Maximum (<=) time of day |
ne -
InputLocation
|
North-east bounding box coordinates |
sw -
InputLocation
|
South-west bounding box coordinates |
Example
Query
query topSpecies($limit: Int, $offset: Int, $period: InputDuration, $speciesId: ID, $scoreGt: Float, $scoreLt: Float, $scoreGte: Float, $scoreLte: Float, $confidenceGt: Float, $confidenceLt: Float, $confidenceGte: Float, $confidenceLte: Float, $probabilityGt: Float, $probabilityLt: Float, $probabilityGte: Float, $probabilityLte: Float, $timeOfDayGte: Int, $timeOfDayLte: Int, $ne: InputLocation, $sw: InputLocation) {
topSpecies(limit: $limit, offset: $offset, period: $period, speciesId: $speciesId, scoreGt: $scoreGt, scoreLt: $scoreLt, scoreGte: $scoreGte, scoreLte: $scoreLte, confidenceGt: $confidenceGt, confidenceLt: $confidenceLt, confidenceGte: $confidenceGte, confidenceLte: $confidenceLte, probabilityGt: $probabilityGt, probabilityLt: $probabilityLt, probabilityGte: $probabilityGte, probabilityLte: $probabilityLte, timeOfDayGte: $timeOfDayGte, timeOfDayLte: $timeOfDayLte, ne: $ne, sw: $sw) {
averageProbability
breakdown {
...SpeciesCountBreakdownFragment
}
count
species {
...SpeciesFragment
}
speciesId
}
}
Variables
{
"limit": 123,
"offset": 123,
"period": InputDuration,
"speciesId": ID,
"scoreGt": 987.65,
"scoreLt": 123.45,
"scoreGte": 987.65,
"scoreLte": 123.45,
"confidenceGt": 987.65,
"confidenceLt": 123.45,
"confidenceGte": 987.65,
"confidenceLte": 123.45,
"probabilityGt": 987.65,
"probabilityLt": 123.45,
"probabilityGte": 123.45,
"probabilityLte": 123.45,
"timeOfDayGte": 987,
"timeOfDayLte": 987,
"ne": InputLocation,
"sw": InputLocation
}
Response
{
"data": {
"topSpecies": [
{
"averageProbability": 987.65,
"breakdown": SpeciesCountBreakdown,
"count": 123,
"species": Species,
"speciesId": ID
}
]
}
}
Types
BinnedSpeciesCount
Field Name | Description |
---|---|
bins -
[SpeciesCountBin!]!
|
|
count -
Int!
|
|
species -
Species
|
|
speciesId -
ID!
|
Example
{
"bins": [SpeciesCountBin],
"count": 987,
"species": Species,
"speciesId": ID
}
Counts
Field Name | Description |
---|---|
breakdown -
CountsBreakdown!
|
|
detections -
Int!
|
|
species -
Int!
|
|
stations -
Int!
|
Example
{
"breakdown": CountsBreakdown,
"detections": 123,
"species": 987,
"stations": 123
}
Detection
An audio detection of a species by a BirdWeather station.
Field Name | Description |
---|---|
certainty -
String!
|
Calculated certainty |
confidence -
Float!
|
Reported confidence |
coords -
Coordinates!
|
Geographic coordinates of the detection |
id -
ID!
|
The unique identifier for the resource |
probability -
Float
|
Reported probability |
score -
Float!
|
Calculated score |
soundscape -
Soundscape
|
Associated soundscape (optional) |
species -
Species!
|
Detection species |
speciesId -
ID!
|
Species ID |
station -
Station
|
Station that recorded this detection |
timestamp -
ISO8601DateTime
|
Detection timestamp (in station time zone) |
Example
{
"certainty": "abc123",
"confidence": 987.65,
"coords": Coordinates,
"id": ID,
"probability": 123.45,
"score": 987.65,
"soundscape": Soundscape,
"species": Species,
"speciesId": ID,
"station": Station,
"timestamp": ISO8601DateTime
}
DetectionConnection
The connection type for Detection.
Field Name | Description |
---|---|
edges -
[DetectionEdge]
|
A list of edges. |
nodes -
[Detection]
|
A list of nodes. |
pageInfo -
PageInfo!
|
Information to aid in pagination. |
totalCount -
Int!
|
Example
{
"edges": [DetectionEdge],
"nodes": [Detection],
"pageInfo": PageInfo,
"totalCount": 987
}
ID
Represents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "VXNlci0xMA=="
) or integer (such as 4
) input value will be accepted as an ID.
Example
object
InputDuration
A time period (e.g. last 24 hours) or explicit date duration.
Input Field | Description |
---|---|
count -
Int
|
Number of units of time |
unit -
String
|
Unit of time (hour/day/week/month/year) |
from -
ISO8601Date
|
From date |
to -
ISO8601Date
|
To date |
Example
{
"count": 123,
"unit": "xyz789",
"from": ISO8601Date,
"to": ISO8601Date
}
Int
Represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
123
NewDetectionPayload
Autogenerated return type of NewDetection
Field Name | Description |
---|---|
detection -
Detection!
|
Example
{"detection": Detection}
PageInfo
Information about pagination in a connection.
Field Name | Description |
---|---|
endCursor -
String
|
When paginating forwards, the cursor to continue. |
hasNextPage -
Boolean!
|
When paginating forwards, are there more items? |
hasPreviousPage -
Boolean!
|
When paginating backwards, are there more items? |
startCursor -
String
|
When paginating backwards, the cursor to continue. |
Example
{
"endCursor": "xyz789",
"hasNextPage": false,
"hasPreviousPage": false,
"startCursor": "abc123"
}
Sighting
A BirdNET or eBird sighting.
Field Name | Description |
---|---|
coords -
Coordinates!
|
|
id -
ID!
|
The unique identifier for the resource |
score -
Float!
|
|
species -
Species!
|
|
speciesId -
ID!
|
|
timestamp -
ISO8601DateTime
|
Example
{
"coords": Coordinates,
"id": ID,
"score": 987.65,
"species": Species,
"speciesId": ID,
"timestamp": ISO8601DateTime
}
SightingConnection
The connection type for Sighting.
Field Name | Description |
---|---|
edges -
[SightingEdge]
|
A list of edges. |
nodes -
[Sighting]
|
A list of nodes. |
pageInfo -
PageInfo!
|
Information to aid in pagination. |
totalCount -
Int!
|
Example
{
"edges": [SightingEdge],
"nodes": [Sighting],
"pageInfo": PageInfo,
"totalCount": 123
}
Soundscape
A soundscape file uploaded by a BirdWeather station.
Field Name | Description |
---|---|
duration -
Int!
|
Duration (in seconds) of the audio file |
endTime -
Float!
|
End time (in seconds) of the detection |
filesize -
Int!
|
Size (in bytes) of the audio file |
id -
ID!
|
The unique identifier for the resource |
startTime -
Float!
|
Starting time (in seconds) of the detection |
station -
Station
|
Station that recorded this soundscape |
timestamp -
ISO8601DateTime!
|
Timestamp of the soundscape |
url -
String!
|
URL for the audio file |
Example
{
"duration": 123,
"endTime": 987.65,
"filesize": 123,
"id": ID,
"startTime": 987.65,
"station": Station,
"timestamp": ISO8601DateTime,
"url": "abc123"
}
Species
Field Name | Description |
---|---|
alpha -
String
|
4-letter alpha code |
alpha6 -
String
|
6-letter alpha code |
color -
String!
|
Assigned color |
commonName -
String!
|
Common name |
ebirdCode -
String
|
eBird alpha code |
ebirdUrl -
String
|
URL to eBird page |
id -
ID!
|
The unique identifier for the resource |
imageCredit -
String
|
Credited author of image |
imageLicense -
String
|
Name of image license |
imageLicenseUrl -
String
|
URL to image license page |
imageUrl -
String
|
400x400 image URL |
mlUrl -
String
|
URL to Macaulay Library page |
scientificName -
String
|
Scientific name |
thumbnailUrl -
String
|
100x100 thumbnail image URL |
wikipediaSummary -
String
|
Wikipedia extract |
wikipediaUrl -
String
|
URL to Wikipedia page |
Example
{
"alpha": "abc123",
"alpha6": "abc123",
"color": "abc123",
"commonName": "xyz789",
"ebirdCode": "abc123",
"ebirdUrl": "xyz789",
"id": ID,
"imageCredit": "abc123",
"imageLicense": "abc123",
"imageLicenseUrl": "xyz789",
"imageUrl": "xyz789",
"mlUrl": "abc123",
"scientificName": "xyz789",
"thumbnailUrl": "xyz789",
"wikipediaSummary": "xyz789",
"wikipediaUrl": "xyz789"
}
SpeciesConnection
The connection type for Species.
Field Name | Description |
---|---|
edges -
[SpeciesEdge]
|
A list of edges. |
nodes -
[Species]
|
A list of nodes. |
pageInfo -
PageInfo!
|
Information to aid in pagination. |
totalCount -
Int!
|
Example
{
"edges": [SpeciesEdge],
"nodes": [Species],
"pageInfo": PageInfo,
"totalCount": 123
}
SpeciesCount
Field Name | Description |
---|---|
averageProbability -
Float
|
|
breakdown -
SpeciesCountBreakdown
|
|
count -
Int!
|
|
species -
Species
|
|
speciesId -
ID!
|
Example
{
"averageProbability": 987.65,
"breakdown": SpeciesCountBreakdown,
"count": 123,
"species": Species,
"speciesId": ID
}
SpeciesCountBreakdown
Field Name | Description |
---|---|
almostCertain -
Int!
|
Count of almost certain detections |
uncertain -
Int!
|
Count of uncertain detections |
unlikely -
Int!
|
Count of unlikely detections |
veryLikely -
Int!
|
Count of very likely detections |
Example
{"almostCertain": 987, "uncertain": 987, "unlikely": 123, "veryLikely": 987}
Station
A BirdWeather station (either real or virtual).
Field Name | Description |
---|---|
coords -
Coordinates!
|
Location coordinates |
detectionCounts -
[BinnedSpeciesCount!]!
|
|
Arguments |
|
detections -
DetectionConnection!
|
|
id -
ID!
|
The unique identifier for the resource |
latestDetectionAt -
ISO8601DateTime
|
Timestamp of latest detection |
location -
String!
|
Human-readable location |
name -
String!
|
Station name |
source -
String
|
Stream source URL (optional) |
timezone -
String!
|
Timezone string |
topSpecies -
[SpeciesCount!]!
|
|
Arguments |
|
type -
String!
|
Station type (fixed, dropoff, mobile, stream_youtube, stream_audio) |
Example
{
"coords": Coordinates,
"detectionCounts": [BinnedSpeciesCount],
"detections": DetectionConnection,
"id": ID,
"latestDetectionAt": ISO8601DateTime,
"location": "abc123",
"name": "xyz789",
"source": "xyz789",
"timezone": "abc123",
"topSpecies": [SpeciesCount],
"type": "xyz789"
}
StationConnection
The connection type for Station.
Field Name | Description |
---|---|
edges -
[StationEdge]
|
A list of edges. |
nodes -
[Station]
|
A list of nodes. |
pageInfo -
PageInfo!
|
Information to aid in pagination. |
totalCount -
Int!
|
Example
{
"edges": [StationEdge],
"nodes": [Station],
"pageInfo": PageInfo,
"totalCount": 987
}
String
Represents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.
Subscription
Field Name | Description |
---|---|
newDetection -
NewDetectionPayload!
|
Example
{"newDetection": NewDetectionPayload}