Skip to content
 
 

Repository files navigation

GovAI Contracts

A free, independent index of every U.S. federal AI / ML / data-science contract award and open opportunity.

Why

Federal AI contract intelligence is locked behind enterprise tools (Deltek GovWin, GovTribe, etc.) costing $10K–$30K/year. This site does the obvious thing the public APIs already enable: aggregate, filter, and make every AI/ML award searchable for free.

Stack

  • Astro 5 — static site, file-based routing
  • TypeScript
  • USAspending.gov public API (no auth)
  • SAM.gov opportunities API (free key, ~1k req/day)
  • GitHub Actions scheduled cron (every 6h)
  • Cloudflare Workers (free tier, static assets via wrangler deploy)

Local dev

npm install
npm run scrape         # awards → src/data/contracts.json
SAM_API_KEY=xxx npm run scrape:opps   # opportunities → src/data/opportunities.json
npm run dev            # http://localhost:4321
npm run build          # production build → dist/

How it works

  1. scripts/scrape.ts queries USAspending.gov for awards in AI-relevant NAICS codes (541511, 541512, 541513, 541519, 541715, 518210).
  2. It then filters by AI/ML keyword presence in each award's description (so generic IT contracts are excluded).
  3. scripts/scrape-opportunities.ts does the same for active SAM.gov solicitations (last 60 days). Skips gracefully if SAM_API_KEY is not set or daily quota is exhausted.
  4. Deduplicated results are written to src/data/contracts.json and src/data/opportunities.json.
  5. Astro builds ~1,200+ static pages at build time:
    • / — landing + recent awards
    • /contracts/ — searchable list (URL-state filters)
    • /contracts/[id]/ — programmatic SEO detail page per award
    • /agencies/, /agencies/[slug]/, /agencies/[slug]/vendors/
    • /vendors/, /vendors/[slug]/
    • /naics/, /naics/[code]/, /naics/[code]/vendors/
    • /opportunities/, /opportunities/[id]/
    • /export/all.csv, /export/all.json, /export/{agency,vendor,naics}/{slug}.csv
    • /pricing/, /alerts/, /claim/, /about/
  6. GitHub Actions reruns both scrapers every 6 hours and commits the refreshed datasets.

API quota usage (SAM.gov)

  • Free public quota: 1,000 requests/day per IP
  • Per cron run: 6 NAICS × up to 10 pages = ≤ 60 requests
  • 4 runs/day = ~240 requests/day (~24% of quota). Headroom for backfills and retries.

Disclaimer

GovAI Contracts is an independent project and is not affiliated with, endorsed by, or connected to any U.S. government agency. Data is provided as-is for informational purposes.

About

Free, searchable index of every U.S. federal AI/ML contract award. Updated every 6 hours from USAspending.gov + SAM.gov.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages