Public API
Access catalogue metadata as JSON, freely and without a key
The GPRbase catalogue is exposed as JSON. The API is read-only, open to everyone, requires no key or registration, and allows calls straight from a browser.
Endpoints
Two addresses are enough. Responses are cached for one hour.
Full catalogue
GET https://www.gprbase.com/api/datasets.json
Returns every dataset with its metadata, along with the total count and the generation timestamp.
A single dataset
GET https://www.gprbase.com/api/datasets/{id}.json
The same fields, plus a ready-made citation in APA and BibTeX formats. Identifier matching is case-insensitive.
Dataset fields
Each catalogue entry carries the following fields. More may be added: ignore what you do not recognise rather than validating strictly.
| Field | Type | Description |
|---|---|---|
id |
string | Stable identifier, for example ds016. Never reused. |
title / title_fr |
string | English and French titles. |
description / description_fr |
string | Bilingual descriptions. Line breaks and paragraphs are preserved. |
applications |
array | Canonical application keys. A dataset may belong to several domains. |
antenna |
string | One or several antennas, separated by a semicolon. |
frequency_mhz |
string | Single value, dual-frequency such as 300/800, or several values separated by a semicolon. |
format |
string | Native file format, usually DZT. |
dataType |
string | Always raw: no processing is applied to the data. |
fileCount |
integer | null | Number of files in the package, when recorded. |
targets |
array | What the survey was looking for. |
contributor |
string | Who acquired the data in the field. |
datePublished |
string | null | Publication date in ISO 8601 format. |
license |
string | Always CC BY-NC-SA 4.0. |
status |
string | Dataset visibility. Only public datasets are freely accessible. |
isAccessibleForFree |
boolean | True when the dataset is freely accessible. |
url / url_fr |
string | null | Canonical page addresses, English and French. Null for a non-public dataset. |
Application keys
Values are returned in canonical form, whatever was entered originally.
beton— Concrete / Civil Eng.reseaux— Underground Utilitiesgeotech— Geotechnicsroutes— Roads / Pavementsarcheologie— Archaeologygeosciences— Geosciences
Antenna and frequency are strings, not arrays: split them yourself, or use the client, which does it for you.
Citations
The single-dataset endpoint returns a formatted citation. The author is the publishing organisation; the field team, when external, is credited separately as the acquisition contributor.
What the API does not do
- No write access. The catalogue is maintained through a separate administration interface.
- No download links. The API returns the dataset page address; access to the files goes through the request form.
- No server-side search. Fetch the catalogue once and filter locally: the collection is small.
Python and JavaScript client
An official client, dependency-free and MIT licensed, handles filtering, splitting of multi-value fields and citation generation.
from gprbase import GPRbase
gpr = GPRbase()
for d in gpr.datasets(application="beton", frequency="2500"):
print(d.id, d.title, d.url)
GitHub DOI 10.5281/zenodo.22010033
Good practice
- Fetch the catalogue once rather than one dataset at a time.
- Identify your tool with a User-Agent header. There is no rate limit, but it helps when something goes wrong.
- Ignore fields you do not recognise: new ones may appear without notice.
Licence and citation
The metadata returned by this API may be reused freely, including to build a catalogue or a search tool. The datasets themselves remain under CC BY-NC-SA 4.0: attribution required, no commercial use without separate authorisation, derivatives under the same terms.
Xavier, J. (2026). GPRBase: A Free Library of Real-World Ground Penetrating Radar Datasets for Education, Training and Research. https://doi.org/10.5281/zenodo.21894933
Questions
For any question or correction: info@gprbase.com