Search suppliers
POST /sv/comprasal-sv/suppliers-search/v1 Dataset
Find a supplier’s id by its name, however it was spelled.
as_of (how current the data is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[]. Each supplier carries id, name (a company’s legal name, or a person’s name for a sole trader), trade_name, sanctioned and score (0 to 100, how close the name is to query; null without one).
COMPRASAL’s register does not publish suppliers’ NITs, so search by name.
A supplier’s profile
POST /sv/comprasal-sv/supplier/v1 Dataset
Everything public procurement knows about one supplier, in one answer.
as_of, found, supplier_id, supplier (id, name, trade_name, sanctioned), sanctions[] (name, start_date, end_date, sanctioning_entity, list, active, score) and awards: total, summarized and summary_is_complete (the amounts add up the 2,000 most recent awards), amount, first_awarded_date, last_awarded_date, entities[] (entity_id, entity_name, awards, amount) and latest[], the ten most recent awards.
An id the register does not hold returns
found: false with HTTP 200, not an error. Sanctions are matched by name, since the list carries no supplier id: check score before relying on a match.Search awards
POST /sv/comprasal-sv/awards-search/v1 Dataset
Every award, by supplier, entity, process, date or words.
as_of (how current the data is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[]. Each award carries id, amount (US dollars), awarded_date, process_id, process_code, process_name (what was bought), contracting_method and contracting_method_code, entity_id, entity_code, entity_name, supplier_id, supplier_name, supplier_trade_name and official_url (the award on COMPRASAL).
One award’s report
POST /sv/comprasal-sv/award/v1 Lookup
Answers from Croma’s copy when it holds a recent answer for the key, otherwise reads the source and keeps the answer. Every response says when the source was last asked (
checked_at) and where the answer came from (served_from).found, award_id, checked_at, served_from and award: contract_name, contracting_method, term_days, planned_amount, certified_amount, published_at, opened_at, closed_at, process_status, signed_at, budget_codes[], bidders[] (name, submitted_at), modifications, payments and official_url.
An id COMPRASAL does not hold returns
found: false with HTTP 200, not an error.Search open tenders
POST /sv/comprasal-sv/tenders-search/v1 Dataset
The processes taking offers now, soonest deadline first.
as_of (how current the data is), the applied filters, total and total_is_exact, page, per_page, total_pages, count and results[]. Each process carries id, code, name (what is being bought), entity_name, contracting_method and contracting_method_code, status, stage, current_stages[] and stages[] (name, starts_at, ends_at), offers_due_at (when offers close), activities[] (code, name: the economic activities it is open to) and activity_codes.
Tenders a supplier fits
POST /sv/comprasal-sv/tenders-for-supplier/v1 Dataset
From what a supplier has sold to what it could bid on this week.
as_of, found, supplier_id, supplier_name, awards_considered, count and results[], best match first. Each process carries id, code, name (what is being bought), entity_name, contracting_method and contracting_method_code, status, stage, current_stages[] and stages[] (name, starts_at, ends_at), offers_due_at (when offers close), activities[] (code, name: the economic activities it is open to) and activity_codes. Each match adds score, matched_terms and similar_award_ids.
A supplier with no awards gets no matches: the match reads its words from what it has sold.
Full reference
Schemas, all response fields, and an interactive playground.