Grants.gov API — a practical feed

Grant writers and consultants; University / research administration usually need a reliable machine-readable feed — not another portal tab. Here is a method you can run yourself, then the Apify Actor that automates it.

The method

  1. Prefer the official API for the source (not brittle HTML) whenever one exists.
  2. Filter server-side or early: keywords, dates, codes (CPV/NAICS/CFDA), and geography.
  3. Flatten each record into one JSON row with stable ids and deep links back to the source.
  4. Deduplicate on the source id; keep failures as separate rows so one miss does not kill the batch.
  5. Schedule daily and diff on id so operators only see what is new.

Doing it at scale

Grants.gov Opportunities (publicrecords/grants-gov-scraper) runs that method on Apify. Federal grant opportunities from the official Grants.gov search2 API. Keyword, agency, posted-within and date filters to flat FOA JSON.

What you can rely on: Official Grants.gov search2 API; Flat deduplicated FOA rows; Keyword, agency, posted-within, and date filters; Opportunity identifiers, status, CFDA/ALN codes.

{
  "source": "Grants.gov Opportunities",
  "note": "Shape varies by Actor — see the Store README for the live output schema."
}

Actor: https://apify.com/publicrecords/grants-gov-scraper?utm_source=site&utm_medium=article&utm_campaign=grantsgov

Method pages: https://geminigeorge22.github.io/grantsgov/?utm_source=site&utm_medium=article&utm_campaign=grantsgov

Published by the publicrecords maintainer on Apify.