State grants

Real grant opportunities published by state agencies, read straight from each agency’s own funding page — and coverage stated exactly as far as it goes.

State grant coverage: 37 of 50 states validated, plus Washington, D.C. (0 connected, 0 curated, 38 limited)

This is a growing program covering the states listed as limited, curated or connected — it is not nationwide coverage.

Limited
Limited — one or a few validated sources, not statewide
Curated
Curated — the state's own listings, curated by us
Connected
Connected — statewide, multi-source coverage
Not covered yet
Not covered yet

Reading the latest state sync…

Alabamalimited

source-validation test src/lib/state-grants/alabama.source-validation.test.ts verified against https://adeca.alabama.gov/about/funding-opportunities/ on 2026-09-19

One validated source (ADECA's own Funding Opportunities page, at its FINAL URL — the short `/funding-opportunities/` address redirects here and the redirect target's host is the only one allowlisted). ADECA's intro says the page lists currently open opportunities only, but its own published dates are what decide: two programs whose September 18, 2026 deadline had passed are served `closed`, and the two still ahead are `open`. The dated application workshop on the VW Settlement card is an event and is never a deadline. Alabama publishes funding through other departments we have NOT validated: this is not statewide coverage.

Official source: https://adeca.alabama.gov/about/funding-opportunities/ · 1 registered source

Last successful sync: Not available

Arizonalimited

source-validation test src/lib/state-grants/arizona.source-validation.test.ts verified against https://azarts.gov/grants/ on 2026-09-19

One validated source (the Arizona Commission on the Arts grants page). Other Arizona agencies publish funding programs we have NOT validated — this is not statewide coverage.

Official source: https://azarts.gov/grants/ · 1 registered source

Last successful sync: Not available

Arkansaslimited

source-validation test src/lib/state-grants/arkansas.source-validation.test.ts verified against https://www.arkansasheritage.com/funding/art-grants on 2026-09-19

One validated source (the Arkansas Arts Council's Art Grants listing, on the agency's own arkansasheritage.com domain). The listing publishes no per-program deadline — its dated "When To Apply" list does not map onto the individual grant cards — so every record is honestly `unverified` rather than dated by inference. Other Arkansas agencies publish funding programs we have NOT validated: this is not statewide coverage.

Official source: https://www.arkansasheritage.com/funding/art-grants · 1 registered source

Last successful sync: Not available

Californialimited

source-validation test src/lib/state-grants/california.source-validation.test.ts verified against https://www.grants.ca.gov/?s&status_search%5B%5D=active on 2026-09-19

One validated source (the California Grants Portal's own Active-results view, page 1). The portal also lists upcoming, Closed and Post-Award grants we do not serve, and we read only the first page of the Active facet — this is not statewide coverage.

Official source: https://www.grants.ca.gov/?s&status_search%5B%5D=active · 1 registered source

Last successful sync: Not available

Coloradolimited

source-validation test src/lib/state-grants/colorado.source-validation.test.ts verified against https://oedit.colorado.gov/advanced-industries-accelerator-programs on 2026-09-19

One validated source (OEDIT's Advanced Industries Accelerator Programs listing). OEDIT's own Programs-and-Funding index publishes no per-program dates, so this is ONE program family of ONE division — Colorado publishes funding through many other agencies we have NOT validated: this is not statewide coverage.

Official source: https://oedit.colorado.gov/advanced-industries-accelerator-programs · 1 registered source

Last successful sync: Not available

Delawarelimited

source-validation test src/lib/state-grants/delaware.source-validation.test.ts verified against https://arts.delaware.gov/grants/ on 2026-09-19

One validated source (the Delaware Division of the Arts Grant Programs Overview). Other Delaware agencies publish funding programs we have NOT validated — this is not statewide coverage.

Official source: https://arts.delaware.gov/grants/ · 1 registered source

Last successful sync: Not available

District of Columbialimited

source-validation test src/lib/state-grants/district-of-columbia.source-validation.test.ts verified against https://dmped.dc.gov/service/grant-opportunities on 2026-09-19

One validated source (the DC Office of the Deputy Mayor for Planning and Economic Development's Grant Opportunities listing). The page tags each card OPEN or CLOSED in its own words: the CLOSED cards are served `closed`, and the one card tagged OPEN that publishes no closing date at all is honestly `unverified` rather than assumed open. A card whose own published closing date has passed is served `closed` even when the page still tags it OPEN — a stale page never makes a deadline look open. The District runs funding through other agencies and councils we have NOT validated (`dslbd.dc.gov` answers 403 from this egress): this is not statewide coverage.

Official source: https://dmped.dc.gov/service/grant-opportunities · 1 registered source

Last successful sync: Not available

Floridalimited

source-validation test src/lib/state-grants/florida.source-validation.test.ts verified against https://dos.fl.gov/cultural/grants/ on 2026-09-19

One validated source: the Florida Department of State's Division of Arts and Culture grants index on dos.fl.gov plus the grant PROGRAMME pages that index publishes. The index is a PROGRAM CATALOGUE (27.9 KB live, twenty-seven grant mentions, ZERO dates), so the connector fetches the index plus each programme page the index itself links and reads each programme's OWN application statement. The Division's own past-tense label ("Applications for Fiscal Year 2027-2028 are CLOSED", and the prose "The application cycle for this program has CLOSED." on the America 250 page) makes those programmes `closed` on a live page. The Division's "Next Deadline: TBD" is a deadline label with NO date, so the record keeps no close date at all (and is never an estimate), and that single value is never spread across the catalogue. The 2028/2029 dates the pages publish are the GRANT PERIOD for the NEXT application cycle — an activity period, labelled as such — and are never read as a posted or close date; the funding-process page's one general `deadline` token sits OUTSIDE the child scope for exactly that reason. The Cultural Endowment page is programme history with no application statement, so it contributes no record rather than an undated one. This is ONE division of ONE department: other Florida agencies award grants we have NOT validated, so the state is `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://dos.fl.gov/cultural/grants/ · 1 registered source

Last successful sync: Not available

Hawaiilimited

source-validation test src/lib/state-grants/hawaii.source-validation.test.ts verified against https://sfca.hawaii.gov/grants/ on 2026-09-19

One validated source (the State Foundation on Culture and the Arts' current and upcoming grants table — not its separate list of past award recipients). This is not statewide coverage.

Official source: https://sfca.hawaii.gov/grants/ · 1 registered source

Last successful sync: Not available

Illinoislimited

source-validation test src/lib/state-grants/illinois.source-validation.test.ts verified against https://omb.illinois.gov/public/gata/csfa/OpportunityList.aspx on 2026-09-19

One validated source: the Illinois CSFA current funding-opportunity list, located live on 2026-09-19 after the phase-1 map recorded that the dated NOFO path was NOT found (the guessed /csfa/ and /nofo.html both 404 and the gata.illinois.gov root is informational). The real path was found by following the State's own link graph — gata.illinois.gov root → its own CSFA page /grants/csfa.html → the public CSFA application it embeds at omb.illinois.gov/public/gata/csfa/ → its own link to OpportunityList.aspx — and the list is the statewide catalog the Grants Accountability and Transparency Act (30 ILCS 708) requires. The whole unpaginated list is read (the page states its own total, which the tests cross-check): the Application Date Range column is read as its two ordered ends, the State's own "No end date" is the ONLY input to `rolling` (never an invented deadline), a passed published end date is `closed`, and "Not Applicable" award ranges are stored as no amount rather than as a number. Only the current-opportunity VIEW of the catalog is read, and other agencies' own listings were NOT validated, so `limited`, never `curated`/`connected` — not statewide coverage.

Official source: https://omb.illinois.gov/public/gata/csfa/OpportunityList.aspx · 1 registered source

Last successful sync: Not available

Indianalimited

source-validation test src/lib/state-grants/indiana.source-validation.test.ts verified against https://www.in.gov/arts/programs-and-services/funding/ on 2026-09-19

One validated source: the Indiana Arts Commission's own funding programme pages on in.gov, reached from the Commission's funding hub. The hub itself is a PROGRAM CATALOGUE (63 KB live, thirteen grant mentions, ZERO dates), so the connector fetches the hub plus the funding programme pages the HUB publishes (Arts Project Support, Arts Organization Support, America250 Grant Program, Every County Funded) and reads every cycle from its OWN page's “Application Timeline” table. Only the row the Commission labels "Application Due" is a deadline: the "Draft Application Review Deadline for New Applicants", "Funding Notification", "Final Grant Report Due", webinar and panel rows are process dates and the "Grant Period" is an activity period — none of them is ever a deadline. A struck-through (<del>) value is the Commission's own superseded value, so the replacement in the same cell is read and the struck-through day is not. Previous fiscal-year cycles stay visible as published records and are `closed` (never hidden, never open on a live page). The Every County Funded page publishes programme copy and an awardee list with no timeline, so it contributes no record. This is ONE agency's funding programmes: other Indiana agencies award grants we have NOT validated, so the state is `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://www.in.gov/arts/programs-and-services/funding/ · 1 registered source

Last successful sync: Not available

Iowalimited

source-validation test src/lib/state-grants/iowa.source-validation.test.ts verified against https://opportunityiowa.gov/community/arts-culture/grants-programs on 2026-09-19

One validated source: the Iowa Economic Development Authority / Iowa Arts Council's own Grants & Programs catalogue on opportunityiowa.gov (the FINAL URL the off-host iowaculture.gov/grants 301 lands on) plus 18 of the 19 programme pages that catalogue publishes. The catalogue is a JS-rendered program catalogue with NO date token of its own, so every record is read from ONE programme page's OWN body region. Only labels the agency itself publishes are read: a `Deadline:` block per applicant role (the Iowans Create Community Mural Program publishes one for Communities and one for Artists), a `<date> | <label>` line in a Timeline list, the agency's sentence "The deadline for submitting an online application is 11:59PM on <date>", a published acceptance window ("accepted from February 2, 2026, through March 16, 2026") and its own rolling declaration ("accepted on a rolling basis until April 15, 2027") — which is served `rolling` with NO close date. Everything else this source dates is REFUSED and recorded verbatim in each record's `raw.refusedDates`: the Final Report Deadline, Finalist Applicant Interviews and Award Notification milestones in the Scholarship Timeline, the Film Rebate page's fund-availability and expense-window days, and the eligible funding periods. Twelve programmes whose pages state in the agency's own words that they are "not currently accepting applications" (or "will not be accepting applications") are served `closed` with no date; three pages that publish no window of their own are `unverified` rather than guessed. Two catalogue tiles are deliberately NOT read: a program-guidelines page that restates its parent's window (reading both would double-count one application) and a grantee support FAQ. This is ONE agency's arts-and-culture catalogue: Iowa awards grants through other departments and local bodies we have NOT validated, so the state is `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://opportunityiowa.gov/community/arts-culture/grants-programs · 1 registered source

Last successful sync: Not available

Kansaslimited

source-validation test src/lib/state-grants/kansas.source-validation.test.ts verified against https://www.kansascommerce.gov/grantscalendar/ on 2026-09-19

One validated source (the Kansas Department of Commerce's grants calendar). The calendar publishes its Application Period as year-less month ranges, so most programs are honestly `unverified` until the source publishes dated cycles, and no program has its own page — this is not statewide coverage.

Official source: https://www.kansascommerce.gov/grantscalendar/ · 1 registered source

Last successful sync: Not available

Kentuckylimited

source-validation test src/lib/state-grants/kentucky.source-validation.test.ts verified against https://artscouncil.ky.gov/program-type/grants/ on 2026-09-19

One validated source (the Kentucky Arts Council's own program listing). The listing's WordPress title reads "Grants Archives", which was checked against the current-vs-past rule BEFORE any record was published: it is the `program-type` taxonomy listing, its deadlines run both before and after today, and each program's own page publishes the same live deadline — so its past deadlines are served `closed` and its future ones `open`, and nothing is served open merely because the page is live. Kentucky publishes funding through other departments we have NOT validated: this is not statewide coverage.

Official source: https://artscouncil.ky.gov/program-type/grants/ · 1 registered source

Last successful sync: Not available

Mainelimited

source-validation test src/lib/state-grants/maine.source-validation.test.ts verified against https://mainearts.maine.gov/Pages/Funding/Grants-Home on 2026-09-19

One validated source (the Maine Arts Commission's own Grants Home page, read at its deep URL). Both shapes the page publishes are read: the current/upcoming opportunity cards (with their own "Applications Open:" and "Application Deadline:" labels) and the funding directory's per-program "Current Status:". Programs the agency files as Closed — including ones it last awarded in FY2027 — are served `closed` and are never presented as open; a program whose status is neither open nor closed and which publishes no date stays `unverified`. A program the page publishes in both shapes is ONE record, identified by the agency's own page path for it. Maine publishes funding through other departments we have NOT validated: this is not statewide coverage.

Official source: https://mainearts.maine.gov/Pages/Funding/Grants-Home · 1 registered source

Last successful sync: Not available

Marylandlimited

source-validation test src/lib/state-grants/maryland.source-validation.test.ts verified against https://msac.org/programs/grants-organizations on 2026-09-19

One validated source: the Maryland State Arts Council's own Grants for Organizations (GFO) programme page on msac.org (an agency domain rather than a .gov one) PLUS the GFO programme pages that page itself publishes. The GFO index is a PROGRAM CATALOGUE — its only date token is September 9, 2021, the day the Council adopted its funding formula (governance history, never a cycle) — so the connector fetches the index plus every GFO programme page it publishes and reads each record from its OWN page. Only the ONE date the Council itself LABELS is read: the `Deadline` value in a programme page's own Quick Resources box. A labelled deadline with no readable day keeps the record with NO close date rather than a guess. The Council's year-less prose deadlines ("by September 15th annually", "by November 15"), the eligibility page's process and reporting notes, and the index's 2021 formula date are never deadlines. The deadline the Council publishes today (09/15/2026) has passed, so it is served `closed` on a live page. The Council's other programme families (Arts Capital, Arts in Education, Maryland Traditions, Poetry Out Loud and the rest) are deliberately out of scope — Poetry Out Loud publishes a schools COMPETITION deadline, which is not a grant deadline. Maryland awards grants through other agencies we have NOT validated, so this is ONE programme of ONE agency: `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://msac.org/programs/grants-organizations · 1 registered source

Last successful sync: Not available

Minnesotalimited

source-validation test src/lib/state-grants/minnesota.source-validation.test.ts verified against https://www.arts.state.mn.us/calendar/index.htm on 2026-09-19

One validated source (the Minnesota State Arts Board's own Arts Board Calendar, current fiscal-year table, Application Deadline column only). This is one agency's calendar — other Minnesota agencies publish funding programs we have NOT validated: this is not statewide coverage.

Official source: https://www.arts.state.mn.us/calendar/index.htm · 1 registered source

Last successful sync: Not available

Montanalimited

source-validation test src/lib/state-grants/montana.source-validation.test.ts verified against https://commerce.mt.gov/Business/Programs-and-Services/Tourism-Marketing/Tourism-Grant-Program/Montana-Tourism-Development-Grant-Program on 2026-09-19

One validated source: the Montana Department of Commerce's own Montana Tourism Development Grant Program page on commerce.mt.gov. The dated sentence is NOT on the parent Tourism Grant Program catalogue (322 KB live, 45 grant mentions, zero dates — parsing it could only ever produce undated records); the connector reads the CHILD programme page the Department publishes, whose "Resources for Applicants" list carries its own ordered "will open Jan. 6, 2027 and close on Feb. 3, 2027" cycle sentence. Both ends are read in source order and never picked apart; a year-less or unreadable end yields no date rather than an invented one, and a passed cycle is `closed`. The Montana Arts Council's art.mt.gov pages are stale (2022) or award lists and represent no coverage. This is ONE programme family of ONE department: `limited`, never `connected` — this is not statewide coverage.

Official source: https://commerce.mt.gov/Business/Programs-and-Services/Tourism-Marketing/Tourism-Grant-Program/Montana-Tourism-Development-Grant-Program · 1 registered source

Last successful sync: Not available

Nebraskalimited

source-validation test src/lib/state-grants/nebraska.source-validation.test.ts verified against https://opportunity.nebraska.gov/programs/ on 2026-09-19

One validated source: the Nebraska Department of Economic Development's own Programs index on opportunity.nebraska.gov plus 46 of the 63 programme pages that index links — the ones whose own page publishes a labelled application-window block (verified live 2026-09-19). The index itself publishes ZERO date tokens (its news and “stay up to date” furniture is never read), so every record is read from ONE programme page's own Divi promo module: the module's own heading is the title, and its own labels (Open Date/Close Date, Submission Open|Close Date, Pre-/Full Application Opens|Closes, Application Deadline, a date-to-date range under “Application Period”, or the source's own “Open Cycle” wording) decide the window. Anticipated award dates, letters of intent, periods of performance and press-release dates are never read; a year-less deadline (“Application Deadline: Sept. 15”) is kept verbatim with NO close date, and a block publishing two successive periods at once is refused rather than picked. Past cycles the DED leaves on live pages are served `closed`, never hidden and never open. Two of the index's 63 links 404, which is why the child list is PINNED rather than link-derived. This is ONE agency's programme pages: other Nebraska agencies and local bodies award grants we have NOT validated, so the state is `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://opportunity.nebraska.gov/programs/ · 1 registered source

Last successful sync: Not available

Nevadalimited

source-validation test src/lib/state-grants/nevada.source-validation.test.ts verified against https://www.nvartscouncil.org/fy27-grant-offerings/ on 2026-09-19

One validated source: the Nevada Arts Council's own FY27 Grant Offerings page on the Council's own domain (nvartscouncil.org / www.nvartscouncil.org). The phase-1 map named the Council's /grants/ page; live re-verification on 2026-09-19 showed that page is the Council's FAQ (it publishes exactly one date in its body and points readers to the Grant Offerings page for deadlines), so the connector reads the dated listing the Council itself points at. Only the Council's own labelled "Application deadline:" value is read: the "Grant Activity Period" on every card is the funded ACTIVITY period and is never a deadline, and deadlines published as RULES ("At least 30 days before the proposed project (while funds remain available)") are served `unverified` rather than inferred. A published deadline that has passed is `closed` even under the Council's own "Open and Upcoming Grants:" heading, and the programs under its "Closed Grants:" heading are served as the source's own closed state. The Council's past-grantee/award pages are award records and are never served as opportunities. Nevada publishes funding through other departments we have NOT validated: this is ONE agency, so `limited`, never `connected` — not statewide coverage.

Official source: https://www.nvartscouncil.org/fy27-grant-offerings/ · 1 registered source

Last successful sync: Not available

New Hampshirelimited

source-validation test src/lib/state-grants/new-hampshire.source-validation.test.ts verified against https://www.visitnh.gov/industry-members/work-together/grants/jpp-program on 2026-09-19

One validated source: the New Hampshire Joint Promotional Program (JPP) deadlines page, published by the Division of Travel and Tourism Development on visitnh.gov (inside the Department of Business and Economic Affairs, DRED). PROVENANCE: the phase-1 map's PRIMARY candidate for New Hampshire was a DIFFERENT agency (nheconomy.com/about-us/grant-programs), which publishes ten grant links and ZERO dates live; the dated listing is this one programme of this one division. Only the Division's own labelled "Application Due Date" value is read — its "Applicants Notified" value is a notification date and is never a deadline — and the four published rounds are four separate records, each with its own date. A round whose published deadline has passed is `closed` even though the page is live. New Hampshire publishes funding through other departments and agencies we have NOT validated, so this is ONE programme of ONE division: `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://www.visitnh.gov/industry-members/work-together/grants/jpp-program · 1 registered source

Last successful sync: Not available

New Jerseylimited

source-validation test src/lib/state-grants/new-jersey.source-validation.test.ts verified against https://www.nj.gov/agriculture/financial-services/grants/ on 2026-09-20

One validated source: the New Jersey Department of Agriculture's own grant opportunities page on nj.gov (agriculture/financial-services/grants), the publication of NJDA notice of funding availability required by N.J.S.A. 52:14-34.5. The page groups its programmes under its OWN bucket headings — Open Opportunities, Closed Opportunities and SADC Grant Opportunities — and each programme section carries its own labelled fields (Purpose, Eligible Applicants, Funding Available, How to Apply, Program Webpage, Contact). Every record is read from ONE programme's own section: `closed` only from the source's own past-tense statement, `rolling` only from its own open-ended declaration, and a close date only from its own deadline label ("no later than October 16, 2026" on the USDA-AMS Specialty Crop Multi-State round). Every other date the page publishes is REFUSED verbatim into `raw.refusedDates` and is never a posted, close or estimated date: the year-less email cut-offs ("on or before July 31st, 12:00pm EDT", "after January 30th, 5 PM EST", the SCBGP "May 14th"), the funding-availability days ("available … after April 1, 2025") and the month-and-year period (AFT: "available until June 2027"). The Animal Waste Management Plan grant, which the page lists under Open Opportunities, publishes NO deadline at all, so it is served `unverified` with no close date rather than dated by inference. The page's "Other Funding Opportunities" bucket — which the page itself says is "not offered by the NJDA directly" (American Farmland Trust, Fulfill, the Community FoodBank of NJ, the NJ Junior Breeder Loan Fund) — is excluded by construction and named in `raw.thirdPartyProgramsExcluded`. The DCA candidate from the recon handoff was rejected on evidence: it publishes no record of its own and points at a third-party vendor system (SAGE). NJDA is ONE department of a state whose other departments award grants we have NOT validated, so this is `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://www.nj.gov/agriculture/financial-services/grants/ · 1 registered source

Last successful sync: Not available

New Mexicolimited

source-validation test src/lib/state-grants/new-mexico.source-validation.test.ts verified against https://nmarts.org/grants/apply-for-a-grant/ on 2026-09-19

One validated source (New Mexico Arts' "Apply for a Grant" page, from which only the labelled application-deadline milestones are read). New Mexico Arts' grants-information index publishes no year-bearing date at all, and other New Mexico agencies publish funding programs we have NOT validated: this is not statewide coverage.

Official source: https://nmarts.org/grants/apply-for-a-grant/ · 1 registered source

Last successful sync: Not available

New Yorklimited

source-validation test src/lib/state-grants/new-york.source-validation.test.ts verified against https://esupplier.sfs.ny.gov/psc/fscm/SUPPLIER/ERP/c/NY_SUPPUB_FL.AUC_RESP_INQ_AUC.GBL on 2026-09-20

One validated source: New York State's own Grant Opportunity Portal inside the SFS Vendor Portal on esupplier.sfs.ny.gov — the portal the State links from grantsmanagement.ny.gov/search-funding-sfs, which states "Anyone can access the Grant Opportunity Portal. A username and password are not necessary to view anticipated and available grant opportunities." The listing is served only inside a PUBLIC session: a cookie-less GET answers 302 with no grid, so it is read through the portal's own public guest page and the temporary public-session cookies that page sets — in memory for that run only, with no credentials sent, nothing persisted, and every failure failing closed (the owner's 2026-09-19 terms). The grid is an Oracle PeopleSoft table with its own printed column headers; EXACTLY ONE of its date columns is ever published as a record's date — the one the portal labels "Due Date" (for example "10/08/2026 4:30PM EDT") — and that ownership is checked structurally against the grid's own gridFieldList_win0 declaration, so a grid whose headers and field list disagree is refused rather than read. The portal's other two date columns are REFUSED verbatim into raw.refusedDates: "Availability Date" is a release/availability stamp, not a closing date, and "Anticipated Release Date" is by the source's own word an ANTICIPATED (estimated) date, which this workstream never promotes into a date. Consequently no record carries a posting date or an estimate, no status is inferred from page prose (only from the portal's own Status cell: "Available" or "Advertised Only - Not in SFS"), and the grid's own declared row count is cross-checked so a truncated grid fails the read. Each row's Grant Opportunity cell is a PeopleSoft javascript post-back rather than a link, so no static per-opportunity URL exists and every record points at the official portal page instead. As of 2026-09-20 the corpus yields 22 records, all of them `open` (every published Due Date is still ahead). Although this IS the State's own multi-agency portal, it is ONE source, so New York is `limited` — the owner's own ruling of 2026-09-19 — and is never presented as statewide comprehensive coverage: this is not statewide coverage.

Official source: https://esupplier.sfs.ny.gov/psc/fscm/SUPPLIER/ERP/c/NY_SUPPUB_FL.AUC_RESP_INQ_AUC.GBL · 1 registered source

Last successful sync: Not available

North Dakotalimited

source-validation test src/lib/state-grants/north-dakota.source-validation.test.ts verified against https://www.arts.nd.gov/grants on 2026-09-19

One validated source (the North Dakota Council on the Arts' "Grants at a Glance" listing). Cards that state their deadline as a RULE ("6 weeks prior to project start date") and the two-round card are honestly `unverified`, never guessed. Other North Dakota agencies publish funding programs we have NOT validated: this is not statewide coverage.

Official source: https://www.arts.nd.gov/grants · 1 registered source

Last successful sync: Not available

Ohiolimited

source-validation test src/lib/state-grants/ohio.source-validation.test.ts verified against https://oac.ohio.gov/grants/10-grant-opportunities on 2026-09-20

One validated source: the Ohio Arts Council's own grant-program catalogue on oac.ohio.gov (grants/10-grant-opportunities) together with the 14 programme pages it links. Ohio's STATEWIDE funding-opportunities listing is published as JSON by the official OBM API host api.obm.ohio.gov, but that host presents an INCOMPLETE TLS chain (it sends only its leaf certificate, so curl, bun and node all fail verification with "unable to get local issuer certificate"; a browser recovers by fetching the missing intermediate) — a verified-TLS fetch cannot read it, so this connector does NOT use it and Ohio is served by ONE agency. Each programme page publishes a labelled lifecycle table under its own cycle headings, with rows such as "*Grant Agreement Deadline: August 30, 2026", "Off-year Update Deadline at 5 p.m.: April 1, 2026", "Application Available in ARTIE: November 2024", "Large Orgs' Financial Materials Due: April 1, 2023" and "Grant Award Announcement: July 2026". EXACTLY ONE row type is ever read: the source's own "Application Deadline …" row whose value is a full published day, and the LATEST such row on the page becomes the record's close date — read on STRIPPED text (several pages wrap the label in markup that a raw-HTML read misses) and never scoped by an h2 TIMELINE heading, because only one of the 14 pages has that heading. Every other date is REFUSED verbatim into raw.refusedDates with a kind and a reason and is never a posted, close or estimated date: the agreement, final-report and off-year deadlines, the ARTIE availability windows (a window OPENING, not a closing), the award-announcement months, the ADA enactment date in the ADAP page's own prose, the site's news dates around the body, and every month-and-year period. A programme whose ONLY application-deadline row is RELATIVE publishes no date and stays `unverified` (ArtsRISE: "90 days prior to Project Start Date"; Big Yellow School Bus: "At least 8 weeks prior to event"), as does Ohio Artists on Tour, which publishes no application deadline at all. No posting date and no estimate is ever produced by this source. As of 2026-09-20 the corpus yields 14 records, 2 of them open (Capacity Building and the Artists with Disabilities Access Program, both "November 1, 2026"). The Ohio Arts Council is ONE agency of a state whose other departments award grants we have NOT validated, so this is `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://oac.ohio.gov/grants/10-grant-opportunities · 1 registered source

Last successful sync: Not available

Oklahomalimited

source-validation test src/lib/state-grants/oklahoma.source-validation.test.ts verified against https://oklahoma.gov/arts/grants/grants-for-organizations.html on 2026-09-19

One validated source read across the Oklahoma Arts Council's TWO program indexes on the State of Oklahoma's canonical oklahoma.gov host (grants-for-organizations.html and grants-for-schools.html): the Council's /arts/grants.html hub publishes no per-program date at all, so both indexes are fetched fail-closed every run as ONE source. Only the Council's own labelled "Application Deadlines" value is read: "Project Activity Dates" is the funded ACTIVITY period and is never a deadline, the Council's own "(Closed)" marker is served as its closed state (with the date it published alongside it), and deadlines published as RULES ("60 days before your project begins", "30 days before the scheduled field trip date") are served `unverified` rather than inferred. The legacy arts.ok.gov host is never used. Oklahoma publishes funding through other departments we have NOT validated: this is ONE agency, so `limited`, never `connected` — not statewide coverage.

Official source: https://oklahoma.gov/arts/grants/grants-for-organizations.html · 1 registered source

Last successful sync: Not available

Pennsylvanialimited

source-validation test src/lib/state-grants/pennsylvania.source-validation.test.ts verified against https://www.pa.gov/agencies/coa/grants-and-loans/due-dates-for-grants on 2026-09-19

One validated source (Pennsylvania Creative Industries' Due Dates for Grants page), which publishes application due dates only. Program detail lives elsewhere and some cycles are multi-deadline, so those records are honestly `unverified`. This is not statewide coverage.

Official source: https://www.pa.gov/agencies/coa/grants-and-loans/due-dates-for-grants · 1 registered source

Last successful sync: Not available

Rhode Islandlimited

source-validation test src/lib/state-grants/rhode-island.source-validation.test.ts verified against https://www.arts.ri.gov/grants/ on 2026-09-19

One validated source (the Rhode Island State Council on the Arts' Our Grants page). RISCA publishes its in-card dates without a year, so most of its programs are honestly `unverified` until the source publishes dated cycles. This is not statewide coverage.

Official source: https://www.arts.ri.gov/grants/ · 1 registered source

Last successful sync: Not available

South Carolinalimited

source-validation test src/lib/state-grants/south-carolina.source-validation.test.ts verified against https://www.southcarolinaarts.com/all-grants/ on 2026-09-19

One validated source: the South Carolina Arts Commission's own All Grants listing on the Commission's own domain (southcarolinaarts.com / www.southcarolinaarts.com; the /grants/ path 301s elsewhere, so the FINAL /all-grants/ URL is hard-coded). This listing is MIXED — 14 of its 19 cards carry the Commission's own `Closed` badge and 5 are Open/Closing Soon — so the cards the Commission badges Closed are served closed with the source's own published window, and an Open/Closing-Soon badge is never promoted into a date: status comes only from the Commission's own Application Period, read as an ordered range. The "Apply at least five (5) weeks before grant-funded activities begin" rule and the Letter-of-Intent notes are never deadlines. The Commission publishes no summary/eligibility text in machine-labelable form, so those fields stay unstated, and no third-party host (e.g. its scheduling link) is ever served as a record's page. South Carolina publishes funding through other departments we have NOT validated: this is ONE agency, so `limited`, never `connected` — not statewide coverage.

Official source: https://www.southcarolinaarts.com/all-grants/ · 1 registered source

Last successful sync: Not available

Tennesseelimited

source-validation test src/lib/state-grants/tennessee.source-validation.test.ts verified against https://tnartscommission.org/art-grants/apply-for-a-grant/ on 2026-09-19

One validated source (the Tennessee Arts Commission's own Apply for a Grant page, which publishes the current FY28 grant cycle as a dated Important Dates list). The list is a milestone calendar, not a program directory: the two lines that publish no day are not dates at all, and the cycle's own October 9, 2026 opening line is the source's separate bullet — the program deadlines carry the published close date and that opening day, so a cycle that has not opened yet is honestly `upcoming`, never `open`. Tennessee publishes funding through other departments we have NOT validated: this is not statewide coverage.

Official source: https://tnartscommission.org/art-grants/apply-for-a-grant/ · 1 registered source

Last successful sync: Not available

Texaslimited

source-validation test src/lib/state-grants/texas.source-validation.test.ts verified against https://gov.texas.gov/organization/military/grants on 2026-09-19

One validated source: the Texas Military Preparedness Commission's own DEAAG grant program page on gov.texas.gov (Office of the Governor). The build spec's first candidate, the Governor's financial-services grants catalogue, was re-verified live 2026-09-19 (105,109 bytes, ZERO dates) — as were /organization/hsgd (97,673 B) and /organization/cjd/resources (96,669 B) — so those pages are a PROGRAM CATALOGUE with no dated listing and could only ever produce undated records. The dated page is the DEAAG page, whose own paragraph says "The FY 27 Round of DEAAG will open on September 1, 2026. DEAAG applications will be due on or before 5 PM Friday, November 06, 2026." Both ends are read from that one paragraph in source order and never picked apart; a year-less or unreadable end yields no date rather than an invented one, and a passed round classifies `closed`, never open. The award timing in the same paragraph ("Grants will be awarded at the beginning of 2027") is kept for review and is NEVER a posted, close or estimated date. This is ONE programme family of ONE office: the Governor's office publishes other grant catalogues with no per-programme dates, so the state is `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://gov.texas.gov/organization/military/grants · 1 registered source

Last successful sync: Not available

Utahlimited

source-validation test src/lib/state-grants/utah.source-validation.test.ts verified against https://artsandmuseums.utah.gov/project-grants/ on 2026-09-19

One validated source (the Utah Division of Arts & Museums' Project Grants page, which publishes a per-program Grant Opens / Grant Closes schedule). Every published cycle on 2026-09-19 has closed, so those records are honestly `closed` and are never shown as open because the page is still live; the dated Info Session webinars on the same panels are events and are never treated as deadlines. This is one division's Project Grants, not Utah's General Operating Support grants or any other agency: this is not statewide coverage.

Official source: https://artsandmuseums.utah.gov/project-grants/ · 1 registered source

Last successful sync: Not available

Vermontlimited

source-validation test src/lib/state-grants/vermont.source-validation.test.ts verified against https://accd.vermont.gov on 2026-09-19

One validated source: the Vermont Agency of Commerce and Community Development's own Funding and Incentives listing (accd.vermont.gov) PLUS the programme pages that listing publishes. The listing is a PROGRAM CATALOGUE with no application dates of its own, so the connector fetches it and reads each record from the programme's OWN page(s) — never from the listing and never from a sibling programme. The agency labels only two statuses in its own words: VCDP ("VCDP accepts applications on a rolling basis") and CHIP ("Applications will be accepted on a rolling basis until December 31, 2035") are `rolling` with NO close date, and the Downtown Transportation Fund page states "The application period for the 2026 Downtown Transportation Fund grant is now closed" so it is `closed`. The only dated records are the rows of the VCDP Community Development Board submission schedule, read from the column the agency itself labels "Submission Date for Application" on the row that published it (a future submission date is open, a passed one closed). Everything else this source dates is REFUSED and recorded verbatim in each record's `raw.refusedDates`: TIF's example timeline ("Deadline to incur all TIF debt") is a municipal debt-incurrence obligation, VEGI's "July 1, 2025 to June 30, 2026" is an incentive/labour-market-enhancement PERIOD, and VCDP's "Seeking Comments for FY25 DRAFT CAPER by September 28, 2026" is a document-review deadline on a draft federal report. Vermont's own /grants page is a 2020 pandemic-recovery archive and is never read. This is six pages across five programme families of ONE agency out of a much larger catalogue: `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://accd.vermont.gov · 1 registered source

Last successful sync: Not available

Virginialimited

source-validation test src/lib/state-grants/virginia.source-validation.test.ts verified against https://www.vatc.org/grants/ on 2026-09-19

One validated source (the Virginia Tourism Corporation grants page). The Commonwealth publishes many more programs through other agencies that we have NOT validated — this is not statewide coverage.

Official source: https://www.vatc.org/grants/ · 1 registered source

Last successful sync: Not available

Washingtonlimited

source-validation test src/lib/state-grants/washington.source-validation.test.ts verified against https://www.arts.wa.gov/grants/ on 2026-09-19

One validated source (ArtsWA's Open and Upcoming Grants listing). Other Washington agencies publish funding programs we have NOT validated — this is not statewide coverage.

Official source: https://www.arts.wa.gov/grants/ · 1 registered source

Last successful sync: Not available

West Virginialimited

source-validation test src/lib/state-grants/west-virginia.source-validation.test.ts verified against https://wvculture.org/agencies/arts/grants/ on 2026-09-19

One validated source (the West Virginia Division of Culture and History, Arts Section's own grants page). Its two labelled sections are read exactly as published: the programs under "Currently Open for Application:" are served with their own published deadline (or `rolling` where the source's own value says Rolling), and the two programs under "Not Currently Open for Application:" are served as the source's own closed state rather than being invented a date. The page's final-report due date is a reporting date for awards already made and is never treated as an application deadline. West Virginia publishes funding through other departments we have NOT validated: this is not statewide coverage.

Official source: https://wvculture.org/agencies/arts/grants/ · 1 registered source

Last successful sync: Not available

Wyominglimited

source-validation test src/lib/state-grants/wyoming.source-validation.test.ts verified against https://wyomingbusiness.org/business/financing/grants/ on 2026-09-20

One validated source: the Wyoming Business Council's own grants catalogue on wyomingbusiness.org plus the 10 programme pages that catalogue publishes. The catalogue is real and current, but it publishes almost no year-bearing application deadline: so every record is read from ONE programme page's own body region and only the agency's OWN status sentences are read — Kickstart's “currently paused until further notice” makes it `closed` and SBIR's “open year-round” / “rolling basis” makes it `rolling`, in both cases with NO date. Every other date-like token (the STEP grant “period” of July 1, 2026 to September 29, 2027, the year-less “March 1 and September 1” rule, the Building Resilient Communities table's year-less cells, a 2019-2020 application schedule and a relative “(Day 90)” timeline) is REFUSED verbatim into each record's `raw.refusedDates` and is never a posted, close or estimated date — so the remaining pages are honestly `unverified` rather than dated by inference. Other Wyoming departments, boards and local bodies award grants we have NOT validated: this is ONE agency, so `limited`, never `curated`/`connected` — this is not statewide coverage.

Official source: https://wyomingbusiness.org/business/financing/grants/ · 1 registered source

Last successful sync: Not available

Search stored state grants

Free, no account needed. Results come from the state agencies’ own published pages, as stored at the last sync. Fields an agency did not publish read “Not specified” and are never matched by a filter.

Every state, and where it stands

All 50 states and the District of Columbia are listed so the rollout is visible. A state holds a validated tier only after its connector passed a live source-validation gate against an official host; everything else reads “not covered yet” and serves nothing.

StateCoverageWhy
Alabama (AL)limitedOne validated source (ADECA's own Funding Opportunities page, at its FINAL URL — the short `/funding-opportunities/` address redirects here and the redirect target's host is the only one allowlisted). ADECA's intro says the page lists currently open opportunities only, but its own published dates are what decide: two programs whose September 18, 2026 deadline had passed are served `closed`, and the two still ahead are `open`. The dated application workshop on the VW Settlement card is an event and is never a deadline. Alabama publishes funding through other departments we have NOT validated: this is not statewide coverage. source-validation test src/lib/state-grants/alabama.source-validation.test.ts verified against https://adeca.alabama.gov/about/funding-opportunities/ on 2026-09-19
Alaska (AK)unavailableno connector registered for this state
Arizona (AZ)limitedOne validated source (the Arizona Commission on the Arts grants page). Other Arizona agencies publish funding programs we have NOT validated — this is not statewide coverage. source-validation test src/lib/state-grants/arizona.source-validation.test.ts verified against https://azarts.gov/grants/ on 2026-09-19
Arkansas (AR)limitedOne validated source (the Arkansas Arts Council's Art Grants listing, on the agency's own arkansasheritage.com domain). The listing publishes no per-program deadline — its dated "When To Apply" list does not map onto the individual grant cards — so every record is honestly `unverified` rather than dated by inference. Other Arkansas agencies publish funding programs we have NOT validated: this is not statewide coverage. source-validation test src/lib/state-grants/arkansas.source-validation.test.ts verified against https://www.arkansasheritage.com/funding/art-grants on 2026-09-19
California (CA)limitedOne validated source (the California Grants Portal's own Active-results view, page 1). The portal also lists upcoming, Closed and Post-Award grants we do not serve, and we read only the first page of the Active facet — this is not statewide coverage. source-validation test src/lib/state-grants/california.source-validation.test.ts verified against https://www.grants.ca.gov/?s&status_search%5B%5D=active on 2026-09-19
Colorado (CO)limitedOne validated source (OEDIT's Advanced Industries Accelerator Programs listing). OEDIT's own Programs-and-Funding index publishes no per-program dates, so this is ONE program family of ONE division — Colorado publishes funding through many other agencies we have NOT validated: this is not statewide coverage. source-validation test src/lib/state-grants/colorado.source-validation.test.ts verified against https://oedit.colorado.gov/advanced-industries-accelerator-programs on 2026-09-19
Connecticut (CT)unavailableno connector registered for this state
Delaware (DE)limitedOne validated source (the Delaware Division of the Arts Grant Programs Overview). Other Delaware agencies publish funding programs we have NOT validated — this is not statewide coverage. source-validation test src/lib/state-grants/delaware.source-validation.test.ts verified against https://arts.delaware.gov/grants/ on 2026-09-19
District of Columbia (DC)limitedOne validated source (the DC Office of the Deputy Mayor for Planning and Economic Development's Grant Opportunities listing). The page tags each card OPEN or CLOSED in its own words: the CLOSED cards are served `closed`, and the one card tagged OPEN that publishes no closing date at all is honestly `unverified` rather than assumed open. A card whose own published closing date has passed is served `closed` even when the page still tags it OPEN — a stale page never makes a deadline look open. The District runs funding through other agencies and councils we have NOT validated (`dslbd.dc.gov` answers 403 from this egress): this is not statewide coverage. source-validation test src/lib/state-grants/district-of-columbia.source-validation.test.ts verified against https://dmped.dc.gov/service/grant-opportunities on 2026-09-19
Florida (FL)limitedOne validated source: the Florida Department of State's Division of Arts and Culture grants index on dos.fl.gov plus the grant PROGRAMME pages that index publishes. The index is a PROGRAM CATALOGUE (27.9 KB live, twenty-seven grant mentions, ZERO dates), so the connector fetches the index plus each programme page the index itself links and reads each programme's OWN application statement. The Division's own past-tense label ("Applications for Fiscal Year 2027-2028 are CLOSED", and the prose "The application cycle for this program has CLOSED." on the America 250 page) makes those programmes `closed` on a live page. The Division's "Next Deadline: TBD" is a deadline label with NO date, so the record keeps no close date at all (and is never an estimate), and that single value is never spread across the catalogue. The 2028/2029 dates the pages publish are the GRANT PERIOD for the NEXT application cycle — an activity period, labelled as such — and are never read as a posted or close date; the funding-process page's one general `deadline` token sits OUTSIDE the child scope for exactly that reason. The Cultural Endowment page is programme history with no application statement, so it contributes no record rather than an undated one. This is ONE division of ONE department: other Florida agencies award grants we have NOT validated, so the state is `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/florida.source-validation.test.ts verified against https://dos.fl.gov/cultural/grants/ on 2026-09-19
Georgia (GA)unavailableno connector registered for this state
Hawaii (HI)limitedOne validated source (the State Foundation on Culture and the Arts' current and upcoming grants table — not its separate list of past award recipients). This is not statewide coverage. source-validation test src/lib/state-grants/hawaii.source-validation.test.ts verified against https://sfca.hawaii.gov/grants/ on 2026-09-19
Idaho (ID)unavailableno connector registered for this state
Illinois (IL)limitedOne validated source: the Illinois CSFA current funding-opportunity list, located live on 2026-09-19 after the phase-1 map recorded that the dated NOFO path was NOT found (the guessed /csfa/ and /nofo.html both 404 and the gata.illinois.gov root is informational). The real path was found by following the State's own link graph — gata.illinois.gov root → its own CSFA page /grants/csfa.html → the public CSFA application it embeds at omb.illinois.gov/public/gata/csfa/ → its own link to OpportunityList.aspx — and the list is the statewide catalog the Grants Accountability and Transparency Act (30 ILCS 708) requires. The whole unpaginated list is read (the page states its own total, which the tests cross-check): the Application Date Range column is read as its two ordered ends, the State's own "No end date" is the ONLY input to `rolling` (never an invented deadline), a passed published end date is `closed`, and "Not Applicable" award ranges are stored as no amount rather than as a number. Only the current-opportunity VIEW of the catalog is read, and other agencies' own listings were NOT validated, so `limited`, never `curated`/`connected` — not statewide coverage. source-validation test src/lib/state-grants/illinois.source-validation.test.ts verified against https://omb.illinois.gov/public/gata/csfa/OpportunityList.aspx on 2026-09-19
Indiana (IN)limitedOne validated source: the Indiana Arts Commission's own funding programme pages on in.gov, reached from the Commission's funding hub. The hub itself is a PROGRAM CATALOGUE (63 KB live, thirteen grant mentions, ZERO dates), so the connector fetches the hub plus the funding programme pages the HUB publishes (Arts Project Support, Arts Organization Support, America250 Grant Program, Every County Funded) and reads every cycle from its OWN page's “Application Timeline” table. Only the row the Commission labels "Application Due" is a deadline: the "Draft Application Review Deadline for New Applicants", "Funding Notification", "Final Grant Report Due", webinar and panel rows are process dates and the "Grant Period" is an activity period — none of them is ever a deadline. A struck-through (<del>) value is the Commission's own superseded value, so the replacement in the same cell is read and the struck-through day is not. Previous fiscal-year cycles stay visible as published records and are `closed` (never hidden, never open on a live page). The Every County Funded page publishes programme copy and an awardee list with no timeline, so it contributes no record. This is ONE agency's funding programmes: other Indiana agencies award grants we have NOT validated, so the state is `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/indiana.source-validation.test.ts verified against https://www.in.gov/arts/programs-and-services/funding/ on 2026-09-19
Iowa (IA)limitedOne validated source: the Iowa Economic Development Authority / Iowa Arts Council's own Grants & Programs catalogue on opportunityiowa.gov (the FINAL URL the off-host iowaculture.gov/grants 301 lands on) plus 18 of the 19 programme pages that catalogue publishes. The catalogue is a JS-rendered program catalogue with NO date token of its own, so every record is read from ONE programme page's OWN body region. Only labels the agency itself publishes are read: a `Deadline:` block per applicant role (the Iowans Create Community Mural Program publishes one for Communities and one for Artists), a `<date> | <label>` line in a Timeline list, the agency's sentence "The deadline for submitting an online application is 11:59PM on <date>", a published acceptance window ("accepted from February 2, 2026, through March 16, 2026") and its own rolling declaration ("accepted on a rolling basis until April 15, 2027") — which is served `rolling` with NO close date. Everything else this source dates is REFUSED and recorded verbatim in each record's `raw.refusedDates`: the Final Report Deadline, Finalist Applicant Interviews and Award Notification milestones in the Scholarship Timeline, the Film Rebate page's fund-availability and expense-window days, and the eligible funding periods. Twelve programmes whose pages state in the agency's own words that they are "not currently accepting applications" (or "will not be accepting applications") are served `closed` with no date; three pages that publish no window of their own are `unverified` rather than guessed. Two catalogue tiles are deliberately NOT read: a program-guidelines page that restates its parent's window (reading both would double-count one application) and a grantee support FAQ. This is ONE agency's arts-and-culture catalogue: Iowa awards grants through other departments and local bodies we have NOT validated, so the state is `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/iowa.source-validation.test.ts verified against https://opportunityiowa.gov/community/arts-culture/grants-programs on 2026-09-19
Kansas (KS)limitedOne validated source (the Kansas Department of Commerce's grants calendar). The calendar publishes its Application Period as year-less month ranges, so most programs are honestly `unverified` until the source publishes dated cycles, and no program has its own page — this is not statewide coverage. source-validation test src/lib/state-grants/kansas.source-validation.test.ts verified against https://www.kansascommerce.gov/grantscalendar/ on 2026-09-19
Kentucky (KY)limitedOne validated source (the Kentucky Arts Council's own program listing). The listing's WordPress title reads "Grants Archives", which was checked against the current-vs-past rule BEFORE any record was published: it is the `program-type` taxonomy listing, its deadlines run both before and after today, and each program's own page publishes the same live deadline — so its past deadlines are served `closed` and its future ones `open`, and nothing is served open merely because the page is live. Kentucky publishes funding through other departments we have NOT validated: this is not statewide coverage. source-validation test src/lib/state-grants/kentucky.source-validation.test.ts verified against https://artscouncil.ky.gov/program-type/grants/ on 2026-09-19
Louisiana (LA)unavailableno connector registered for this state
Maine (ME)limitedOne validated source (the Maine Arts Commission's own Grants Home page, read at its deep URL). Both shapes the page publishes are read: the current/upcoming opportunity cards (with their own "Applications Open:" and "Application Deadline:" labels) and the funding directory's per-program "Current Status:". Programs the agency files as Closed — including ones it last awarded in FY2027 — are served `closed` and are never presented as open; a program whose status is neither open nor closed and which publishes no date stays `unverified`. A program the page publishes in both shapes is ONE record, identified by the agency's own page path for it. Maine publishes funding through other departments we have NOT validated: this is not statewide coverage. source-validation test src/lib/state-grants/maine.source-validation.test.ts verified against https://mainearts.maine.gov/Pages/Funding/Grants-Home on 2026-09-19
Maryland (MD)limitedOne validated source: the Maryland State Arts Council's own Grants for Organizations (GFO) programme page on msac.org (an agency domain rather than a .gov one) PLUS the GFO programme pages that page itself publishes. The GFO index is a PROGRAM CATALOGUE — its only date token is September 9, 2021, the day the Council adopted its funding formula (governance history, never a cycle) — so the connector fetches the index plus every GFO programme page it publishes and reads each record from its OWN page. Only the ONE date the Council itself LABELS is read: the `Deadline` value in a programme page's own Quick Resources box. A labelled deadline with no readable day keeps the record with NO close date rather than a guess. The Council's year-less prose deadlines ("by September 15th annually", "by November 15"), the eligibility page's process and reporting notes, and the index's 2021 formula date are never deadlines. The deadline the Council publishes today (09/15/2026) has passed, so it is served `closed` on a live page. The Council's other programme families (Arts Capital, Arts in Education, Maryland Traditions, Poetry Out Loud and the rest) are deliberately out of scope — Poetry Out Loud publishes a schools COMPETITION deadline, which is not a grant deadline. Maryland awards grants through other agencies we have NOT validated, so this is ONE programme of ONE agency: `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/maryland.source-validation.test.ts verified against https://msac.org/programs/grants-organizations on 2026-09-19
Massachusetts (MA)unavailableno connector registered for this state
Michigan (MI)unavailableno connector registered for this state
Minnesota (MN)limitedOne validated source (the Minnesota State Arts Board's own Arts Board Calendar, current fiscal-year table, Application Deadline column only). This is one agency's calendar — other Minnesota agencies publish funding programs we have NOT validated: this is not statewide coverage. source-validation test src/lib/state-grants/minnesota.source-validation.test.ts verified against https://www.arts.state.mn.us/calendar/index.htm on 2026-09-19
Mississippi (MS)unavailableno connector registered for this state
Missouri (MO)unavailableno connector registered for this state
Montana (MT)limitedOne validated source: the Montana Department of Commerce's own Montana Tourism Development Grant Program page on commerce.mt.gov. The dated sentence is NOT on the parent Tourism Grant Program catalogue (322 KB live, 45 grant mentions, zero dates — parsing it could only ever produce undated records); the connector reads the CHILD programme page the Department publishes, whose "Resources for Applicants" list carries its own ordered "will open Jan. 6, 2027 and close on Feb. 3, 2027" cycle sentence. Both ends are read in source order and never picked apart; a year-less or unreadable end yields no date rather than an invented one, and a passed cycle is `closed`. The Montana Arts Council's art.mt.gov pages are stale (2022) or award lists and represent no coverage. This is ONE programme family of ONE department: `limited`, never `connected` — this is not statewide coverage. source-validation test src/lib/state-grants/montana.source-validation.test.ts verified against https://commerce.mt.gov/Business/Programs-and-Services/Tourism-Marketing/Tourism-Grant-Program/Montana-Tourism-Development-Grant-Program on 2026-09-19
Nebraska (NE)limitedOne validated source: the Nebraska Department of Economic Development's own Programs index on opportunity.nebraska.gov plus 46 of the 63 programme pages that index links — the ones whose own page publishes a labelled application-window block (verified live 2026-09-19). The index itself publishes ZERO date tokens (its news and “stay up to date” furniture is never read), so every record is read from ONE programme page's own Divi promo module: the module's own heading is the title, and its own labels (Open Date/Close Date, Submission Open|Close Date, Pre-/Full Application Opens|Closes, Application Deadline, a date-to-date range under “Application Period”, or the source's own “Open Cycle” wording) decide the window. Anticipated award dates, letters of intent, periods of performance and press-release dates are never read; a year-less deadline (“Application Deadline: Sept. 15”) is kept verbatim with NO close date, and a block publishing two successive periods at once is refused rather than picked. Past cycles the DED leaves on live pages are served `closed`, never hidden and never open. Two of the index's 63 links 404, which is why the child list is PINNED rather than link-derived. This is ONE agency's programme pages: other Nebraska agencies and local bodies award grants we have NOT validated, so the state is `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/nebraska.source-validation.test.ts verified against https://opportunity.nebraska.gov/programs/ on 2026-09-19
Nevada (NV)limitedOne validated source: the Nevada Arts Council's own FY27 Grant Offerings page on the Council's own domain (nvartscouncil.org / www.nvartscouncil.org). The phase-1 map named the Council's /grants/ page; live re-verification on 2026-09-19 showed that page is the Council's FAQ (it publishes exactly one date in its body and points readers to the Grant Offerings page for deadlines), so the connector reads the dated listing the Council itself points at. Only the Council's own labelled "Application deadline:" value is read: the "Grant Activity Period" on every card is the funded ACTIVITY period and is never a deadline, and deadlines published as RULES ("At least 30 days before the proposed project (while funds remain available)") are served `unverified` rather than inferred. A published deadline that has passed is `closed` even under the Council's own "Open and Upcoming Grants:" heading, and the programs under its "Closed Grants:" heading are served as the source's own closed state. The Council's past-grantee/award pages are award records and are never served as opportunities. Nevada publishes funding through other departments we have NOT validated: this is ONE agency, so `limited`, never `connected` — not statewide coverage. source-validation test src/lib/state-grants/nevada.source-validation.test.ts verified against https://www.nvartscouncil.org/fy27-grant-offerings/ on 2026-09-19
New Hampshire (NH)limitedOne validated source: the New Hampshire Joint Promotional Program (JPP) deadlines page, published by the Division of Travel and Tourism Development on visitnh.gov (inside the Department of Business and Economic Affairs, DRED). PROVENANCE: the phase-1 map's PRIMARY candidate for New Hampshire was a DIFFERENT agency (nheconomy.com/about-us/grant-programs), which publishes ten grant links and ZERO dates live; the dated listing is this one programme of this one division. Only the Division's own labelled "Application Due Date" value is read — its "Applicants Notified" value is a notification date and is never a deadline — and the four published rounds are four separate records, each with its own date. A round whose published deadline has passed is `closed` even though the page is live. New Hampshire publishes funding through other departments and agencies we have NOT validated, so this is ONE programme of ONE division: `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/new-hampshire.source-validation.test.ts verified against https://www.visitnh.gov/industry-members/work-together/grants/jpp-program on 2026-09-19
New Jersey (NJ)limitedOne validated source: the New Jersey Department of Agriculture's own grant opportunities page on nj.gov (agriculture/financial-services/grants), the publication of NJDA notice of funding availability required by N.J.S.A. 52:14-34.5. The page groups its programmes under its OWN bucket headings — Open Opportunities, Closed Opportunities and SADC Grant Opportunities — and each programme section carries its own labelled fields (Purpose, Eligible Applicants, Funding Available, How to Apply, Program Webpage, Contact). Every record is read from ONE programme's own section: `closed` only from the source's own past-tense statement, `rolling` only from its own open-ended declaration, and a close date only from its own deadline label ("no later than October 16, 2026" on the USDA-AMS Specialty Crop Multi-State round). Every other date the page publishes is REFUSED verbatim into `raw.refusedDates` and is never a posted, close or estimated date: the year-less email cut-offs ("on or before July 31st, 12:00pm EDT", "after January 30th, 5 PM EST", the SCBGP "May 14th"), the funding-availability days ("available … after April 1, 2025") and the month-and-year period (AFT: "available until June 2027"). The Animal Waste Management Plan grant, which the page lists under Open Opportunities, publishes NO deadline at all, so it is served `unverified` with no close date rather than dated by inference. The page's "Other Funding Opportunities" bucket — which the page itself says is "not offered by the NJDA directly" (American Farmland Trust, Fulfill, the Community FoodBank of NJ, the NJ Junior Breeder Loan Fund) — is excluded by construction and named in `raw.thirdPartyProgramsExcluded`. The DCA candidate from the recon handoff was rejected on evidence: it publishes no record of its own and points at a third-party vendor system (SAGE). NJDA is ONE department of a state whose other departments award grants we have NOT validated, so this is `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/new-jersey.source-validation.test.ts verified against https://www.nj.gov/agriculture/financial-services/grants/ on 2026-09-20
New Mexico (NM)limitedOne validated source (New Mexico Arts' "Apply for a Grant" page, from which only the labelled application-deadline milestones are read). New Mexico Arts' grants-information index publishes no year-bearing date at all, and other New Mexico agencies publish funding programs we have NOT validated: this is not statewide coverage. source-validation test src/lib/state-grants/new-mexico.source-validation.test.ts verified against https://nmarts.org/grants/apply-for-a-grant/ on 2026-09-19
New York (NY)limitedOne validated source: New York State's own Grant Opportunity Portal inside the SFS Vendor Portal on esupplier.sfs.ny.gov — the portal the State links from grantsmanagement.ny.gov/search-funding-sfs, which states "Anyone can access the Grant Opportunity Portal. A username and password are not necessary to view anticipated and available grant opportunities." The listing is served only inside a PUBLIC session: a cookie-less GET answers 302 with no grid, so it is read through the portal's own public guest page and the temporary public-session cookies that page sets — in memory for that run only, with no credentials sent, nothing persisted, and every failure failing closed (the owner's 2026-09-19 terms). The grid is an Oracle PeopleSoft table with its own printed column headers; EXACTLY ONE of its date columns is ever published as a record's date — the one the portal labels "Due Date" (for example "10/08/2026 4:30PM EDT") — and that ownership is checked structurally against the grid's own gridFieldList_win0 declaration, so a grid whose headers and field list disagree is refused rather than read. The portal's other two date columns are REFUSED verbatim into raw.refusedDates: "Availability Date" is a release/availability stamp, not a closing date, and "Anticipated Release Date" is by the source's own word an ANTICIPATED (estimated) date, which this workstream never promotes into a date. Consequently no record carries a posting date or an estimate, no status is inferred from page prose (only from the portal's own Status cell: "Available" or "Advertised Only - Not in SFS"), and the grid's own declared row count is cross-checked so a truncated grid fails the read. Each row's Grant Opportunity cell is a PeopleSoft javascript post-back rather than a link, so no static per-opportunity URL exists and every record points at the official portal page instead. As of 2026-09-20 the corpus yields 22 records, all of them `open` (every published Due Date is still ahead). Although this IS the State's own multi-agency portal, it is ONE source, so New York is `limited` — the owner's own ruling of 2026-09-19 — and is never presented as statewide comprehensive coverage: this is not statewide coverage. source-validation test src/lib/state-grants/new-york.source-validation.test.ts verified against https://esupplier.sfs.ny.gov/psc/fscm/SUPPLIER/ERP/c/NY_SUPPUB_FL.AUC_RESP_INQ_AUC.GBL on 2026-09-20
North Carolina (NC)unavailableno connector registered for this state
North Dakota (ND)limitedOne validated source (the North Dakota Council on the Arts' "Grants at a Glance" listing). Cards that state their deadline as a RULE ("6 weeks prior to project start date") and the two-round card are honestly `unverified`, never guessed. Other North Dakota agencies publish funding programs we have NOT validated: this is not statewide coverage. source-validation test src/lib/state-grants/north-dakota.source-validation.test.ts verified against https://www.arts.nd.gov/grants on 2026-09-19
Ohio (OH)limitedOne validated source: the Ohio Arts Council's own grant-program catalogue on oac.ohio.gov (grants/10-grant-opportunities) together with the 14 programme pages it links. Ohio's STATEWIDE funding-opportunities listing is published as JSON by the official OBM API host api.obm.ohio.gov, but that host presents an INCOMPLETE TLS chain (it sends only its leaf certificate, so curl, bun and node all fail verification with "unable to get local issuer certificate"; a browser recovers by fetching the missing intermediate) — a verified-TLS fetch cannot read it, so this connector does NOT use it and Ohio is served by ONE agency. Each programme page publishes a labelled lifecycle table under its own cycle headings, with rows such as "*Grant Agreement Deadline: August 30, 2026", "Off-year Update Deadline at 5 p.m.: April 1, 2026", "Application Available in ARTIE: November 2024", "Large Orgs' Financial Materials Due: April 1, 2023" and "Grant Award Announcement: July 2026". EXACTLY ONE row type is ever read: the source's own "Application Deadline …" row whose value is a full published day, and the LATEST such row on the page becomes the record's close date — read on STRIPPED text (several pages wrap the label in markup that a raw-HTML read misses) and never scoped by an h2 TIMELINE heading, because only one of the 14 pages has that heading. Every other date is REFUSED verbatim into raw.refusedDates with a kind and a reason and is never a posted, close or estimated date: the agreement, final-report and off-year deadlines, the ARTIE availability windows (a window OPENING, not a closing), the award-announcement months, the ADA enactment date in the ADAP page's own prose, the site's news dates around the body, and every month-and-year period. A programme whose ONLY application-deadline row is RELATIVE publishes no date and stays `unverified` (ArtsRISE: "90 days prior to Project Start Date"; Big Yellow School Bus: "At least 8 weeks prior to event"), as does Ohio Artists on Tour, which publishes no application deadline at all. No posting date and no estimate is ever produced by this source. As of 2026-09-20 the corpus yields 14 records, 2 of them open (Capacity Building and the Artists with Disabilities Access Program, both "November 1, 2026"). The Ohio Arts Council is ONE agency of a state whose other departments award grants we have NOT validated, so this is `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/ohio.source-validation.test.ts verified against https://oac.ohio.gov/grants/10-grant-opportunities on 2026-09-20
Oklahoma (OK)limitedOne validated source read across the Oklahoma Arts Council's TWO program indexes on the State of Oklahoma's canonical oklahoma.gov host (grants-for-organizations.html and grants-for-schools.html): the Council's /arts/grants.html hub publishes no per-program date at all, so both indexes are fetched fail-closed every run as ONE source. Only the Council's own labelled "Application Deadlines" value is read: "Project Activity Dates" is the funded ACTIVITY period and is never a deadline, the Council's own "(Closed)" marker is served as its closed state (with the date it published alongside it), and deadlines published as RULES ("60 days before your project begins", "30 days before the scheduled field trip date") are served `unverified` rather than inferred. The legacy arts.ok.gov host is never used. Oklahoma publishes funding through other departments we have NOT validated: this is ONE agency, so `limited`, never `connected` — not statewide coverage. source-validation test src/lib/state-grants/oklahoma.source-validation.test.ts verified against https://oklahoma.gov/arts/grants/grants-for-organizations.html on 2026-09-19
Oregon (OR)unavailableno connector registered for this state
Pennsylvania (PA)limitedOne validated source (Pennsylvania Creative Industries' Due Dates for Grants page), which publishes application due dates only. Program detail lives elsewhere and some cycles are multi-deadline, so those records are honestly `unverified`. This is not statewide coverage. source-validation test src/lib/state-grants/pennsylvania.source-validation.test.ts verified against https://www.pa.gov/agencies/coa/grants-and-loans/due-dates-for-grants on 2026-09-19
Rhode Island (RI)limitedOne validated source (the Rhode Island State Council on the Arts' Our Grants page). RISCA publishes its in-card dates without a year, so most of its programs are honestly `unverified` until the source publishes dated cycles. This is not statewide coverage. source-validation test src/lib/state-grants/rhode-island.source-validation.test.ts verified against https://www.arts.ri.gov/grants/ on 2026-09-19
South Carolina (SC)limitedOne validated source: the South Carolina Arts Commission's own All Grants listing on the Commission's own domain (southcarolinaarts.com / www.southcarolinaarts.com; the /grants/ path 301s elsewhere, so the FINAL /all-grants/ URL is hard-coded). This listing is MIXED — 14 of its 19 cards carry the Commission's own `Closed` badge and 5 are Open/Closing Soon — so the cards the Commission badges Closed are served closed with the source's own published window, and an Open/Closing-Soon badge is never promoted into a date: status comes only from the Commission's own Application Period, read as an ordered range. The "Apply at least five (5) weeks before grant-funded activities begin" rule and the Letter-of-Intent notes are never deadlines. The Commission publishes no summary/eligibility text in machine-labelable form, so those fields stay unstated, and no third-party host (e.g. its scheduling link) is ever served as a record's page. South Carolina publishes funding through other departments we have NOT validated: this is ONE agency, so `limited`, never `connected` — not statewide coverage. source-validation test src/lib/state-grants/south-carolina.source-validation.test.ts verified against https://www.southcarolinaarts.com/all-grants/ on 2026-09-19
South Dakota (SD)unavailableno connector registered for this state
Tennessee (TN)limitedOne validated source (the Tennessee Arts Commission's own Apply for a Grant page, which publishes the current FY28 grant cycle as a dated Important Dates list). The list is a milestone calendar, not a program directory: the two lines that publish no day are not dates at all, and the cycle's own October 9, 2026 opening line is the source's separate bullet — the program deadlines carry the published close date and that opening day, so a cycle that has not opened yet is honestly `upcoming`, never `open`. Tennessee publishes funding through other departments we have NOT validated: this is not statewide coverage. source-validation test src/lib/state-grants/tennessee.source-validation.test.ts verified against https://tnartscommission.org/art-grants/apply-for-a-grant/ on 2026-09-19
Texas (TX)limitedOne validated source: the Texas Military Preparedness Commission's own DEAAG grant program page on gov.texas.gov (Office of the Governor). The build spec's first candidate, the Governor's financial-services grants catalogue, was re-verified live 2026-09-19 (105,109 bytes, ZERO dates) — as were /organization/hsgd (97,673 B) and /organization/cjd/resources (96,669 B) — so those pages are a PROGRAM CATALOGUE with no dated listing and could only ever produce undated records. The dated page is the DEAAG page, whose own paragraph says "The FY 27 Round of DEAAG will open on September 1, 2026. DEAAG applications will be due on or before 5 PM Friday, November 06, 2026." Both ends are read from that one paragraph in source order and never picked apart; a year-less or unreadable end yields no date rather than an invented one, and a passed round classifies `closed`, never open. The award timing in the same paragraph ("Grants will be awarded at the beginning of 2027") is kept for review and is NEVER a posted, close or estimated date. This is ONE programme family of ONE office: the Governor's office publishes other grant catalogues with no per-programme dates, so the state is `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/texas.source-validation.test.ts verified against https://gov.texas.gov/organization/military/grants on 2026-09-19
Utah (UT)limitedOne validated source (the Utah Division of Arts & Museums' Project Grants page, which publishes a per-program Grant Opens / Grant Closes schedule). Every published cycle on 2026-09-19 has closed, so those records are honestly `closed` and are never shown as open because the page is still live; the dated Info Session webinars on the same panels are events and are never treated as deadlines. This is one division's Project Grants, not Utah's General Operating Support grants or any other agency: this is not statewide coverage. source-validation test src/lib/state-grants/utah.source-validation.test.ts verified against https://artsandmuseums.utah.gov/project-grants/ on 2026-09-19
Vermont (VT)limitedOne validated source: the Vermont Agency of Commerce and Community Development's own Funding and Incentives listing (accd.vermont.gov) PLUS the programme pages that listing publishes. The listing is a PROGRAM CATALOGUE with no application dates of its own, so the connector fetches it and reads each record from the programme's OWN page(s) — never from the listing and never from a sibling programme. The agency labels only two statuses in its own words: VCDP ("VCDP accepts applications on a rolling basis") and CHIP ("Applications will be accepted on a rolling basis until December 31, 2035") are `rolling` with NO close date, and the Downtown Transportation Fund page states "The application period for the 2026 Downtown Transportation Fund grant is now closed" so it is `closed`. The only dated records are the rows of the VCDP Community Development Board submission schedule, read from the column the agency itself labels "Submission Date for Application" on the row that published it (a future submission date is open, a passed one closed). Everything else this source dates is REFUSED and recorded verbatim in each record's `raw.refusedDates`: TIF's example timeline ("Deadline to incur all TIF debt") is a municipal debt-incurrence obligation, VEGI's "July 1, 2025 to June 30, 2026" is an incentive/labour-market-enhancement PERIOD, and VCDP's "Seeking Comments for FY25 DRAFT CAPER by September 28, 2026" is a document-review deadline on a draft federal report. Vermont's own /grants page is a 2020 pandemic-recovery archive and is never read. This is six pages across five programme families of ONE agency out of a much larger catalogue: `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/vermont.source-validation.test.ts verified against https://accd.vermont.gov on 2026-09-19
Virginia (VA)limitedOne validated source (the Virginia Tourism Corporation grants page). The Commonwealth publishes many more programs through other agencies that we have NOT validated — this is not statewide coverage. source-validation test src/lib/state-grants/virginia.source-validation.test.ts verified against https://www.vatc.org/grants/ on 2026-09-19
Washington (WA)limitedOne validated source (ArtsWA's Open and Upcoming Grants listing). Other Washington agencies publish funding programs we have NOT validated — this is not statewide coverage. source-validation test src/lib/state-grants/washington.source-validation.test.ts verified against https://www.arts.wa.gov/grants/ on 2026-09-19
West Virginia (WV)limitedOne validated source (the West Virginia Division of Culture and History, Arts Section's own grants page). Its two labelled sections are read exactly as published: the programs under "Currently Open for Application:" are served with their own published deadline (or `rolling` where the source's own value says Rolling), and the two programs under "Not Currently Open for Application:" are served as the source's own closed state rather than being invented a date. The page's final-report due date is a reporting date for awards already made and is never treated as an application deadline. West Virginia publishes funding through other departments we have NOT validated: this is not statewide coverage. source-validation test src/lib/state-grants/west-virginia.source-validation.test.ts verified against https://wvculture.org/agencies/arts/grants/ on 2026-09-19
Wisconsin (WI)unavailableno connector registered for this state
Wyoming (WY)limitedOne validated source: the Wyoming Business Council's own grants catalogue on wyomingbusiness.org plus the 10 programme pages that catalogue publishes. The catalogue is real and current, but it publishes almost no year-bearing application deadline: so every record is read from ONE programme page's own body region and only the agency's OWN status sentences are read — Kickstart's “currently paused until further notice” makes it `closed` and SBIR's “open year-round” / “rolling basis” makes it `rolling`, in both cases with NO date. Every other date-like token (the STEP grant “period” of July 1, 2026 to September 29, 2027, the year-less “March 1 and September 1” rule, the Building Resilient Communities table's year-less cells, a 2019-2020 application schedule and a relative “(Day 90)” timeline) is REFUSED verbatim into each record's `raw.refusedDates` and is never a posted, close or estimated date — so the remaining pages are honestly `unverified` rather than dated by inference. Other Wyoming departments, boards and local bodies award grants we have NOT validated: this is ONE agency, so `limited`, never `curated`/`connected` — this is not statewide coverage. source-validation test src/lib/state-grants/wyoming.source-validation.test.ts verified against https://wyomingbusiness.org/business/financing/grants/ on 2026-09-20

Looking for federal grants?

Contrax Grants also searches live federal opportunities straight from Grants.gov, with real funding amounts, eligibility and deadlines.

Search federal grants →

State grant records come straight from each covered state agency's own published funding page. Contrax shows the agency's own dates, eligibility, categories and titles — a field the agency did not publish reads “Not specified”, and nothing is estimated, inferred or back-filled. Uncovered states are not covered yet: this is a growing program, not nationwide coverage.