NSF Awards

The NSF Awards API allows users to build a query based on any of the parameters below.

Notice: Notifications of scheduled downtime, service disruption, or unexpected downtime can be found at http://www.research.gov. NSF uses reasonable efforts to minimize any disruption, inaccessibility or inoperability of the services in connection with the scheduled downtime or other interruptions of service. Scheduled downtime is typically on weekends starting at 10PM Friday through 12PM Sunday. When additional maintenance time is required by NSF, the maintenance window will be extended.

Request URLs

GET http://api.nsf.gov/services/v1/awards.{format}?parameters
GET http://api.nsf.gov/services/v1/awards/{id}.{format}
GET http://api.nsf.gov/services/v1/awards/{id}/projectoutcomes.{format}

Sample Requests

  1. Searches for all awards containing the keyword term 'water' [XML Format]:
    http://api.nsf.gov/services/v1/awards.xml?keyword=water
  2. Searches for all awards containing the keyword term 'water' [JSON Format]:
    http://api.nsf.gov/services/v1/awards.json?keyword=water
  3. Searches for all awards containing the keyword term 'water' [JSONP Format]:
    http://api.nsf.gov/services/v1/awards.json?callback=processJson&keyword=water
  4. Retrieves a specific award information using unique award identifier [XML Format]:
    http://api.nsf.gov/services/v1/awards/1052893.xml
  5. Retrieves a specific award information using unique award identifier [JSON Format]:
    http://api.nsf.gov/services/v1/awards/1052893.json
  6. Retrieves a specific award information using unique award identifier [JSONP Format]:
    http://api.nsf.gov/services/v1/awards/1052893.json?callback=processJson
  7. Retrieves Project Outcomes Report for an award [XML Format]:
    http://api.nsf.gov/services/v1/awards/1052893/projectoutcomes.xml
  8. Retrieves Project Outcomes Report for an award [JSON Format]:
    http://api.nsf.gov/services/v1/awards/1052893/projectoutcomes.json
  9. Retrieves Project Outcomes Report for an award [JSONP Format]:
    http://api.nsf.gov/services/v1/awards/1052893/projectoutcomes.json?callback=processJson

Resource Parameters

Parameter Required Variable Name Value
Output Format Yes {format} Enter the output format. Supported values are "xml" and "json"
Award Unique Identifier Yes {id} Enter the award unique identifier number.

Request Parameters

Parameter Required Argument Value
Keyword No keyword Free text search across all the available awards data
Results Per Page No rpp Value in the range of 1 to 25. Default Value is set to 25 & it's the upper limit as well.
Record Offset No offset Enter the record offset (always starts with 1). This is used in conjunction with results per page to fetch large data sets in chunks. For example, if a search produces 82 results and the result per page is set to 25, this will generate 4 set of pages. 3 pages will have 25 results and the last page will have 7 results. Record offset value will be
Page 1: offset=1
Page 2: offset=26
Page 3: offset=51
Page 4: offset=76

JSONP Callback No callback Provide the name of the callback function (ex. processJson)
Print Fields No printFields Comma separated output print field names required in the output (ex. awardeeName,id,pdPIName). Click Output Fields to see the complete list of print fields
Award Unique Identifier No id An award unique identifier to retrieve the information (ex. 1336650). This field is required, if ProjectOutcomes is requested for an award resource.
Agency Name No agency NSF
Awardee City Name No awardeeCity Awardee city name(ex. Arlington)
Awardee Country Code No awardeeCountryCode AU
BD
BR
CA
GM
SW
SZ
UK
US
USA
Awardee Congressional District Code No awardeeDistrictCode Awardee congressional district code. Appended value of state abbreviation and congressional district code (ex. VA01,NY22)
Awardee Name No awardeeName Name of the entity receiving award (ex, "university+of+south+florida")

Instructions to narrow your results: Description Notes
Awardee State Code No awardeeStateCode Abbreviation of the awardee state (ex. VA)
Awardee Zip Code No awardeeZipCode 9 digit awardee zip code with the pattern of 5 digit + 4. This is an exact match search (ex. 231730001)
Catalog of Federal Domestic Assistance (CFDA) No cfdaNumber Catalog of Federal Domestic Assistance (CFDA) number is the classification of the Federal agency providing the award (ex. 47.084, 47.041)
Co- Principal Investigator Name No coPDPI Co- Principal Investigator Name (ex. Christopher)
Start Date For Award Date (Initial Amendment Beginning Date) No dateStart Start date for award date to search. Accepted date format is mm/dd/yyyy (ex.12/31/2012)
End Date for Award Date (Initial Amendment End Date) No dateEnd End date for award date to search. Accepted date format is mm/dd/yyyy (ex.12/31/2012)
Start Date for Award Start Date No startDateStart Start date for award start date to search. Accepted date format is mm/dd/yyyy (ex.12/31/2012)
End Date For Award Start Date No startDateEnd End date for award start date to search. Accepted date format is mm/dd/yyyy (ex.12/31/2012)
Start Date for Award Expiration Date No expDateStart Start date for award expiration date to search. Accepted date format is mm/dd/yyyy (ex.12/31/2012)
End Date For Award Expiration Date No expDateEnd End date for award expiration date to search. Accepted date format is mm/dd/yyyy (ex.12/31/2012)
Estimated Total From Amount No estimatedTotalAmtFrom Estimated total from amount. This implies that you are searching for values greater than this amount. Results returned will be for values GREATER than the specified estimated amount (ex. 50000). For a range, you need to specify both the estimatedTotalAmtFrom and estimatedTotalAmtTo parameters
Estimated Total To Amount No estimatedTotalAmtTo Estimated total to amount. This implies that you are searching for values less than this amount. Results returned will be for values LESS than the specified estimated amount (ex. 500000). For a range, you need to specify both the estimatedTotalAmtFrom and estimatedTotalAmtTo parameters
Funds Obligated From Amount No fundsObligatedAmtFrom Funds obligated from amount. This implies that you are searching for values greater than this amount. Results returned will be for values GREATER than the specified obligated amount (ex. 50000). For a range, you need to specify both the fundsObligatedAmtFrom and fundsObligatedAmtTo parameters
Funds Obligated To Amount No fundsObligatedAmtTo Funds obligated to amount. This implies that you are searching for values less than this amount. Results returned will be for values LESS than the specified obligated amount (ex. 500000). For a range, you need to specify both the fundsObligatedAmtFrom and fundsObligatedAmtTo parameters
Unique Entity Identifier (UEI) No ueiNumber Unique Identifier of Entity (ex. F2VSMAKDH8Z7)
Fund Program Name No fundProgramName Fund Program Name (ex. "ANTARCTIC+COORDINATION")

Instructions to narrow your results: Description Notes
Parent UEI Number No parentUeiNumber Unique Identifier of Parent Entity (if applicable ex. JBG7T7RXQ2B7)
Project Director/Principal Investigator Name No pdPIName Project Director - Program Director, a CSREES term equivalent to an NSF Principal Investigator (PI) PI - Principal Investigator or Project Director (ex. "SUMNET+STARFIELD")

Instructions to narrow your results: Description Notes
Performance City No perfCity Performance City Name (ex. Arlington)
Performance Country Code No perfCountryCode AU
BD
BR
CA
GM
SW
SZ
UK
US
USA
Performance Congressional District Code No perfDistrictCode Performance congressional district code. Appended value of state abbreviation and congressional district code (ex. VA01,NY22)
Performance Location No perfLocation Performance location name (ex. "university+of+south+florida")

Instructions to narrow your results: Description Notes
Performance State Code No perfStateCode Performance State Code (ex. VA)
Performance Zip Code No perfZipCode 9 digit performance zip code with the pattern of 5 digit + 4. This is an exact match search (ex. 231730001)
Program Officer Name No poName Program Officer Name (ex. "Hamos+Rick")

Instructions to narrow your results: Description Notes
Primary Program Source No primaryProgram Comma separated numbers that include FUND_SYMB_ID to return FUND Code + FUND Name (ex. 040106, 040107)
Transaction Type No transType Standard Grant
GAA
Continuing Grant
Cooperative Agreement
Interagency Agreement
Contract
Fixed Amount Award
Fellowship Award
Contract-BOA/Task Order
Contract Interagency Agreement

Output Print Fields

Parameter Required Variable Name Value
Print Fields No printFields Comma separated print field names expected in the response.

Fields marked as (*) are default print fields

rpp
offset
id (*)
agency (*)
awardeeCity (*)
awardeeCountryCode
awardeeDistrictCode
awardeeName (*)
awardeeStateCode (*)
awardeeZipCode
cfdaNumber
coPDPI
date (*)
startDate
expDate
estimatedTotalAmt
fundsObligatedAmt (*)
ueiNumber
fundProgramName
parentUeiNumber
pdPIName
perfCity
perfCountryCode
perfDistrictCode
perfLocation
perfStateCode
perfZipCode
poName
primaryProgram
transType
title (*)
awardee
poPhone
poEmail
awardeeAddress
perfAddress
publicationResearch
publicationConference
fundAgencyCode
awardAgencyCode
projectOutComesReport
abstractText
piFirstName (*)
piMiddeInitial
piLastName (*)
piEmail

Request Parameters - Description Notes

For free text searches, there are different ways to search.
1) Use + sign for the spaces (ex. university+of+south+florida) 2) To match all the words in the phrase, use double quotes in the value (ex. "university+of+south+florida") 3) For single word you can use the word as is, however it is recommended to use phrases to narrow down the search. 4) The API will accept alphabetic and numeric characters, as well as spaces and these punctuation marks: " , ( ) - / . ' ; < > % plus the use of th e wildcard characters * and ? as well as the @ symbol for email addresses. Quotation marks are used to search for an exact match of the values within the quotation marks.

Sample Output: XML


	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
	<response>
		<award>
			<agency>NSF</agency>
			<awardeeCity>MISSOULA</awardeeCity>
			<awardeeName>University of Montana</awardeeName>
			<awardeeStateCode>MT</awardeeStateCode>
			<date>09/20/2010</date>
			<fundsObligatedAmt>99911</fundsObligatedAmt>
			<id>1052893</id>
			<piFirstName>Penelope</piFirstName>
			<piLastName>Kukuk</piLastName>
			<title>Indigenous Women in Science Network (IWSN) Third Annual Meeting</title>
		</award>
	</response>
	
	

Sample Output: JSON

{
  "response" : {
          "award" : [ {
		"agency" : "NSF",
		"awardeeCity" : "MISSOULA",
		"awardeeName" : "University of Montana",
		"awardeeStateCode" : "MT",
		"fundsObligatedAmt" : "99911",
		"id" : "1052893",
		"piFirstName" : "Penelope",
		"piLastName" : "Kukuk",
		"date" : "09/20/2010",
		"title" : "Indigenous Women in Science Network (IWSN) Third Annual Meeting"
      } ]
    }
  }

Sample Output: JSONP

processJson({
  "response" : {
          "award" : [ {
		"agency" : "NSF",
		"awardeeCity" : "MISSOULA",
		"awardeeName" : "University of Montana",
		"awardeeStateCode" : "MT",
		"fundsObligatedAmt" : "99911",
		"id" : "1052893",
		"piFirstName" : "Penelope",
		"piLastName" : "Kukuk",
		"date" : "09/20/2010",
		"title" : "Indigenous Women in Science Network (IWSN) Third Annual Meeting"
      } ]
    }
  });

Sample Error Output: XML


	<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
	<response>
		<serviceNotification>
		<notificationCode>AwardAPI-004</notificationCode>
		<notificationMessage>There was an error processing your request. If the problem persists, go to www.research.gov and click the Contact Us link to report your issue to the NSF IT Service Desk for further assistance.
		</notificationMessage>
		<notificationType>FATAL</notificationType>
		</serviceNotification>
	</response>
	
	

Sample Error Output: JSON

	{
	"response" : {
		  "serviceNotification" : [ {
		"notificationType" : "ERROR",
		"notificationCode" : "AwardAPI-002",
		"notificationMessage" : "Invalid parameter(s) sent in the request. Invalid Parameter(s) {keyword1}"
		} ]
	}
	}

Sample Error Output: JSONP

	processJson({
	"response" : {
		  "serviceNotification" : [ {
		"notificationType" : "ERROR",
		"notificationCode" : "AwardAPI-002",
		"notificationMessage" : "Invalid parameter(s) sent in the request. Invalid Parameter(s) {keyword1}"
		} ]
	}
	});