====== API ====== ===== Overview ===== The RepeaterBook API allows developers access to repeater data. The API is based upon [[https://www.json.org/json-en.html|JSON]] to promote machine data discovery. The API is located at https://www.repeaterbook.com/api. Please so not try to go to this link without the parameters set below, you will receive an error. ===== Use Authorization ===== Use of the data is for personal use only. The data cannot be fed to a commercial product for sale or otherwise. The use of the data may not compete with the RepeaterBook web or mobile application products. The data cannot be incorporated into an app or website with distribution beyond immediate personal use without the expressed written consent of RepeaterBook.com. The use of the API cannot duplicate methods or presentations of what RepeaterBook already produces. Use of RepeaterBook on a website or app must demonstrate the source of the data and provide a link to RepeaterBook.com. ===== Scope ===== All of the content, documentation, code, and related materials made available to you through the API are subject to these terms. Access to or use of the API or its content constitutes acceptance of this Agreement. ===== Use ===== You may use any RepeaterBook API to develop a service or service to search, display, analyze, retrieve, view, and otherwise 'get' information from FCC data. ===== Attrubtion ===== All services that utilize or access the API should display the following notice prominently within the application: "This product uses RepeaterBook Data API but is not endorsed or certified by RepeaterBook". You may use the RepeaterBook name or logos to identify the source of API content subject to these rules. You may not use the RepeaterBook name, logo, or the like to imply endorsement of any product, service, or entity, not-for-profit, commercial, or otherwise. ===== Modification or False Representation of Content ===== You may not modify or falsely represent content accessed through the API and still claim the source is RepeaterBook. ===== Right to Limit ===== Your use of the API may be subject to certain limitations on access, calls, or use as set forth within this Agreement or otherwise provided by RepeaterBook. If RepeaterBook reasonably believes that you have attempted to exceed or circumvent these limits, your ability to use the API may be permanently or temporarily blocked. RepeaterBook may monitor your use of the API to improve the service or to ensure compliance with this Agreement. ===== Service Termination ===== If you wish to terminate this Agreement, you may do so by refraining from further API use. RepeaterBook reserves the right (though not the obligation) to (1) refuse to provide the API to you if it is RepeaterBook's opinion that use violates any RepeaterBook policy or (2) terminate or deny you access to and use of all or part of the API at any time for any other reason in its sole discretion. All provisions of this Agreement which by their nature should survive termination shall survive termination, including, without limitation, warranty disclaimers, indemnity, and limitations of liability. ===== Changes ===== RepeaterBook reserves the right, at its sole discretion, to modify or replace this Agreement, in whole or in part. Your continued use of or access to the API after posting any changes to this Agreement constitutes acceptance of those modified terms. RepeaterBook may, in the future, offer new services and/or features through the API. Such new features and/or services shall be subject to the terms and conditions of this Agreement. ===== Disclaimer of Warranties ===== The API is provided "as is" and on an "as-available" basis. RepeaterBook hereby disclaims all warranties of any kind, express or implied, including without limitation the warranties of merchantability, fitness for a particular purpose, and non-infringement. RepeaterBook makes no warranty that the API will be error-free or that access thereto will be continuous or uninterrupted. ===== Limitations on Liability ===== In no event will RepeaterBook be liable with respect to any subject matter of this Agreement under any contract, negligence, strict liability, or other legal or equitable theory for (1) any special, incidental, or consequential damages; (2) the cost of procurement of substitute products or services; or (3) for interruption of use or loss or corruption of data. ===== General Representations ===== You hereby warrant that (1) your use of the API will be in strict accordance with the RepeaterBook privacy policy, this Agreement, and all applicable laws and regulations, and (2) your use of the API will not infringe or misappropriate the intellectual property rights of any third party. ===== Indemnification ===== You agree to indemnify and hold harmless RepeaterBook, its contractors, employees, agents, and the like from and against any and all claims and expenses, including attorney's fees, arising out of your use of the API, including but not limited to violation of this Agreement. ===== Miscellaneous ===== This Agreement constitutes the entire Agreement between RepeaterBook and you concerning the subject matter hereof, and may only be modified by the posting of a revised version on this page by RepeaterBook. ===== No Waiver of rights ===== RepeaterBook's failure to exercise or enforce any right or provision of this Agreement shall not constitute waiver of such right or provision. ===== Pricing ===== All the information presented via the API is intended to be open data and free to use for any purpose. As a public service of RepeaterBook.com, we do not charge any fees for the usage of this service. However, there are reasonable rate limits to prevent abuse and help ensure everyone has access. The rate limit is not public information but allows a generous amount for typical use. If the rate limit is exceeded, a request will return with an error and may be retried after the limit clears (typically within 5 minutes). Proxies are more likely to reach the limit, whereas requests directly from clients are not likely. All public-facing apps must provide credit back to RepeaterBook for the data. ===== Content Negotiation ===== Every request, either by browser or application, sends header information whenever you visit any website. For example, a commonly used header called "UserAgent" tells a website what type of device you are using so it can tailor the best experience for you. No private information is shared in a header, which is standard practice for all sites. Developers can override these headers for specific purposes. You can get full details by visiting the header field definitions page at the [[https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html|World Wide Web]] Consortium site. ===== Authentication ===== A User Agent is required to identify your application. This string can be anything, and the more unique to your application, the less likely it will be affected by a security event. If you include contact information (website or email), we can contact you if your string is associated with a security event. This will be replaced with an API key in the future. **User-Agent: (myweatherapp.com, contact@myweatherapp.com)** ===== Format ===== Endpoints have the JSON default format. ===== North America ===== ===== Available Data ===== * State ID (FIPS) * Repeater ID * Frequency * Input Frequency * PL/CTCSS Uplink * PL/CTCSS TSQ Downlink * Location/Nearest City * Landmark * County (US only) * State * Callsign * Use/Membership * Operational Status * ARES * RACES * SKYWARN * CANWARN * Operating Mode * AllStar Node * EchoLink Node * IRLP Node * WIRES Node * DMR Capable * DMR ID * DMR Color Code * D-Star Capable * NXDN Capable * P-25 Capable * P-25 NAC * M17 * M17 CAN * Tetra Capable * Tetra MCC * Tetra MNC * Yaesu System Fusion Capable * YSF Digital ID Uplink * YSF Digital ID Downlink * YSF DSC * Analog Capable * Notes * Last Update All repeaters are identified by a combination of the state ID and the repeater ID. The state ID is based on [[https://www.nrcs.usda.gov/wps/portal/nrcs/detail/?cid=nrcs143_013696|American National Standards Institute (ANSI) Codes for States]] ===== api/export.php ===== * callsign - Repeater callsign * city - Repeater city * landmark * state - State / Province * country - Repeater country * county - Repeater county * frequency - Repeater frequency * mode - Repeater operating mode (analog, DMR, NXDN, P25, tetra) * emcomm - ARES, RACES, SKYWARN, CANWARN * stype - Service type. Only required when searching for GMRS repeaters. ex: stype=gmrs ===== Output Format Parameter ===== The format is json - JavaScript Object Notation. ===== Wildcards ===== * % - will allow wild card searching examples * callsign=kd6% - All callsigns beginning with 'kd6' * callsign=%kpc - All callsigns ending with 'kpc' * callsign=kd%kpc - All callsigns beginning with 'kd' and ending with 'kpc' * callsign=%kp% - All callsigns with 'kp' in them ===== Sample Usage ===== **HTTPS example - US and Canada** https://www.repeaterbook.com/api/export.php?country=United%20States&country=Canada ===== Limitations and Exclusions ===== * ATV repeaters are not included ===== Outside of North America ===== ===== Available Data ===== * State ID (FIPS) * Repeater ID * Frequency * Input Frequency * PL/CTCSS Uplink * PL/CTCSS TSQ Downlink * Location/Nearest City * Landmark * Region (if available) * Country * Callsign * Use/Membership * Operational Status * Operating Mode * AllStar Node * EchoLink Node * IRLP Node * WIRES Node * DMR Capable * DMR ID * DMR Color Code * D-Star Capable * NXDN Capable * P-25 Capable * P-25 NAC * M17 * M17 CAN * Tetra Capable * Tetra MCC * Tetra MNC * Yaesu System Fusion Capable * YSF Digital ID Uplink * YSF Digital ID Downlink * YSF DSC * Analog Capable * Notes * Last Update On Repeaterbook.com, repeaters are identified by a combination of the state ID and the repeater ID. ===== api/export.php ===== * callsign - Repeater callsign * city - Repeater city * landmark * country - Repeater country * region- Repeater region (if available) * frequency - Repeater frequency * mode - Repeater operating mode (analog, DMR, NXDN, P25, tetra) ===== Wildcards ===== * % - will allow wild card searching examples * callsign=kd6% - All callsigns beginning with 'kd6' * callsign=%kpc - All callsigns ending with 'kpc' * callsign=kd%kpc - All callsigns beginning with 'kd' and ending with 'kpc' * callsign=%kp% - All callsigns with 'kp' in them ===== Sample usages ===== **HTTPS example - Switzerland** https://www.repeaterbook.com/api/exportROW.php?country=Switzerland ===== Limitations and Exclusions ===== * ATV repeaters are not included ===== Rate Limiting ===== Various actions of the API can be rate limited. The actual limits are not published. However, if a human user using a browser is querying the API, there should not be any throttling issues. If you receive a rate-limiting message, wait at least 10 seconds and up to 60 seconds to reset the limiter. The API is not intended for use by non-human-initiated (automated) transactions. If you have a business requirement that requires exceptions to the rate limits, please get in touch with the RepeaterBook administrator for pricing options. ===== Requested Improvements ===== * Add an array of linked repeaters