{"id":27121038,"url":"https://github.com/brycejohnston/qrz_ex","last_synced_at":"2025-12-11T23:37:05.532Z","repository":{"id":200881249,"uuid":"706444663","full_name":"brycejohnston/qrz_ex","owner":"brycejohnston","description":"QRZ elixir client for callsign lookups","archived":false,"fork":false,"pushed_at":"2023-10-20T15:46:35.000Z","size":17,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-19T02:19:28.576Z","etag":null,"topics":["amateur-radio","callsigns","ham-radio","qrz","qrzcom"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brycejohnston.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-10-18T01:04:19.000Z","updated_at":"2024-06-08T16:10:46.000Z","dependencies_parsed_at":"2023-10-20T17:10:07.276Z","dependency_job_id":null,"html_url":"https://github.com/brycejohnston/qrz_ex","commit_stats":null,"previous_names":["brycejohnston/qrz_ex","aprser/qrz_ex"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycejohnston%2Fqrz_ex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycejohnston%2Fqrz_ex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycejohnston%2Fqrz_ex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brycejohnston%2Fqrz_ex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brycejohnston","download_url":"https://codeload.github.com/brycejohnston/qrz_ex/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247640557,"owners_count":20971555,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["amateur-radio","callsigns","ham-radio","qrz","qrzcom"],"created_at":"2025-04-07T10:51:28.797Z","updated_at":"2025-12-11T23:37:00.479Z","avatar_url":"https://github.com/brycejohnston.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QRZ\n\n[![hex.pm](https://img.shields.io/hexpm/v/qrz.svg)](https://hex.pm/packages/qrz)\n[![Hex Docs](https://img.shields.io/badge/hex-docs-lightgreen.svg)](https://hexdocs.pm/qrz/)\n[![hex.pm](https://img.shields.io/hexpm/dt/qrz.svg)](https://hex.pm/packages/qrz)\n[![hex.pm](https://img.shields.io/hexpm/l/qrz.svg)](https://hex.pm/packages/qrz)\n\n[QRZ.com](https://www.qrz.com) elixir client for amateur radio callsign and DXCC lookups through their [XML Data Service](https://www.qrz.com/XML/current_spec.html).\n\nQueries require a QRZ account with an active [XML Logbook Data Subscription](https://shop.qrz.com/).\n\n## Installation\n\nThe package can be installed by adding qrz to your list of dependencies in mix.exs:\n\n```elixir\ndef deps do\n  [\n    {:qrz, \"~\u003e 0.1.3\"}\n  ]\nend\n```\n\n## Usage\n \nSee the [QRZ module documentation](https://hexdocs.pm/qrz/QRZ.html) for additional details.\n\n### Login\n\nLogin to get session key to use for lookups. Queries that result in session expiration will return an error tuple denoting it, requiring a login call to get a new session key.   \n\n```elixir\n{:ok, session} = QRZ.login(\"username\", \"password\")\n#=\u003e \n# {:ok,\n#   %QRZ.Session{\n#     key: \"d0cf9d7b3b937ed5f5de28ddf5a0122d\",\n#     count: \"6124\",\n#     sub_exp: \"Sat Mar  8 00:00:00 2025\",\n#     gmt_time: \"Wed Oct 18 17:09:55 2023\",\n#     message: \"\",\n#     error: \"\"\n#   }}\n\nsession.key\n#=\u003e \"d0cf9d7b3b937ed5f5de28ddf5a0122d\"\n```\n\n### Callsign Lookup\n\nLookup callsign information.\n\n*Note: Currently every field is returned as a string, future versions may eventually cast numerical and date related values.*\n\n```elixir\n{:ok, callsign} = QRZ.callsign(session.key, \"aa7bq\")\n#=\u003e \n# {:ok,\n#   %QRZ.Callsign{\n#     call: \"AA7BQ\",\n#     xref: \"\",\n#     aliases: \"N6UFT,AA7BQ/DL1,KJ6RK,AA7BQ/HR6\",\n#     dxcc: \"291\",\n#     first_name: \"FRED L\",\n#     last_name: \"LLOYD\",\n#     ...\n#   }}\n\ncallsign.call\n#=\u003e \"AA7BQ\"\n\ncallsign.email\n#=\u003e \"aa7bq@example.com\"\n```\n\n### DXCC Lookup\n\nLookup DXCC entity information by entity code or callsign\n\n```elixir\n{:ok, dxcc} = QRZ.dxcc(session.key, \"291\")\n#=\u003e \n# {:ok,\n#   %QRZ.DXCC{\n#     dxcc: \"291\",\n#     cc: \"US\",\n#     ccc: \"USA\",\n#     name: \"United States\",\n#     continent: \"NA\",\n#     itu_zone: \"0\",\n#     cq_zone: \"0\",\n#     timezone: \"-5\",\n#     lat: \"37.701207\",\n#     lon: \"-97.316895\",\n#     notes: \"\"\n#   }}\n\ndxcc.lat\n#=\u003e \"37.701207\"\n\ndxcc.timezone\n#=\u003e \"-5\"\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrycejohnston%2Fqrz_ex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrycejohnston%2Fqrz_ex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrycejohnston%2Fqrz_ex/lists"}