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 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:
- Key: REPLIERS-API-KEY
- 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:
- DNS Lookup — Time to resolve the domain
- TCP Handshake — Time to establish connection
- SSL Handshake — Time for TLS negotiation
- Waiting (TTFB) — Time until first byte received (API processing time)
- 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):
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
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.
Updated on: 04/12/2025
Thank you!
