United States: Procurement Services of the City of Portland

Portland tracks information in BuySpeed (electronic procurement portal), SAP (enterprise resource planning software), and B2G (contract compliance software). Some bureaus also use supplemental systems like Airtable to record additional information.

The publication includes open procurement procedures, competitive procedures that result in an outline agreement; selective procurement procedures, which share all the same features as open procedures but also include additional technical, economic, or suitability selection criteria that enable participation in the tender or solicitation process; limited competitive procurement procedures that result in an outline agreement or a purchase order (PO); and direct procurement procedures, which are non-competitive and result in a distributed purchase order (DPO) or an outline agreement. Portland’s dataset includes data generated in BuySpeed and SAP on or after April 29, 2015, and in B2G on or after July 1, 2017. The City of Portland is the sole buyer for all City contracts. This publication includes a breakdown of contracts and purchases by specific bureaus and offices. Although the City of Portland may execute contracts for any amount, most procurements that fall under the small procurement threshold are made using a Procurement Card and are not included in the publication.

Available formats:
JSON
Excel
CSV

Overview

Data date range:
Apr 2015 - May 2025
Update frequency:
Weekly
Main language:
English
OCID prefix:
ocds-ptecst
License:
Open Data Commons Public Domain Dedication and Licence (PDDL)

You are free:

  • To share: To copy, distribute and use the database.
  • To create: To produce works from the database.
  • To adapt: To modify, transform and build upon the database.

As long as you:

  • Blank: This section is intentionally left blank. The PDDL imposes no restrictions on your use of the PDDL licensed database.
Publication policy:
https://www.portland.gov/business-opportunities/ocds/pdx-ocds-publication-policy
Last retrieved:
Jul 2025 (retrieved monthly)
Retrieved from:
https://www.portland.gov/business-opportunities/ocds/ocds-data-publication

Data available

A contracting process has several stages: tendering, awarding, contracting and implementation. You can learn about the contracting stages in this tutorial.

Parties

Count of parties:
26,295

Planning

Count of planning activities:
0

Tenders

Count of tenders:
14,677
Count of tenderers:
11,678
Count of tender items:
0

Awards

Count of awards:
10,067
Count of suppliers:
10,079
Count of award items:
0

Contracts

Count of contracts:
10,067
Count of contract items:
112,487
Count of transactions:
111,869

Documents

Count of documents:
1,462

Milestones

Count of milestones:
116,728

Amendments

Count of amendments:
0

The dataset includes additional fields including, tender/identifiers. In addition, these extensions are used: Award criteria breakdown, Metrics, Purchase Order, Related purchase order, Selection Criteria, Subcontracting, Task Order, Transaction related milestones There are 8 additional code values in partyRole, appliesTo, selectionCriterionType, and itemClassificationScheme codelists. Their description is incorporated in Portland’s publication policy.

Data quality

The dataset has minor issues that should not interfere with most uses. They include:

  • Some parties listed in the parties array are not referenced elsewhere in the releases; no organization object includes them at any contracting stage.
  • Some contract values are not commensurate with award value (the sum of its contracts’ values is less than 50%, or more than 150%, of the award’s value)
  • The current dataset omits the top 20 contracting processes that contribute to an Out of Memory (OOM) error while standardizing the data.

Last reviewed: Jul 2025

Access data

This OCDS dataset is available for download in JSON, Excel or CSV format. You can download the data for contracting processes in a specific year or for all time.

JSON

Each contracting process is represented as one line of JSON text in the .jsonl file.

The .jsonl file is compressed using Gzip. Windows users need 7-Zip, WinRAR or WinZip to decompress the .gz file.

Excel

Each contracting process is represented as one row in the main sheet. Other sheets link to it via the _link_main column.

Excel files can have at most 1,048,576 rows. If a year is missing, it had too many rows. Download the CSV files, instead.

CSV

Each contracting process is represented as one row in the main.csv file. Other files link to it via the _link_main column.

The .csv files are archived using tar and compressed using Gzip. Windows users need 7-Zip, WinRAR or WinZip to decompress the .tar.gz file.

Do you have any questions or feedback on this dataset or any other content on this page?