API usage terms
directory.lgbt's public API (`/api/v1`) is free, keyless, and read-only. Using it means agreeing to these terms.
What this API is
This is a versioned, keyless, rate-limited JSON API over the same published-listings data the site itself shows. It never exposes non-public contact fields, area-only locations are aggregated exactly as they are on-site, and adult content is excluded by default unless you explicitly pass `include_adult=true` on a request.
How search differs from the website
This API's search stays on the same Postgres full-text/trigram search the site's data is built on, and does NOT get the synonym expansion or typo-tolerance the on-site search box gets from Meilisearch. A query that finds a result on the website may return nothing via this API — this is an intentional, permanent design choice, not a bug to report.
Rate limits
This API is rate-limited to keep it available for everyone. We don't publish the exact numeric threshold here, since it may be tuned after launch based on real traffic without needing a terms rewrite — if you're building something that needs a higher sustained rate than a normal integration, get in touch rather than working around the limit.
Prohibited uses
You may not use this API to: identify, profile, filter, or target LGBTQIA+ individuals for harm or harassment; build a product whose purpose is to out, expose, or discriminate against people or organisations based on LGBTQIA+ identity, sexual orientation, or gender identity; scrape the entire dataset in a way that circumvents or defeats the published rate limit; misrepresent data from this API as your own original research without attribution.
Attribution
If you display data from this API publicly, credit "directory.lgbt" and link back to the source listing where practical.
Data sources
Some listings started as leads from public open-data sources, cross-checked against independent sources before publishing (a lead is never published from a single open-data source alone). Data includes information from OpenStreetMap, © OpenStreetMap contributors, ODbL 1.0.
No warranty
Data is community- and register-sourced and may be incomplete or out of date; verify anything safety-critical directly with the organisation.
API stability and sunset policy
This API is versioned in the path. The current version is stable: existing fields will not be removed, renamed or change type or meaning within it. Additive, non-breaking changes — new optional fields, new endpoints — may land at any time; where this specification's version string is a content-revision counter, it moves to record each one. A breaking change will only ever arrive as a new version, never as a change to the current one. If a version is ever withdrawn, we will give at least six months' public notice before it stops responding. Notice appears in the changelog on this page, and scheduled withdrawals are additionally signalled on every response with the standard Deprecation and Sunset HTTP headers. A field may be absent from a response where we withhold the underlying value — for accuracy, privacy or safety — on directory.lgbt itself. Withholding a value we will not stand behind is not a breaking change under this policy, and it applies to every published surface equally.
Changes to these terms
We may update these terms; the date below reflects the most recent change.
Changelog
Notable changes to the API contract or these terms, tracked here from this policy's introduction onward — newest first.
- 4 Sept 2026/api/v1: 1.5 — listings/{id} gains a provenance[] array — the same per-field "how we know this" disclosure the public listing page shows — and an arrival_notes field. No breaking change.
- 31 Aug 2026/api/v1: 1.4; /oruk/v3: v3 — Stability and sunset policy published, binding /api/v1 and /oruk/v3 alike. No breaking change.
Last drafted: 4 Sept 2026