Skip to main content
SAM.gov is where US federal agencies publish contract opportunities: every proposed contract action expected to exceed $25,000, from a sources-sought notice through the solicitation to the award. Every agency posts there: the Department of Defense and its services, the General Services Administration, Veterans Affairs, Agriculture, the Interior, Homeland Security, Justice, State, Health and Human Services, NASA, Energy and the rest. Every notice SAM.gov lists as active, about 75,000: some 23,000 combined synopsis/solicitations, 19,000 solicitations, 14,000 award notices, 7,000 presolicitations, 5,000 special notices and 5,000 sources sought. Each comes with its title and text, the solicitation number, the department, agency and office that posted it, the NAICS and product service codes, the set-aside, the response deadline, the place of performance, the contacts, and for an award the contractor, the amount and the date. Brought up to date every day; a notice SAM.gov archives leaves the list. Search first, then read one notice in full. For the parties barred from federal awards see SAM.gov Exclusions.
The whole source, organized and ready to query: every endpoint on this page answers in milliseconds. Every response carries as_of: how current the data is. How datasets work.

Search opportunities

POST /us/sam/opportunities-search/v1 Dataset Searches every active notice by any combination of words, kind of notice, solicitation number, agency, codes, set-aside, state and date.
Returns as_of (how current the data is), the applied filters, sort, total and total_is_exact, page, per_page, total_pages, count and opportunities[]. Every notice carries id (SAM.gov’s id for the notice, the key), title, solicitation_number, type (the kind of notice now: Solicitation, Combined Synopsis/Solicitation, Presolicitation, Sources Sought, Special Notice, Award Notice, Justification, Justification and Approval (J&A), Modification/Amendment/Cancel, Sale of Surplus Property or Consolidate/(Substantially) Bundle), base_type (the kind it was first posted as), department, department_code (CGAC), sub_tier, agency_code (FPDS), office, office_code (AAC), organization_type, posted_date and posted_at, response_deadline (as SAM.gov writes it, usually with the office’s UTC offset) and response_deadline_date, archive_type and archive_date, set_aside_code and set_aside, naics_code, classification_code (PSC), the place of performance (performance_street, performance_city, performance_state, performance_zip, performance_country), for an award award_number, award_date, award_amount (US dollars) and awardee, primary_contact and secondary_contact (each with title, name, email, phone, fax), the contracting office’s office_city, office_state, office_zip and office_country, active, description (the notice’s text, cut by SAM.gov at about 32,000 characters), additional_info_url and source_url (the notice on SAM.gov). Empty fields are null.
The list carries the notices SAM.gov shows as active. Brought up to date daily; a notice SAM.gov archives stops matching.

One opportunity

POST /us/sam/opportunity/v1 Dataset Resolves one notice by its SAM.gov id and returns the full record.
Returns found, id, as_of and opportunity (null when not found). Every notice carries id (SAM.gov’s id for the notice, the key), title, solicitation_number, type (the kind of notice now: Solicitation, Combined Synopsis/Solicitation, Presolicitation, Sources Sought, Special Notice, Award Notice, Justification, Justification and Approval (J&A), Modification/Amendment/Cancel, Sale of Surplus Property or Consolidate/(Substantially) Bundle), base_type (the kind it was first posted as), department, department_code (CGAC), sub_tier, agency_code (FPDS), office, office_code (AAC), organization_type, posted_date and posted_at, response_deadline (as SAM.gov writes it, usually with the office’s UTC offset) and response_deadline_date, archive_type and archive_date, set_aside_code and set_aside, naics_code, classification_code (PSC), the place of performance (performance_street, performance_city, performance_state, performance_zip, performance_country), for an award award_number, award_date, award_amount (US dollars) and awardee, primary_contact and secondary_contact (each with title, name, email, phone, fax), the contracting office’s office_city, office_state, office_zip and office_country, active, description (the notice’s text, cut by SAM.gov at about 32,000 characters), additional_info_url and source_url (the notice on SAM.gov). Empty fields are null.
An id the active list does not carry returns found: false with HTTP 200, not an error. That is also the answer for a notice SAM.gov has archived.

Full reference

Schemas, all response fields, and an interactive playground.