Links

Query examples

This page provides additional examples of various queries for Alerts API

Find Alerts for a set of Companies between certain dates

We're using where filter with multiple fields to find all of the Alerts from January 2021 for two given companies. You may find more details about filters in Alerts API in the Filtering and sorting guide.
query findAlerts {
alerts(
where: {
company: {
id: { in: [334, 1842] }
},
publishedAt: {
gte: "2021-01-01",
lte: "2021-02-01"
}
}
) {
id
text
title
company {
displayName
}
}
}

Find all Alerts from a certain date till now

Such a query might potentially return more entities than allowed per page. Please see the Alerts API pagination guide for more details on how to work with paginated queries.
query findAlerts($after: ID!, $where: AlertBoolExpression!) {
alerts(
first: 100,
after: $after,
where: $where,
) {
text
title
class {
label
}
}
}
where argument could have the following shape:
{
"publishedAt": { "gt": "2021-01-01" }
}

Fetch all available Alert fields

This query demonstrates all of the fields currently available on the Alert node. You may find the full type definitions available in the Alerts API Reference.
query findAlerts {
alerts {
id
dataset
polarity
payload
class {
code
label
}
resource {
id
type
}
title
text
source
value
variable
company {
id
displayName
homepage
}
period
publishedAt
occuredAt
}
}

Fetch all available Commodity Alerts since the given date

Please, note that particular dataset and class availability depends on your contractual agreement with Craft. Reach out to [email protected] for additional details.
This query filters alerts by the dataset and publishedAt fields.
query FetchCommodityAlerts($after: ID!, $where: AlertBoolExpression!) {
alerts(
first: 100,
after: $after,
where: $where,
) {
text
polarity
payload
resource {
id
type
}
}
}
where object could have the following shape:
{
"publishedAt": { "gt": "2022-01-01" },
"dataset": { "eq": "news_commodities" }
}
The query may return more than 100 records for a single request if there were more Alerts published during the given period of time. In order to fetch all of the records, please refer to the Alerts Pagination Guide.
You may also apply additional filters and sorting order if needed.

Filter Alerts by Polarity

This query shows how to find Alerts that have certain intent or sentiment (positive, negative or neutral) associated with them.
polarity field is an Int where all the values below 0 represent a negative sentiment and all values above - represent a positive one.
query FetchAlertsByPolarity {
positiveAlerts: alerts(
where: {
polarity: {
gt: 0
}
}
) {
id
polarity
text
}
neutralAlerts: alerts(
where: {
polarity: {
eq: 0
}
}
) {
id
polarity
text
}
negativeAlerts: alerts(
where: {
polarity: {
lt: 0
}
}
) {
id
polarity
text
}
}
In addition to gt, lt and eq, you may use other IntComparisonExpression operators as needed.