court-api-wrapper
Version:
CLI & wrapper for CourtListener API
25 lines (21 loc) • 989 B
JavaScript
const axios = require("axios");
/**
* Search court cases
* @param {Object} options
* @param {string} options.query - Search keyword
* @param {string} [options.court] - Court code (e.g., scotus)
* @param {string} [options.dateFiledMin] - Minimum filing date (YYYY-MM-DD)
* @param {string} [options.dateFiledMax] - Maximum filing date (YYYY-MM-DD)
* @param {number} [options.page=1] - Page number for pagination
*/
async function searchCases({ query, court, dateFiledMin, dateFiledMax, page = 1 }) {
const url = new URL("https://www.courtlistener.com/api/rest/v4/search/");
if (query) url.searchParams.append("q", query);
if (court) url.searchParams.append("court", court);
if (dateFiledMin) url.searchParams.append("date_filed_min", dateFiledMin);
if (dateFiledMax) url.searchParams.append("date_filed_max", dateFiledMax);
url.searchParams.append("page", page);
const { data } = await axios.get(url.toString());
return data;
}
module.exports = { searchCases };