75 lines
3.2 KiB
Markdown
75 lines
3.2 KiB
Markdown
# QRZ.com XML API — what a free account returns, and what a subscription adds
|
|
|
|
Captured 2026-08-02 on F4BPO's two accounts, same callsign looked up twice
|
|
within a minute. Kept because the difference is the answer to a question that
|
|
comes back regularly: *"someone told me their logger gets the 6-character
|
|
locator from QRZ without paying"*. It does not.
|
|
|
|
## Free account — `SubExp: non-subscriber`
|
|
|
|
```xml
|
|
<Callsign>
|
|
<call>F4BPO</call>
|
|
<fname>Gregory</fname>
|
|
<name>Salaun</name>
|
|
<addr2>Veigy-Foncenex</addr2>
|
|
<country>France</country>
|
|
</Callsign>
|
|
<Session>
|
|
<SubExp>non-subscriber</SubExp>
|
|
<Message>A subscription is required to access the complete record.</Message>
|
|
</Session>
|
|
```
|
|
|
|
**Five fields.** No `grid`, no `lat`/`lon`, no `dxcc`, no zones, no email, no
|
|
street, no image.
|
|
|
|
## Subscriber — `SubExp: Sat Jul 3 21:45:38 2027`
|
|
|
|
```xml
|
|
<Callsign>
|
|
<call>F4BPO</call> <dxcc>227</dxcc> <nickname>Greg</nickname>
|
|
<fname>Gregory</fname> <name>Salaun</name>
|
|
<addr2>Veigy-Foncenex</addr2><zip>74140</zip> <country>France</country>
|
|
<lat>46.103333</lat> <lon>6.290000</lon> <grid>JN36dc</grid>
|
|
<ccode>97</ccode> <land>France</land> <class>2</class>
|
|
<codes>E</codes> <qslmgr>Lotw, Buro, Direct</qslmgr>
|
|
<email>…</email> <u_views>56966</u_views>
|
|
<bio>4414</bio> <biodate>2026-07-08 15:30:58</biodate>
|
|
<image>https://cdn-xml.qrz.com/o/f4bpo/F4BPO_Greg_png.jpg</image>
|
|
<imageinfo>800:1200:221041</imageinfo>
|
|
<moddate>2025-08-24 19:55:31</moddate>
|
|
<eqsl>0</eqsl> <mqsl>1</mqsl> <lotw>1</lotw>
|
|
<cqzone>14</cqzone> <ituzone>27</ituzone>
|
|
<geoloc>user</geoloc> <name_fmt>Gregory "Greg" Salaun</name_fmt>
|
|
<serial>1000134</serial>
|
|
</Callsign>
|
|
```
|
|
|
|
## Consequences
|
|
|
|
- **A free QRZ account can never fill the locator, the coordinates, the zones
|
|
or the e-mail.** If someone reports a logger doing it on a free account, they
|
|
are either using HamQTH (free, returns a 6-character `grid`) or they hold an
|
|
XML subscription without realising it — the QRZ.com account and the "XML
|
|
Logbook Data" subscription are sold separately. `SubExp` in the session block
|
|
settles it in one request.
|
|
- **Profile edits take a few minutes to reach the XML feed.** Changing the grid
|
|
on the website and looking the callsign up immediately returns the OLD value,
|
|
which looks exactly like a stale cache. Re-test after a few minutes before
|
|
suspecting the logger. (This cost an hour on 2026-08-02.)
|
|
|
|
## Fields OpsLog does not use yet
|
|
|
|
`qrz.go` maps call, name, addr1/2, zip, state, county, country, grid, lat, lon,
|
|
dxcc, cqzone, ituzone, cont, email, qslmgr and image. Left on the table:
|
|
|
|
- **`geoloc`** — `user` when the operator entered the position by hand, versus a
|
|
geocoded value derived from the postal address. This is a direct statement of
|
|
how much the coordinates and the locator can be trusted, and it is exactly
|
|
the question the grid-precision rule in App.tsx tries to answer by comparing
|
|
string lengths. Worth wiring if the locator ever misbehaves again.
|
|
- **`eqsl` / `mqsl` / `lotw`** — the station's QSL preferences as flags, more
|
|
reliable than parsing the free-text `qslmgr`.
|
|
- `nickname` / `name_fmt`, `class`, `moddate`, `bio`.
|