AnswerPool

NIH Activity Codes API: NIH grant mechanism decoder: R01, R21, K-series, U-series, P-series — USAspending and NIH RePORTER

NIH grant mechanism decoder: R01, R21, K-series, U-series, P-series, SBIR/STTR activity codes with names and one-line meanings. Free, no key.

Free — no key, no signup, rate-limited to 60 calls per minute per client.

How do you call it?

GET /v1/nih/activity-codes — product id nih_activity_codes. Over MCP, call answerpool_get with product_id=nih_activity_codes.

curl "https://answerpool.io/v1/nih/activity-codes?q=R01"

Live call: https://answerpool.io/v1/nih/activity-codes?q=R01 · JSON sample: /v1/samples/nih_activity_codes

What does the answer look like?

A representative response, the same static sample served at /v1/samples/nih_activity_codes.

as_of2026-09-03T02:00:00Z
count1
disclaimerNIH reference data (US federal public domain); not medical or grant advice.
refresh_after2026-09-18T00:00:00.000Z

entries

codenamedescription
R01Research Project GrantThe standard independent investigator award, usually 3-5 years.
The same sample as raw JSON
{
 "as_of": "2026-09-03T02:00:00Z",
 "count": 1,
 "entries": [
  {
   "code": "R01",
   "name": "Research Project Grant",
   "description": "The standard independent investigator award, usually 3-5 years."
  }
 ],
 "disclaimer": "NIH reference data (US federal public domain); not medical or grant advice.",
 "refresh_after": "2026-09-18T00:00:00.000Z"
}

How fresh is it, and where does the data come from?

The fastest source behind this answer can change daily, so every response carries a refresh_after timestamp — right now it would be 2026-09-18T00:00:00.000Z. Schedule the next call on that value rather than on a guess.

Method version 0.1.0 · serving cache 30 days · every response carries a result_id you can resolve at /v1/provenance.

When should you use it?

You have an NIH activity code to decode or want the standard mechanisms for a career stage or program type.

What you skip building

When should you not use it?

Non-NIH agencies (NSF and others use different schemes).

Where else can you find this?