Skip to main content
Search public procurement opportunities with clear fields, filters, and boundaries.

Procurement research shape

  • Business research over a public procurement portal.
  • Domain-scoped output fields for CRM or pipeline workflows.
  • Safety boundaries around login, private workspaces, and submissions.

Setup

Use the CLI with a configured model profile. The example only reads public sam.gov search and opportunity pages.

Run it from the CLI

web agent \
  --url https://sam.gov/search/ \
  --allow-domain sam.gov \
  "Search public contract opportunities for AI evaluation or browser automation. Return the first 5 relevant opportunities with title, agency, notice ID if visible, response date, detail URL, and why it may fit. Do not log in, follow private workspace links, or submit forms."

Expected output

Procurement opportunities

1. Title: ...
   Agency: ...
   Notice ID: ...
   Response date: ...
   URL: https://sam.gov/opp/...
   Fit: ...

Build it into an app

const result = await agent.run({
  startUrl: "https://sam.gov/search/",
  goal:
    "Search public contract opportunities for AI evaluation or browser automation. Return the first 5 relevant opportunities with title, agency, notice ID, response date, detail URL, and fit summary.",
});

if (result.status === "completed") {
  await saveCaptureLeads(result.text, result.steps);
}

Production notes

  • Domain policy: sam.gov.
  • Output fields: title, agency, notice ID, response date, detail URL, fit summary.
  • Add structured output before routing opportunities to a CRM.
  • Stop before login, private workspace actions, or submissions.

Inspect

  • Debug UI for filters and result pages.
  • Steps for detail-page evidence.
  • Recording for capture review.
  • Status for blockers or auth walls.

Cleanup

The CLI-managed browser closes after the run. Close separately created debug browsers with web browser close <browser-id>.

Common failures

  • If SAM.gov changes result URLs or filters, inspect the recording and update the prompt around current visible labels.
  • If an opportunity requires login or workspace access, stop and return only the public page evidence.