curl --request GET \
--url https://api.quiverquant.com/beta/live/warnnotices \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.quiverquant.com/beta/live/warnnotices"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.quiverquant.com/beta/live/warnnotices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.quiverquant.com/beta/live/warnnotices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.quiverquant.com/beta/live/warnnotices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.quiverquant.com/beta/live/warnnotices")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quiverquant.com/beta/live/warnnotices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"NoticeID": "<string>",
"Ticker": "<string>",
"Employer": "<string>",
"State": "<string>",
"City": "<string>",
"County": "<string>",
"NoticeDate": "2023-12-25",
"EffectiveDate": "2023-12-25",
"ReceivedDate": "2023-12-25",
"EmployeesAffected": 123,
"LayoffType": "<string>",
"Industry": "<string>",
"TickerMatchType": "<string>",
"TickerMatchConfidence": 123,
"FirstSeen": "2023-11-07T05:31:56Z"
}
]WARN Notices (Layoffs)
Returns WARN Act notices (advance notice of mass layoffs and plant closures that employers must file with states) for publicly traded companies, newest first. Each row is one notice, with the employer, location, number of employees affected, and notice and effective dates. FirstSeen is when Quiver first collected the notice, for point-in-time use. Optional ticker filters to one company, state to one state (two-letter code), and date_from / date_to (YYYYMMDD) bound the notice date; results are paginated via page (1-based) and page_size (default and max 1000).
curl --request GET \
--url https://api.quiverquant.com/beta/live/warnnotices \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.quiverquant.com/beta/live/warnnotices"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.quiverquant.com/beta/live/warnnotices', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.quiverquant.com/beta/live/warnnotices",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.quiverquant.com/beta/live/warnnotices"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.quiverquant.com/beta/live/warnnotices")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quiverquant.com/beta/live/warnnotices")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"NoticeID": "<string>",
"Ticker": "<string>",
"Employer": "<string>",
"State": "<string>",
"City": "<string>",
"County": "<string>",
"NoticeDate": "2023-12-25",
"EffectiveDate": "2023-12-25",
"ReceivedDate": "2023-12-25",
"EmployeesAffected": 123,
"LayoffType": "<string>",
"Industry": "<string>",
"TickerMatchType": "<string>",
"TickerMatchConfidence": 123,
"FirstSeen": "2023-11-07T05:31:56Z"
}
]403 from this endpoint. See Plans and data access.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Date to query from in YYYYMMDD format
Date to query to in YYYYMMDD format
Page number
Items / page
Two-letter US state code, e.g. CA
Ticker for any given stock
Response
Notice identifier, stable across updates
Ticker of the employer
Employer as named on the notice
Two-letter code of the state the notice was filed in
City of the affected site
County of the affected site
Date of the notice
Date the layoff or closure takes effect, when given
Date the state received the notice, when given
Number of employees affected
Type of action as reported by the state (e.g. Layoff Permanent, Closure Temporary)
Industry as reported by the state, when given
How the employer was matched to a ticker: exact, fuzzy, or search
Confidence of the ticker match (0-1)
When Quiver first collected the notice; use it for point-in-time backtests, since states often post notices days or weeks after the notice date

