GET
/
api
/
enterprise
/
opportunities
/
saved_search_matches
curl --request GET \
  --url https://app.govly.com/api/enterprise/opportunities/saved_search_matches \
  --header 'X-API-KEY: <api-key>'
{
  "results": [
    {
      "id": "<string>",
      "aiEstimatedValueMax": 123,
      "aiEstimatedValueMin": 123,
      "aiLineItems": {
        "products": [
          {
            "vendor": "<string>",
            "product": "<string>",
            "quantity": 123,
            "description": "<string>",
            "partNumber": "<string>"
          }
        ],
        "services": [
          {
            "vendor": "<string>",
            "service": "<string>",
            "quantity": 123,
            "description": "<string>",
            "partNumber": "<string>"
          }
        ]
      },
      "aiPeriodOfPerformance": "<string>",
      "aiRawCompetingProducts": [
        "<string>"
      ],
      "aiRawCompetingVendors": [
        {
          "name": "<string>",
          "website": "<string>"
        }
      ],
      "aiRawProducts": [
        "<string>"
      ],
      "aiRawVendors": [
        {
          "name": "<string>",
          "website": "<string>"
        }
      ],
      "aiSummary": "<string>",
      "aiTitle": "<string>",
      "attachments": [
        {
          "checksum": "<string>",
          "filename": "<string>",
          "url": "<string>"
        }
      ],
      "buyer": {
        "id": "<string>",
        "hierarchy": [
          "<string>"
        ],
        "hierarchyIds": [
          "<string>"
        ],
        "name": "<string>"
      },
      "contractVehicle": "<string>",
      "displayName": "<string>",
      "externalIdentifier": "<string>",
      "identifier": "<string>",
      "lastSummarizedAt": "<string>",
      "uniqueKey": "<string>",
      "url": "<string>",
      "modifiedAt": "<string>",
      "savedSearchMatches": [
        {
          "id": "<string>",
          "followerEmails": [
            "<string>"
          ],
          "savedSearchName": "<string>",
          "savedSearchId": "<string>",
          "highlights": "<string>",
          "matchedAt": "<string>"
        }
      ]
    }
  ],
  "meta": {
    "nextCursor": "<string>"
  }
}
BETA This endpoint is currently in development and may change in the future.

List Saved Search Matches

Retrieve opportunities that match your saved searches. Results are paginated and can be filtered by date range, follower email, and saved search IDs.

Query Parameters

startDate
string

ISO 8601 timestamp to start searching from. Only returns matches created after this date.

endDate
string

ISO 8601 timestamp to search until. Only returns matches created before this date.

savedSearchIds
string[]

Filter results to specific saved searches. Multiple IDs can be provided to get matches from multiple saved searches.

followerEmails
string[]

Filter matches to only show opportunities from saved searches followed by this email address.

cursor
string

Cursor for pagination. Use the next_cursor value from the meta object in the response to get the next page.

per
integer
default:"50"

Number of results per page (max 100)

Response

results
array

Array of opportunities with their saved search matches

meta
object

Pagination metadata