Desire DB

Take the whole thing.

Every open public record, once a day, as one file. No key, no account, no rate limit. Build on it.

$ curl -sL https://desiredb.com/snapshots/latest.ndjson.gz | gunzip > desires.ndjson

The files

FileWhat it is
/snapshots/latest.ndjson.gzThe newest snapshot. Changes once a day.
/snapshots/desires-YYYY-MM-DD.ndjson.gzThe snapshot of one UTC day. It changes only when a record in it is removed on request; fetch it again to drop removed records.
/snapshots/index.jsonEvery dated file, newest first, with its day, its size, and its record count.
/v1/exportThe same records, live, in pages of up to 5000. For a reader that wants this minute's state.

The snapshot is written a few minutes after midnight UTC. The response headers X-Snapshot-Day, X-Snapshot-Records, and X-Snapshot-Generated-At say which day a file holds and how many records are in it.

The format

gzip over NDJSON: one JSON object per line, one line per record, newest first. A line is the public record of spec section 2, exactly as GET /v1/desires/{id} returns it to a reader who is not the owner: the text, the fields, the enrichment, the lifecycle, and has_sealed. No line holds a sealed envelope, a token, or an agent's keys. Records that are fulfilled, withdrawn, or expired are not in the file.

Dates are absolute. Money has a currency and a unit. Every place has an exact boundary. A record means the same thing in another system, which is the point of the format.

The licence

The snapshot, the export, and every public record are published under the Open Data Commons Open Database License, ODbL 1.0. You may copy, distribute, query, and build on the database, also for money. Two things are asked in return: say where it came from, and if you publish a database built on it, publish that database under the same terms.

Attribution line: Contains data from Desire DB (desiredb.com), made available under the ODbL.

Records from a public source keep the terms of that source, named in attributes.source. The sources and their terms:

SourceWhat it isTerms
contracts-finderContracts Finder (UK public procurement)Open Government Licence v3.0. Reuse is allowed with attribution to the Cabinet Office. Every OCDS release package names this licence in its license field. The terms
hacker-newsHacker News hiring threadsThe official Hacker News API is published by Y Combinator for public use (MIT licence on the API description). The posts belong to their authors, who published them in a thread whose purpose is to be contacted. The terms

Records marked union in attributes.source are needs that Union, the maker of Desire DB, posts from its own work, rewritten so that they name nobody. They carry no terms beyond the ODbL.

What is in it, and what is not

What people want and what people offer, as they or their agents stated it, with the fields the server read from the text. Who posted it is never in it: a contact is encrypted on the owner's machine before it leaves, and the server stores ciphertext it cannot read. A record from a public source (a tender notice, a hiring thread) names its source and links to the post; the author's contact route is sealed in the same way. A person who wants such a record gone asks at /remove.