qthDB by SQ6EMM
Look up the Maidenhead (WWL) locator of an amateur radio callsign. The answers come from locators that stations report in PSKReporter, WSPR and DX cluster spots, each with a confidence score. Where a station's own HamQTH.com profile gives a locator, that is the answer unless recent spots clearly disagree.
Data status
| Source | Last data received | Newest spot | Spots taken in |
|---|---|---|---|
| Loading… | |||
Live spots are written every 10 seconds and reach the API within about 30 seconds.
Times are UTC. Machine-readable: GET /v1/status.
API
Base URL: https://this-server. All responses are JSON unless noted.
Callsigns are case-insensitive and at most 20 characters.
GET /v1/locator/{call}
Locator of one callsign. Returns 404 if the callsign is unknown. Responses carry an
ETag and may be cached for 5 minutes.
curl https://this-server/v1/locator/SP6XYZ
{
"alternatives": [{"confidence": 0.071, "locator": "JO80KX"}],
"call": "SP6XYZ",
"confidence": 0.873,
"last_seen": "2026-10-10T08:14:00Z",
"level": "high",
"locator": "JO81LD",
"mobile": false,
"precision": 6,
"sources": ["pskreporter", "wsprnet"]
}
GET /v1/status
Dataset size and freshness, as shown in the data status section above.
Answer fields
| Field | Meaning |
|---|---|
locator | Best locator: 4 characters, or 6 when the evidence is strong enough (confidence of at least 0.6 for the subsquare). |
precision | 4 or 6, the length of locator. |
confidence | 0–1. Combines how much of the evidence points to this locator and how much evidence there is overall. |
level | high (≥ 0.8), medium (≥ 0.5) or low. |
alternatives | Up to 3 other squares with at least 5 % of the evidence, with their confidence. |
last_seen | When this callsign last appeared in a spot that included a locator. |
sources | Sources that contributed: pskreporter, wsprnet, dxcluster, hamqth. |
mobile | true for /P and /M calls and for stations seen in several distant squares within a week. |
fallback | Present as "base_call" when a call like SP6XYZ/P has no data of its own and the answer for SP6XYZ is used instead. Confidence is reduced by 30 %. |
How answers are made
- Each spot gives evidence for the locator of the transmitting station (decoded from its own signal, full weight) and of the receiving station (from its software settings, 0.8 weight). DX cluster locators count 0.3.
- When many receivers hear the same transmission, that counts only a little more than one receiver. Evidence that is spread over time and over several days counts more.
- Evidence fades with a half-life of 30 days, or 2 days for
/Pand/Mcalls, so a station that moves is picked up quickly. Evidence not seen for 2 years is deleted. - The grid from a station's own HamQTH.com profile comes first: it is the
answer with confidence at least 0.8 (
high), unless spots from the last 7 days clearly put the station in another square; then the spots decide and the profile grid is listed underalternatives. - A callsign we know nothing about is looked up on HamQTH when it is first asked for, and again after 30 days.
- Invalid callsigns, maritime and aeronautical mobile (
/MM,/AM) and placeholder locators such asAA00andJJ00are ignored.
Usage limits
20 requests per second per client, with bursts of up to 100. Requests above this get 429.
Please cache answers on your side.
Data sources
Spots come from PSKReporter, WSPRnet (history from wspr.live) and the DX cluster network. Profile grids come from HamQTH.com. Thanks to their operators and to every station that reports spots.