getoqrsmatches.php takes a number of HTTP GET parameters and returns a JSON array of QSOs that have been confirmed using the "direct" method in the Club Log OQRS checkout. 

Please note this API end point does not report on bureau requests, as this is not the expected use of the data.

  • api = Your API key
  • email = The user's Club Log account email address (ideally, please ask the user to provide an Application Password from Club Log)
  • password = The user's Club Log password
  • callsign = A valid callsign belonging to the user (it must be owned by the account)
  • startyear = Starting year for OQRS data (the date of the checkout, not the QSO), eg 2013 - OPTIONAL
  • startmonth = Starting month, eg 1, 01, 12 = December - OPTIONAL
  • startday = Starting day of the month, eg 3, 03, 13, 31 - OPTIONAL

Note: You should use HTTPS, as one of these parameters is the user's Club Log password or an application password.

There is no reason to ask Club Log for OQRS records already retrieved, but you might want to have a 1-day overlap each time, to be sure you don't miss something completed later in the same day as your penultimate lookup. To specify a starting date, you must provide a valid value for startyearstartmonth and startday (that is to say, all three are required). The date is when the OQRS checkout was completed by Club Log (not the QSO date). If no date is supplied, all OQRS records are returned without a date filter.


Here is an example query to retrieve new OQRS direct confirmations requested on or after 2013-12-17 00:00:00 for G7VJR:

Here is an example query to retrieve all OQRS direct confirmations for G7VJR:

It would be greatly appreciated if you could avoid the second query being used unnecessarily. Try to use the start date filters, as this is much more efficient and will give you smaller, faster results.

Example results

All results are returned as JSON in an array. For example, you may get this result:

[["G0LGJ\/M","2005-07-16 08:00:00","20","CW"],["CO2IZ","2005-08-15 20:27:38","20","SSB"]]


(notice that slashes are escaped in JSON). The fields are unlabelled for compactness. Reading left to right they are:

  1. Matched callsign
  2. QSO date (as logged by the owner of the OQRS transaction)
  3. Band ID (eg. 20 = 20M, 70 = 70CM)
  4. ModeID = a string representation of the mode (eg. CW, SSB, RTTY and so on - this will say "false" if the mode is unknown.