Quickstart¶
1. Get an API key¶
Try it now with a public demo key (6 rpm by default, no AI endpoints):
X-API-Key: demo_ttp_free_2604
For anything past that first call, get your own key from the
free sign-up — the free tier is
self-service and the key is issued immediately, no card. The demo key is shared
and public: the rate-limit bucket is keyed on the API key, not on your IP,
so those 6 rpm are pooled across everyone using it. Fine for one curl,
not for your prototype.
From here on the examples read the key from the environment, so it does not end up committed by accident:
export TTP_API_KEY="your_key_here"
2. First call¶
curl -X POST https://api.telecomtowerpower.com.br/analyze_link \
-H "X-API-Key: ${TTP_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"receiver": {"lat": -15.78, "lon": -47.93, "height": 10},
"frequency_mhz": 1800
}'
import os
import requests
resp = requests.post(
"https://api.telecomtowerpower.com.br/analyze_link",
headers={"X-API-Key": os.environ["TTP_API_KEY"]},
json={
"receiver": {"lat": -15.78, "lon": -47.93, "height": 10},
"frequency_mhz": 1800,
},
timeout=30,
)
resp.raise_for_status()
print(resp.json()["link_margin_db"])
const resp = await fetch(
"https://api.telecomtowerpower.com.br/analyze_link",
{
method: "POST",
headers: {
"X-API-Key": process.env.TTP_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
receiver: { lat: -15.78, lon: -47.93, height: 10 },
frequency_mhz: 1800,
}),
},
);
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
const data = await resp.json();
console.log(data.link_margin_db);
A 429 means you hit the rate limit — most likely still on the shared demo
key. See rate limits.
3. Read the result¶
The API returns the best candidate tower with link_margin_db. Values above 10 dB usually mean the link is viable in clear sky; above 20 dB tolerates heavy rain in the 700 / 1800 / 2100 MHz bands.
4. Next¶
- Browse the API reference for every available endpoint.
- Set up authentication for production.
- Read about rate limits before going to production.