Getting Started
Enterprise
- Onboarding
- Enterprise API Reference
- Legacy API Reference (v2/v3)
List saved search matches
Retrieve opportunities that match your saved searches
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>"
}
}
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
ISO 8601 timestamp to start searching from. Only returns matches created after this date.
ISO 8601 timestamp to search until. Only returns matches created before this date.
Filter results to specific saved searches. Multiple IDs can be provided to get matches from multiple saved searches.
Filter matches to only show opportunities from saved searches followed by this email address.
Cursor for pagination. Use the next_cursor
value from the meta object in the response to get the next page.
Number of results per page (max 100)
Response
Array of opportunities with their saved search matches
Unique identifier for the opportunity
Maximum estimated value of the opportunity in USD
Minimum estimated value of the opportunity in USD
Structured breakdown of products and services mentioned in the opportunity
Description of the performance period for the opportunity
Array of competing product names identified in the opportunity
Array of primary product names mentioned in the opportunity
AI-generated summary of the opportunity
AI-generated descriptive title
Contract vehicle being used for the opportunity
Human-readable identifier for the opportunity
External reference number for the opportunity
Internal reference number
ISO 8601 timestamp of when the opportunity was last processed by AI
Unique identifier key for the opportunity
Web URL for viewing the opportunity
ISO 8601 timestamp of the last modification
Array of matches between this opportunity and saved searches
Unique identifier for the match
List of email addresses for users following this saved search
Name of the saved search that generated this match
ID of the saved search that generated this match
Highlighted text from the opportunity that matched the saved search criteria
ISO 8601 timestamp when the match was created
Pagination metadata
Cursor to get the next page of results. Will be null if there are no more results. NOTE: We use cursor pagination instead of page numbers for this endpoint to specifically support large datasets and guarantee consistent pagination over time since matches are immutable.
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>"
}
}