API Documentation

Access re-compete intelligence, pricing benchmarks, and competitive data programmatically. Available on the Enterprise plan.

Authentication

JWT Bearer tokens via login endpoint

Rate Limits

Tier-based limits on results per query

Format

JSON responses, REST conventions

Base URL

https://pursight.ai/api

Authentication

All endpoints (except public preview) require a JWT Bearer token. Obtain one via the login endpoint.

Register

POST/api/auth/register
curl -X POST https://pursight.ai/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "email": "[email protected]",
    "password": "securepassword",
    "name": "Jane Doe",
    "company": "Acme Federal"
  }'
Response
{
  "token": "eyJhbGciOiJIUzI1NiJ9...",
  "user": {
    "id": "uuid",
    "email": "[email protected]",
    "name": "Jane Doe",
    "tier": "FREE"
  }
}

Login

POST/api/auth/login
curl -X POST https://pursight.ai/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "password": "securepassword"}'

Use the returned token in all subsequent requests:

Authorization: Bearer <your_token>

Re-compete Pipeline

Find contracts nearing expiration with vulnerability scores. Filter by NAICS, agency, value, set-aside, and time window.

GET/api/recompetes

Parameters

ParameterTypeDescription
naicsstringNAICS code filter (e.g. 541512)
agencystringAgency code filter (e.g. 097 for DoD)
maxDaysnumberContracts ending within N days (default: tier limit)
minValuenumberMinimum obligated amount
setAsidestringSet-aside filter (e.g. 'Small Business', '8(a)', 'HUBZone')
sortstringSort by: vulnerabilityScore, obligatedAmount, daysUntilEnd, endDate
orderstringasc or desc (default: asc)
pagenumberPage number (default: 1)
limitnumberResults per page (default: 25, max: tier limit)
curl "https://pursight.ai/api/recompetes?naics=541512&maxDays=365&minValue=100000&sort=vulnerabilityScore&order=desc&limit=10" \
  -H "Authorization: Bearer <token>"
Response
{
  "data": [
    {
      "piid": "W912DY23F0465",
      "obligatedAmount": "16251825.00",
      "endDate": "2026-03-31T00:00:00.000Z",
      "daysUntilEnd": 1,
      "vulnerabilityScore": 25,
      "isBridgeContract": true,
      "vendor": {
        "legalName": "SIEMENS GOVERNMENT TECHNOLOGIES INC",
        "isSmallBusiness": false
      },
      "agency": { "name": "Department of Defense" },
      "naics": { "code": "541512", "title": "Computer Systems Design" }
    }
  ],
  "pagination": {
    "total": 2183,
    "page": 1,
    "limit": 10,
    "totalPages": 219
  }
}

Price-to-Win Benchmarks

Get award value distributions by NAICS code, with percentile breakdowns and recommended bid ranges.

GET/api/pricing/benchmark
ParameterTypeDescription
naicsstringNAICS code (required)
agencystringAgency code filter (optional)
setAsidestringSet-aside filter (optional)
curl "https://pursight.ai/api/pricing/benchmark?naics=541512" \
  -H "Authorization: Bearer <token>"
Response
{
  "naicsCode": "541512",
  "yearlyStats": [
    {
      "fiscalYear": 2025,
      "awardCount": 7072,
      "avgValue": "602591.00",
      "medianValue": "25537.00",
      "p25Value": "2500.00",
      "p75Value": "150000.00"
    }
  ],
  "competition": { "avgOffers": 3.2, "sampleSize": 7072 },
  "recommendation": {
    "sweetSpot": "$2,500 - $25,537",
    "note": "Bid in the 25th-50th percentile range"
  }
}

Competitive Intelligence

See who wins in a NAICS code — ranked by total value, with win counts, deal sizes, and certifications.

GET/api/competitors
ParameterTypeDescription
naicsstringNAICS code (required)
agencystringAgency code filter (optional)
limitnumberNumber of competitors to return (default: 20)
curl "https://pursight.ai/api/competitors?naics=541512&limit=5" \
  -H "Authorization: Bearer <token>"
Response
{
  "naicsCode": "541512",
  "competitors": [
    {
      "rank": 1,
      "vendor": {
        "legalName": "LEIDOS, INC.",
        "isSmallBusiness": false,
        "certifications": [],
        "state": "VA"
      },
      "totalWins": 9885,
      "totalValue": 1790562897,
      "avgDealSize": 181126,
      "agencies": ["097", "070", "075"]
    }
  ]
}

Rate Limits by Tier

LimitFreeStarterProfessionalEnterprise
Results per query1050200Unlimited
Pricing history1 year3 yearsAllAll
Re-compete window90 days180 days365 days730 days

Code Examples

JavaScript

const response = await fetch(
  "https://pursight.ai/api/recompetes?naics=541512&maxDays=180",
  {
    headers: {
      "Authorization": "Bearer " + token,
    },
  }
);
const { data, pagination } = await response.json();
console.log(`Found ${pagination.total} recompetes`);

Python

import requests

headers = {"Authorization": f"Bearer {token}"}
response = requests.get(
    "https://pursight.ai/api/recompetes",
    params={"naics": "541512", "maxDays": 180},
    headers=headers,
)
data = response.json()
print(f"Found {data['pagination']['total']} recompetes")

Ready to integrate?

API access is available on the Enterprise plan at $499/mo.

Get Started

Questions? [email protected]