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.

/api/datasets/ds016.json

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.

  • betonConcrete / Civil Eng.
  • reseauxUnderground Utilities
  • geotechGeotechnics
  • routesRoads / Pavements
  • archeologieArchaeology
  • geosciencesGeosciences

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