All integrations

HigherGov

DATA · DATA & ANALYTICS

Federal contract and grant awards, opportunities, agencies, and awardees on their own key.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

highergov_get_api_external_agencyREAD

List federal and state/local agencies and their hierarchy, via GET /api-external/agency/. THE LOOKUP TABLE THE AWARD FILTERS NEED. `agency_key` here is what 'List federal prime contract awards', the grant, IDV, subaward and opportunity tools all take as `agency_key`, `awarding_agency_key` and `funding_agency_key`; those filters are HigherGov integers, not CGAC codes, so they come from here. Each row carries `agency_name`, `agency_abbreviation`, `agency_type`, a `defense_flag`, and `level_1` through `level_7` -- the department down to the contracting office, which is how a sub-agency is recognised as part of its department. Updated ad hoc, as agencies are created or become relevant.

api
highergov_get_api_external_awardeeREAD

List entities registered to do business with the federal government, via GET /api-external/awardee/. Sourced from SAM.gov and DSBS, refreshed MONTHLY, with `registration_last_update_date` as the update-check field. Each row carries the legal business name and cleaned name, UEI, CAGE code, the `awardee_key` and `awardee_key_parent` every award filter uses, primary and full NAICS and PSC lists, business-type information, employee count, year founded, website, physical address and the government business point of contact, plus registration activation and expiration dates. `parent_flag` says whether the row IS a corporate parent. Filter by `uei` or `cage_code` for an exact entity and by `primary_naics` for a capability sweep.

api
highergov_get_api_external_awardee_mpREAD

List mentor-protege agreements between awardees, via GET /api-external/awardee-mp/. The SBA Mentor-Protege Program pairs an established firm with a small business so the two may bid as a joint venture without the mentor's size disqualifying the pair. Each row names the mentor and protege by `awardee_key` (and by parent key), carries the protege's `primary_naics` and an `active_flag` -- INACTIVE ROWS ARE RETURNED TOO, and an expired agreement does not confer the set-aside eligibility a live one does, so read the flag rather than the presence of the row. Every filter is optional: give a mentor key to find its proteges, a protege key to find its mentor. This is the one operation the sealed contract documents with no description at all.

api
highergov_get_api_external_awardee_partnershipREAD

List prime/subcontractor teaming relationships between awardees, via GET /api-external/awardee-partnership/. DERIVED FROM SUBAWARD REPORTING, refreshed weekly as new subaward data lands -- so it is a record of who has actually worked together, not of who has signed a teaming agreement. Each row names a prime and a sub by `awardee_key` (and parent key) and carries `relationship_type`, `number_of_awards`, `total_awards` and `most_recent_date`. Use it to find a prime's usual subs before bidding, or to see who has already subbed to an agency's incumbent. Nothing here is a filter on the awards themselves; for those, use 'List federal subcontract awards'.

api
highergov_get_api_external_contractREAD

List federal prime contract awards, via GET /api-external/contract/. The core federal spend dataset, updated DAILY by 2am for the day before last, with `last_modified_date` as the update-check field. Each row carries the award identifier and type, the awardee and its parent, awarding and funding agency, NAICS and PSC, `total_dollars_obligated` alongside the current and potential total value of the award, period of performance dates, place of performance, competition fields (`extent_competed`, `number_of_offers_received`, `other_than_full_and_open_competition`, `type_of_set_aside`) and the vehicle it was placed under. THIS IS PRIME CONTRACTS ONLY: an order placed against an IDV appears here, but the IDV itself is 'List federal IDV awards' and money passed down to subcontractors is 'List federal subcontract awards'. `captured_date` and `last_modified_date` are different clocks and can differ by 1-90 days.

api
highergov_get_api_external_documentREAD

List the downloadable documents for one opportunity, via GET /api-external/document/. `related_key` IS REQUIRED and it is not an opportunity key: it is the value in the `document_path` field of a row from 'List contract, grant and DIBBS opportunities'. Calling this without first reading an opportunity is the one sequencing mistake this provider invites. Each row carries `file_name`, `file_type`, `file_size`, `posted_date`, a `download_url`, and -- the reason to prefer this over downloading anything -- a `summary` and a `text_extract` HigherGov has already produced, which usually answers the question without fetching the file. NO BYTES CROSS THIS TOOL: it returns JSON with URL strings, and this integration neither follows nor proxies them. Real time.

api
highergov_get_api_external_grantREAD

List federal prime grant awards, via GET /api-external/grant/. The grant counterpart of the contract dataset: updated DAILY by 2am for the day before last, with `last_modified_date` as the update-check field. Each row carries the FAIN award id, the recipient and its parent, awarding and funding agency, the CFDA grant program, `federal_action_obligation` and `total_obligated_amount`, `non_federal_funding_amount`, period of performance and place of performance. Filter by `cfda_program_number` to follow one programme; the programme's own objectives and eligibility rules are in 'List federal grant programs'. Grants and contracts are separate datasets here -- a recipient that holds both appears in both, and neither tool returns the other's rows.

api
highergov_get_api_external_grant_programREAD

List federal assistance programmes and their eligibility rules, via GET /api-external/grant-program/. The CFDA / Assistance Listing catalogue: one row per programme, carrying `cfda_program_number`, `program_title` and `popular_program_title`, the sponsoring agency, `cfda_objective`, `type_of_assistance`, and -- the fields worth reading before chasing a grant -- `applicant_eligibility` and `beneficiary_eligibility`, which say who may apply at all. `active` distinguishes live programmes from retired ones; the dataset returns both. Updated ad hoc as programmes are published, typically monthly. The awards MADE under a programme are in 'List federal prime grant awards', filtered by the same `cfda_program_number`.

api
highergov_get_api_external_idvREAD

List Indefinite Delivery Vehicle awards -- IDIQs, BPAs, GSA schedules -- via GET /api-external/idv/. AN IDV IS A HUNTING LICENCE, NOT A SALE. It establishes who may receive orders and up to what ceiling; the money moves on the orders, which appear in 'List federal prime contract awards' with this award's id as their `parent_award_id`. Reading an IDV's `potential_total_value_of_award` as revenue is the standard mistake. Rows carry the award id and type, awardee and parent, awarding and funding agency, NAICS and PSC, `ordering_period_end_date`, `who_can_use`, `closed_status`, the competition fields and the vehicle. Updated daily by 2am for the day before last; `last_modified_date` is the update-check field, and note this endpoint spells its ordering key `last_modified_date_ordering`.

api
highergov_get_api_external_naicsREAD

List North American Industry Classification System codes, via GET /api-external/naics/. The industry-code reference: `naics_code`, `naics_description`, a longer `naics_description_long` and an `active` flag, since codes are retired and reissued as the Census Bureau revises the system and the SBA changes size standards. Use it to turn a code found on an award into a description, or a description into the codes to filter awards by. IT IS ALSO THE CHEAPEST HEALTH CHECK ON THIS PROVIDER, and the one this integration's credential check will use once a subscriber key exists to measure it with: pure reference data with no account entitlement behind it, and one row at `page_size=1` on an API that meters records rather than requests.

api
highergov_get_api_external_nsnREAD

Look up NATO Stock Numbers with pricing and supplier history, via GET /api-external/nsn/. The defence-parts catalogue, and the one endpoint on this provider that carries PRICES: each row has `nsn` and `niin`, `nomenclature`, `end_item_name`, the federal supply class `fsc`, the acquisition codes `amc`/`amsc` and the unit of issue `ui`, a list of `part_numbers` and `suppliers`, the `awards` and `opp_count` behind it, and `last_price`/`unit_price`. Filter by `nsn`, by `part_number` when only the manufacturer's number is known, or by `cage_code` to see what one supplier is in the catalogue for. Ordering by `-opp_count` surfaces the parts that are bid most often. Prices are historical, not quotes.

api
highergov_get_api_external_opportunityREAD

List open and historical solicitations across SAM, DIBBS, SBIR, grants and state/local, via GET /api-external/opportunity/. THE TOOL TO REACH FOR WHEN SOMEBODY ASKS WHAT IS OUT THERE TO BID ON -- not 'List this account's HigherGov pursuits', which is the customer's own internal pipeline. Updated every 30 MINUTES, with `captured_date` as the update-check field. Rows carry `title`, `description_text` and an `ai_summary`, `opp_key` and `version_key`, `source_type` (`sam`, `dibbs`, `sbir`, `grant`, `sled`) and `source_id`, `posted_date` and `due_date`, `set_aside` and `sole_source_flag`, NAICS/PSC/NSN, place of performance, primary and secondary contact e-mail, estimated value range, and `document_path` -- which is the `related_key` 'List documents attached to an opportunity' needs. An opportunity is RE-CAPTURED when amended, so filter on `version_key` for one exact revision and on `opp_key` for every revision of the same solicitation. `search_id` replays a saved HigherGov search and is the only keyword channel this API has.

api
highergov_get_api_external_peopleREAD

List federal and state/local government points of contact, via GET /api-external/people/. CONTACT DETAILS OF REAL PEOPLE, published by the agencies on their own solicitations and awards. Rows carry `contact_name` (and its first/last parts), `contact_title`, `contact_type`, `contact_email`, `contact_phone`, `contact_ext`, `contact_fax`, the `agency` and `last_seen` -- the date the contact was last observed on a live record, which is the field that says whether the details are still current. Updated in real time. Filter by `contact_email` for an exact person; there is no name search on this endpoint. Treat the results as personal data: they are published for procurement correspondence, not for bulk marketing, and ordering by `-last_seen` is the cheap way to take only what is fresh.

api
highergov_get_api_external_pscREAD

List Product Service Codes and their descriptions, via GET /api-external/psc/. The other classification reference beside NAICS, and the two answer different questions: NAICS says what INDUSTRY the seller is in, PSC says what the government is BUYING. Rows carry `psc_code`, `psc_name`, `psc_description` and an `active` flag, since codes are retired as the schedule is revised. Use it to turn a code on a contract into words, or to choose the codes to filter awards and opportunities by. Updated ad hoc as codes are added or removed.

api
highergov_get_api_external_pursuitREAD

List the connected account's own Business Development pipeline, via GET /api-external/pursuit/. THE ONLY ACCOUNT-SPECIFIC TOOL ON THIS PROVIDER, and the one an agent most often reaches for by mistake. It returns the customer's OWN pursuit records -- what they are chasing, managed at highergov.com/pursuit/ -- and not government opportunities. To find solicitations to bid on, call 'List contract, grant and DIBBS opportunities' instead; the contract says so in its own words. Rows carry `pursuit_name`, `stage_name` and `pipeline_name`, `owner`, `pwin` and `weighted_value`, `est_value` and `duration_months`, `proposal_due_date`, `expected_award_date` and `solicitation_date`, `prime_sub`, `set_aside`, NAICS and PSC, tags, discussion, notes, tasks and `highergov_opp_path` linking back to the opportunity. AN EMPTY RESULT IS NORMAL AND IS NOT A CREDENTIAL PROBLEM: this endpoint is a HigherGov Business Development module feature, so an account whose subscription does not include it, or one that simply keeps no pursuits, answers 200 with no rows. The same key reaches every other tool on this provider either way -- it is a plan entitlement, not a permission gap, and there is nothing to reconnect.

api
highergov_get_api_external_sl_contractREAD

List state, local and education contract awards, via GET /api-external/sl-contract/. SLED spend, which is a SEPARATE dataset from the federal one and has a different shape because the sources are thousands of independent jurisdictions rather than one reporting system. Rows carry `award_amount` and `award_type`, the awardee and its parent (plus `awardee_raw` and `agency_raw`, the strings as the jurisdiction published them), `awardee_hq_city`/`awardee_hq_state`, `state_abr`, `start_date` and `end_date`, a `description`, contact name/e-mail/phone in both raw and cleaned forms, `po_flag`, the `solicitation_key` it came from, and a `url` back to the source. Filter the period with `start_date`/`end_date`, poll with `captured_date`, and use `search_id` to replay a saved search -- including its State filter, which only this dataset has.

api
highergov_get_api_external_subcontractREAD

List subcontracts reported under federal prime contracts, via GET /api-external/subcontract/. MONEY FLOWING DOWN FROM A PRIME, reported by the prime itself -- which is why the contract's own note warns that data arrives LATE and recommends re-reading the prior year periodically rather than trusting a narrow `last_modified_date` window. Updated weekly. Rows carry `subaward_id`, `sub_awardee` and its parent, `subaward_amount_total`, `subaward_action_date` and its fiscal year, `subaward_description`, and the `prime_contract_award_id` / `prime_idv_award_id` the work sits under, alongside the prime contract record itself. Note the filters name the SUBAWARDEE: `awardee_key` here is the sub, not the prime. To go the other way -- who subs to whom, in aggregate -- use 'List awardee teaming partnerships'.

api
highergov_get_api_external_subgrantREAD

List subgrants reported under federal prime grants, via GET /api-external/subgrant/. The grant-side sibling of the subcontract dataset, with the same weekly cadence and the same late-reporting caveat from the contract: look back over the prior year periodically rather than trusting a narrow window. Rows carry `subaward_id`, `sub_awardee` and its parent, `subaward_amount_total`, `subaward_action_date` and its fiscal year, `subaward_description` and the `prime_grant_award_id` the money came from, alongside the prime grant record and its programme. As with subcontracts, the awardee filters name the SUBRECIPIENT rather than the prime.

api
highergov_get_api_external_vehicleREAD

List multi-award contract vehicles, via GET /api-external/vehicle/. GWACs, MACs and agency-wide vehicles as first-class records: `vehicle_name` and `vehicle_description`, `vehicle_type`, the `primary_sponsor_agency`, `award_date` and `last_date_to_order`, `shared_ceiling`, `type_of_set_aside`, `who_can_use`, the `associated_solicitation`, and `predecessor_vehicle` / `successor_vehicle` -- which are how a recompete chain is followed from an expiring vehicle to the one replacing it. `vehicle_key` is what the contract and IDV tools take as their `vehicle_key` filter. `last_date_to_order` is the date that matters commercially: after it, the vehicle takes no new orders whatever its ceiling says. Updated ad hoc as new awards are made.

api

Put HigherGov behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.