Overview
GTmetrix is a platform designed for analyzing and monitoring the performance of websites. Established in 2010, the service provides detailed insights into how quickly web pages load and identifies specific factors that may be contributing to slow performance. It caters to developers, technical marketers, and website owners who require data to optimize their sites for speed and user experience.
The core functionality of GTmetrix involves simulating a user's visit to a web page from various global locations and browser configurations. After a test, it generates a comprehensive report that includes key performance metrics such as First Contentful Paint (FCP), Largest Contentful Paint (LCP), and Total Blocking Time (TBT). These metrics are aligned with Google's Core Web Vitals, providing a standardized assessment of page experience. The reports also detail waterfall charts, showing the loading sequence of individual resources, and provide actionable recommendations for improvement, often categorized by impact and effort.
GTmetrix is utilized for several primary use cases, including conducting initial website performance audits to establish a baseline, identifying specific bottlenecks in resource loading or script execution, and continuously monitoring website performance over time. The monitoring feature allows users to track performance trends, detect regressions after deployments, and receive alerts when performance thresholds are breached. Furthermore, it facilitates comparing page load times against competitors or industry benchmarks, offering an external perspective on site speed. The platform offers a basic plan that allows single tests without requiring a login, while paid plans, such as the Solo Plan, offer features like regular monitoring slots, API access, and more test locations.
Owned by StackPath, GTmetrix integrates performance testing with hosting and CDN infrastructure insights, providing a holistic view of web asset delivery. Its API enables developers to automate performance testing, making it suitable for integration into CI/CD pipelines to ensure performance standards are maintained throughout the development lifecycle.
Key features
- Performance Reports: Provides detailed reports with scores for various performance metrics, including Google's Core Web Vitals (LCP, FID/INP, CLS) and proprietary GTmetrix grades.
- Waterfall Chart: Visualizes the loading sequence of all resources on a page, identifying render-blocking resources and long-loading assets.
- Performance Monitoring: Enables scheduled testing and tracking of website performance over time from selected global locations, offering historical data and trend analysis.
- Alerts: Configurable email alerts for when performance scores or metrics drop below predefined thresholds.
- Global Test Locations: Offers a selection of servers worldwide to simulate user experiences from different geographic regions.
- Browser and Device Simulation: Tests pages across various browser types (e.g., Chrome, Firefox) and device types to assess responsiveness and performance.
- Video Capture: Records a video of the page loading process, allowing visual identification of rendering issues and perceived loading speed.
- API Access: The GTmetrix API allows for programmatic interaction, enabling automation of tests and integration into custom workflows or development pipelines.
- Developer Tools: Provides insights into network requests, JavaScript execution, and other backend processes that affect page load.
Pricing
GTmetrix offers a range of plans, including a free Basic Plan and several paid tiers. As of May 2026, the Solo Plan is the entry-level paid option.
| Plan Name | Price (Monthly) | Daily API Credits | Monitored Slots | Test Locations |
|---|---|---|---|---|
| Solo Plan | $10 | 150 | 5 | All Standard |
| Starter Plan | $20 | 300 | 15 | All Standard |
| Growth Plan | $40 | 750 | 30 | All Standard |
| Champion Plan | $80 | 1500 | 50 | All Standard |
For detailed and up-to-date pricing information, refer to the official GTmetrix pricing page.
Common integrations
- CI/CD Pipelines: Developers can integrate the GTmetrix API into continuous integration/continuous deployment workflows to automate performance testing with each code commit or deployment.
- Monitoring Dashboards: Performance data from GTmetrix can be exported or pulled via API into custom dashboards using tools like Grafana or custom reporting systems.
- CMS Platforms: While not a direct integration, insights from GTmetrix are used to inform optimization efforts on platforms such as WordPress, Shopify, and other content management systems.
- Alerting Systems: GTmetrix can send notifications to common communication channels or issue tracking systems when performance thresholds are crossed.
Alternatives
- Google PageSpeed Insights: A free tool by Google that analyzes web page content and suggests improvements, focusing on Core Web Vitals and user experience.
- Pingdom: Offers website performance monitoring, uptime monitoring, and real user monitoring (RUM) services.
- WebPageTest: An open-source tool for testing website speed from multiple locations using real browsers, providing detailed waterfall charts and optimization advice.
- Semrush Site Audit: Includes site performance checks as part of its broader SEO audit suite, identifying technical issues affecting speed.
- Ahrefs Site Audit: Similar to Semrush, Ahrefs provides performance reports within its comprehensive site audit tool, focusing on SEO and technical aspects.
Getting started
To perform a basic, single-page test on GTmetrix without an account, you can use their homepage. For more advanced features, including monitoring and API access, an account is required. The following Python example demonstrates how to use the GTmetrix API to initiate a test and retrieve its results, assuming you have an API key.
import requests
import time
API_KEY = "YOUR_GTMetrix_API_KEY"
TEST_URL = "https://www.example.com"
headers = {
"X-API-KEY": API_KEY
}
# 1. Start a test
start_test_url = "https://gtmetrix.com/api/2.0/tests"
start_payload = {"data": {"type": "test", "attributes": {"url": TEST_URL}}}
print(f"Starting test for {TEST_URL}...")
response = requests.post(start_test_url, headers=headers, json=start_payload)
response.raise_for_status()
test_id = response.json()["data"]["id"]
print(f"Test started with ID: {test_id}")
# 2. Poll for test status until complete
status_url = f"https://gtmetrix.com/api/2.0/tests/{test_id}/status"
while True:
status_response = requests.get(status_url, headers=headers)
status_response.raise_for_status()
status = status_response.json()["data"]["attributes"]["state"]
print(f"Test status: {status}")
if status == "completed":
break
time.sleep(10) # Wait 10 seconds before polling again
# 3. Get test results
results_url = f"https://gtmetrix.com/api/2.0/tests/{test_id}"
results_response = requests.get(results_url, headers=headers)
results_response.raise_for_status()
results = results_response.json()["data"]["attributes"]
print("\n--- Test Results ---")
print(f"GTmetrix Grade: {results.get('gtmetrix_grade')}")
print(f"Performance Score: {results.get('performance_score')}")
print(f"Structure Score: {results.get('structure_score')}")
print(f"Largest Contentful Paint (LCP): {results.get('lcp_score')}")
print(f"Total Blocking Time (TBT): {results.get('tbt_score')}")
print(f"Cumulative Layout Shift (CLS): {results.get('cls_score')}")
# You can access more detailed results via 'resources' or 'report_url'
print(f"Report URL: {results.get('report_url')}")
This script first initiates a test for a specified URL using the GTmetrix API. It then polls the API at intervals to check the status of the test. Once the test is complete, it retrieves and prints key performance metrics, including the GTmetrix grade and Core Web Vitals scores. Replace "YOUR_GTMetrix_API_KEY" and "https://www.example.com" with your actual API key and the URL you wish to test. For further details on API endpoints and parameters, consult the GTmetrix API Reference.