Settlement API

Programmatically match users to eligible class action settlements and auto-file claims.

v1 Base URL: https://claimr.pro/api/v1

Getting Started

The Settlement API lets you integrate settlement matching into your app. It analyzes 100+ active class action settlements against a user's profile and evidence to find eligible matches, then optionally auto-fills claim forms using AI.

Get an API key: Email api@claimr.pro with your use case to request access.

Authentication

All requests require an API key passed via the Authorization header:

curl https://claimr.pro/api/v1/settlements \ -H "Authorization: Bearer sk_live_your_key_here"

You can also use the x-api-key header as an alternative.

Rate Limits

EndpointFree TierPro Tier
List settlements100/hour1,000/hour
Match settlements20/hour100/hour
Auto-file claimsNot available50/hour

Rate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response.

Endpoints

GET /api/v1/settlements List active settlements

Returns all active class action settlements, with optional filtering and pagination.

Query Parameters

ParameterTypeDefaultDescription
statusstringactiveactive, urgent, or all
categorystringFilter by category (e.g. data-breach, antitrust)
limitinteger50Results per page (1–200)
offsetinteger0Pagination offset

Example Response

{ "ok": true, "data": { "settlements": [ { "title": "Wells Fargo & Company — $33M Settlement", "deadline": "2026-04-15", "amount": "$33.0M", "status": "active", "claimUrl": "https://...", "type": "Consumer" } ], "pagination": { "total": 121, "limit": 50, "offset": 0, "hasMore": true }, "metadata": { "lastUpdated": "2026-03-08T...", "sources": ["pacer-rss", "classaction.org"] } }, "requestId": "req_a1b2c3...", "meta": { "timestamp": "...", "version": "v1" } }
POST /api/v1/settlements/match Match user to eligible settlements

Analyzes all active settlements against a user's profile and evidence using AI. Returns matches with confidence scores and reasoning.

Request Body

FieldTypeRequiredDescription
profile.namestring*User's full name
profile.emailstring*User's email (* at least name or email required)
profile.phonestringPhone number
profile.citystringCity
profile.statestringState (2-letter code)
profile.zipstringZIP code
profile.servicesstring[]Companies the user is a customer of (e.g. ["T-Mobile", "Wells Fargo"])
evidencearrayUp to 10 evidence images (base64)
evidence[].datastringBase64-encoded image
evidence[].mediaTypestringimage/jpeg, image/png, or image/webp
evidence[].labelstringDescription (e.g. "AT&T bill Jan 2025")

Example Request

curl -X POST https://claimr.pro/api/v1/settlements/match \ -H "Authorization: Bearer sk_live_your_key" \ -H "Content-Type: application/json" \ -d '{ "profile": { "name": "Jane Smith", "email": "jane@example.com", "state": "CA", "city": "Los Angeles", "services": ["T-Mobile", "Wells Fargo", "Amazon"] } }'

Example Response

{ "ok": true, "data": { "matches": [ { "settlement": { "title": "Wells Fargo — $33M Settlement", ... }, "confidence": "high", "reasoning": "User self-reported as Wells Fargo customer.", "eligibilityFactors": ["customer_self_reported"] } ], "totalAnalyzed": 121, "evidenceProcessed": 0 } }

This endpoint uses AI analysis and may take 10–30 seconds to respond.

POST /api/v1/settlements/auto-file PRO Auto-fill a claim form

Opens a settlement claim URL in a headless browser, uses AI vision to detect form fields, and auto-fills them with the user's information. Returns a screenshot of the filled form.

Request Body

FieldTypeRequiredDescription
claimUrlstringYesURL of the claim form
userInfo.namestring*Full name (* at least name or email)
userInfo.emailstring*Email address
userInfo.phonestringPhone number
userInfo.addressstringFull address
userInfo.citystringCity
userInfo.statestringState
userInfo.zipstringZIP code
settlementContextobjectContext for eligibility questions (from match endpoint)
evidencearrayUp to 5 evidence images
actionstringfill (default) or submit

Example Response

{ "ok": true, "data": { "success": true, "screenshot": "base64-encoded JPEG of the filled form", "actions": [ { "selector": "#firstName", "value": "Jane", "status": "filled" } ], "pageTitle": "Settlement Claim Form", "pageUrl": "https://..." } }

This endpoint launches a headless browser and may take 30–60 seconds. Pro plan required.

Error Codes

CodeHTTP StatusDescription
UNAUTHORIZED401Missing or invalid API key
FORBIDDEN403Key lacks required permission
PLAN_REQUIRED403Endpoint requires Pro tier
RATE_LIMITED429Rate limit exceeded
VALIDATION_ERROR400Invalid request body or parameters
INTERNAL_ERROR500Unexpected server error

All errors include an ok: false envelope with error.code, error.message, and a requestId for support.

Code Examples

JavaScript

const resp = await fetch('https://claimr.pro/api/v1/settlements/match', { method: 'POST', headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ profile: { name: 'Jane Smith', email: 'jane@example.com', state: 'CA', services: ['T-Mobile', 'Amazon'], }, }), }); const { data } = await resp.json(); console.log(`Found ${data.matches.length} eligible settlements`);

Python

import requests resp = requests.post( "https://claimr.pro/api/v1/settlements/match", headers={"Authorization": f"Bearer {API_KEY}"}, json={ "profile": { "name": "Jane Smith", "state": "CA", "services": ["T-Mobile", "Amazon"], } }, ) data = resp.json()["data"] print(f"Found {len(data['matches'])} eligible settlements")

Try It