> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.repliers.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# How to measure API response times

# **Before You Start**
If you're experiencing slow performance, it's important to verify where the bottleneck actually is. 
While API response time can be a factor, slowness often stems from other sources: inefficient front-end rendering, unnecessary re-renders in your application, network issues on your end, or how you're processing the API response. This guide helps you isolate API performance specifically, so you can determine whether the issue is with the Repliers API itself or elsewhere in your implementation. 

You can also check our [__System Performance Page__](https://telemetry.betterstack.com/dashboards/aElrRs?rf=now-3h&rt=now) to see current performance metrics and any known issues.

# How to capture API response times
## Option 1: Testing with Postman
Postman provides built-in timing metrics that make it easy to diagnose API performance issues.

### **Steps**

* Open Postman and create a new request</li>
* Set the request method to the verb required GET/POST 
* Enter the API endpoint, example: https://api.repliers.io/listings?city=Toronto&limit=10
* Add the authentication header:
1. Key: REPLIERS-API-KEY
2. Value: YOUR_API_KEY_HERE
* Click Send
* View the timing breakdown at the top of the response panel

### **Reading Postman Timings**
After sending the request, look at the top-right corner of the response panel. Timing metrics will be available there:

* Time: Total request time (e.g., 1.2s)
* Click on the time to see a detailed breakdown:

1. **DNS Lookup** — Time to resolve the domain
2. **TCP Handshake** — Time to establish connection
3. **SSL Handshake** — Time for TLS negotiation
4. **Waiting (TTFB)** — Time until first byte received (API processing time)
5. **Download** — Time to receive the full response

Postman also shows the response size, which helps identify if large payloads are causing slow downloads.

## **Option 2: Testing with curl (Server Environments)**
For automated testing or when working directly on a server, use this curl command to measure the timing breakdown (replace your API url, query and verb with the appropriate ones):
```console
curl -s -o /dev/null \
  -H 'REPLIERS-API-KEY: YOUR_API_KEY_HERE' \
  -w '%{time_namelookup} %{time_connect} %{time_appconnect} %{time_starttransfer} %{time_total}\n' \
  'https://api.repliers.io/listings?city=Toronto&limit=10' | \
awk '{
  dns   = $1;
  tcp   = $2 - $1;
  ssl   = $3 - $2;
  ttfb  = $4 - $3;
  trans = $5 - $4;
  total = $5;
  printf "DNS Lookup:      %.3f s\n", dns;
  printf "TCP Handshake:   %.3f s\n", tcp;
  printf "SSL Handshake:   %.3f s\n", ssl;
  printf "Waiting (TTFB):  %.3f s\n", ttfb;
  printf "Download:        %.3f s\n", trans;
  printf "Total:           %.3f s\n", total;
}'
```
Replace YOUR_API_KEY_HERE with the actual API key and adjust the query parameters as needed.

# **Understanding the Metrics**
DNS Lookup — Time to resolve api.repliers.io to an IP address. High values indicate DNS issues.
TCP Handshake — Time to establish a TCP connection. High values suggest network latency or routing issues.
SSL Handshake — Time to complete the TLS negotiation. High values may indicate SSL/TLS configuration issues.
Waiting (TTFB) — Time to first byte after the request is sent. This measures how long the Repliers API takes to process your request and start responding. This is the primary indicator of API performance.
Download — Time to transfer the response body. Large responses naturally take longer.
Total — End-to-end request time.

## **Example Output**
```console
DNS Lookup:      0.012 s
TCP Handshake:   0.045 s
SSL Handshake:   0.089 s
Waiting (TTFB):  0.234 s
Download:        0.018 s
Total:           0.398 s
```

# **Interpreting Results**
If TTFB is high (>1s): The API is taking time to process the request. Check if the call is requesting large datasets or complex queries. Consider adding filters or pagination.
If DNS/TCP/SSL times are high: Network issues between your server and the API. Check your network configuration or try from a different location.
If Download time is high: You're receiving a large response. Use limit parameters or pagination to reduce response size.

# **Testing Different Endpoints**
Test specific endpoints you're experiencing issues with:

**Property details endpoint**
```
https://api.repliers.io/listings/ML123456
```

**Search with filters**
```
https://api.repliers.io/listings?city=Vancouver&propertyType=Residential&limit=50
```

**Agent endpoint**
```
https://api.repliers.io/agents/AG123456
```

Run the test multiple times to account for network variability and identify consistent patterns.
