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.
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.
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.