curl --request GET \
--url https://api.quiverquant.com/beta/bulk/congresstrading \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.quiverquant.com/beta/bulk/congresstrading"
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/bulk/congresstrading', 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/bulk/congresstrading",
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/bulk/congresstrading"
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/bulk/congresstrading")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quiverquant.com/beta/bulk/congresstrading")
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[
{
"Traded": "2023-11-07T05:31:56Z",
"Name": "<string>",
"BioGuideID": "<string>",
"Filed": "2023-11-07T05:31:56Z",
"Party": "<string>",
"Chamber": "<string>",
"Ticker": "<string>",
"TickerType": "<string>",
"Company": "<string>",
"Transaction": "<string>",
"Trade_Size_USD": "<string>",
"Status": "<string>",
"Subholding": "<string>",
"Description": "<string>",
"District": "<string>",
"Comments": "<string>",
"Quiver_Upload_Time": "2023-11-07T05:31:56Z",
"excess_return": "<string>",
"State": "<string>",
"last_modified": "2023-11-07T05:31:56Z"
}
]Bulk Congress Trading
Returns the full history of transactions by members of U.S. Congress.
curl --request GET \
--url https://api.quiverquant.com/beta/bulk/congresstrading \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.quiverquant.com/beta/bulk/congresstrading"
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/bulk/congresstrading', 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/bulk/congresstrading",
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/bulk/congresstrading"
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/bulk/congresstrading")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.quiverquant.com/beta/bulk/congresstrading")
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[
{
"Traded": "2023-11-07T05:31:56Z",
"Name": "<string>",
"BioGuideID": "<string>",
"Filed": "2023-11-07T05:31:56Z",
"Party": "<string>",
"Chamber": "<string>",
"Ticker": "<string>",
"TickerType": "<string>",
"Company": "<string>",
"Transaction": "<string>",
"Trade_Size_USD": "<string>",
"Status": "<string>",
"Subholding": "<string>",
"Description": "<string>",
"District": "<string>",
"Comments": "<string>",
"Quiver_Upload_Time": "2023-11-07T05:31:56Z",
"excess_return": "<string>",
"State": "<string>",
"last_modified": "2023-11-07T05:31:56Z"
}
]Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Congressperson's BioGuide id
Date, formatted as YYYYMMDD
Include non-stock transactions
Normalize representative/senator names
Page number
Items / page
Congressperson's name
Ticker for any given stock
API Version, one of V1 or V2
Response
- CongressionalTradeV2
- CongressionalTrade
V2 congressional trade data structure.
Transaction date
Name of congressperson who made the transaction
BioGuide ID of the congressperson who made the transaction
Disclosure date
Party of the congressperson who made the transaction
Senate or House
Ticker of shares transacted
Reported type of asset traded. Note: CS and ST are commonly used as abbreviated for common stock
RecentSenate
Purchase or Sale
Lower bound of transaction size ($). Congressional trades are reported as a range of values, this variable is the lower bound of that range
Status of lawmaker’s position
Reported subholding, if relevant
Transaction description
District of the congressperson who made the transaction
Any comments left by lawmaker
Time that transaction was scraped and processed by Quiver
Estimated return of stock compared to return of S&P 500 since the transaction date
Date that Quiver last updated the details of this transaction

