Appearance
Filtering
Search tenders accepts a rich set of optional filters, and all of them can be combined freely. Get alert tender results accepts a subset (text, publication and last-significant-change dates, sorting) on top of the alert's own criteria.
Text search
json
{ "text": "highway construction Spain" }Status
The most common values:
| Value | Meaning |
|---|---|
Publicada | Open for bids |
Adjudicada | Awarded |
Resuelta | Resolved |
Formalizada | Contract signed |
Cerrada | Closed |
Every accepted value: Creada, Anuncio Previo, Publicada, Evaluación Previa, Evaluación, Adjudicada, Parcialmente Adjudicada, Resolución Provisional, Resuelta, No Resuelta, Finalizada, Formalizada, Parcialmente Resuelta, Desistida, Cerrada, Anulada, No definido, Desierta.
json
{ "status": ["Publicada", "Adjudicada"] }Tender type
| Filter | Type | Description |
|---|---|---|
isOnlyWithinDeadline | boolean | Only tenders still within their submission deadline |
isMinorContract | boolean | Only minor contracts |
hasLots | boolean | Only tenders with lots |
procedures | string[] | Procedure types |
contractTypes | string[] | Contract types |
json
{ "isOnlyWithinDeadline": true, "hasLots": true }CPV codes
json
{ "cpvs": ["45000000-7", "72000000-5"] }Locations
json
{ "locations": ["country/ES"] }
{ "locations": ["town/Madrid", "town/Barcelona"] }Budget & amounts
Each pair sets an inclusive range; send one side or both.
| Filter pair | Description |
|---|---|
minBudget / maxBudget | Budget without taxes |
minEstimatedValue / maxEstimatedValue | Estimated contract value |
minAwardAmount / maxAwardAmount | Award amount |
minDiscountRate / maxDiscountRate | Discount rate of the award, 0–100 |
minMonthlyProratedBudget / maxMonthlyProratedBudget | Budget prorated per month of the contract |
minYearlyProratedBudget / maxYearlyProratedBudget | Budget prorated per year of the contract |
json
{
"minBudget": 50000,
"maxBudget": 1000000
}Dates
All dates are ISO 8601 date-times.
| Filter pair | Description |
|---|---|
minPublicationDate / maxPublicationDate | When the tender was published |
minDeadlineDate / maxDeadlineDate | Submission deadline |
minAwardingDate / maxAwardingDate | When the tender was awarded |
minFormalizationDate / maxFormalizationDate | When the contract was signed (may be estimated) |
minExpirationDate / maxExpirationDate | When the contract expires (may be estimated) |
minExpirationWithExtensionDate / maxExpirationWithExtensionDate | When the contract expires including every extension (may be estimated) |
minLastUpdateDate / maxLastUpdateDate | Last time the record was updated |
minLastSignificantChangeDate / maxLastSignificantChangeDate | Last significant change to the tender |
json
{
"minPublicationDate": "2024-01-01T00:00:00Z",
"maxDeadlineDate": "2024-06-30T23:59:59Z"
}Sorting
| Value | Description |
|---|---|
by-published-date | Publication date (default) |
by-relevance | Relevance to text query |
by-update-date | Last update |
by-due-date | Submission deadline |
by-budget | Budget amount |
by-prorated-budget | Prorated budget |
by-expiration-date | Contract expiration |
by-awarding-date | Award date |
by-last-significant-change | Last significant change |
isDescendent (default true) sets the direction.
json
{ "sort": "by-due-date", "isDescendent": false }Full example
bash
curl -X POST https://api-rest.tendios.com/api/v1/tenders/search \
-H "api-key: tend_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"text": "software development",
"status": ["Publicada"],
"locations": ["country/ES"],
"cpvs": ["72000000-5"],
"minBudget": 50000,
"isOnlyWithinDeadline": true,
"sort": "by-due-date",
"page": 1,
"pageSize": 25
}'