Docs / Quick start
From an address
to the night report.
Start with a website address. Get your first report, verify your site, and schedule nightly checks.
!Sign-up is closed for now. You can still get your first report from the homepage.Check your site →
Quick start
Four steps. Then it runs every night.
Get your first report
Paste your address on the homepage. Your report is emailed to you. When sign-up opens, its link is your way in.
Read the results
Watch live frames, then see each check by device. Failures include a screenshot and a one-line reason.
Verify your site
Choose a verification file, a meta tag, or a DNS record. Verify once; the domain covers its subdomains.
Pick the hour
Set the nightly hour in UTC, with your local time shown alongside. Add email or a Slack webhook. Notifications arrive when something changes.
iYour first report needs no ownership verification. Nightly checks do.
Checks
Visitor checks are on from the start.
qa.pro reads your site and selects the relevant pack: shop, blog, or another type of site. 19 shop checks, and a dozen every site owes its visitors.
Write a custom check in one line, then complete the suggested outline.
Devices
Each selected check runs once per device you enable.
Desktop
- Desktop
- Laptop
- Large desktop
Tablet
- iPad upright
- iPad lying down
Phone
- iPhone 15
- iPhone Pro Max
- Galaxy A
- Galaxy Z Fold closed
- Galaxy Z Fold open
Tablets and phones use touch, their own pixel density and user agent.
iFree: Desktop. Paid plans: a desktop, a tablet and a phone. Device availability depends on your plan.
API + CI Team plan and up
Create an API key in Settings. Check a preview deployment once.
POST /api/v1/runs
Authorization: Bearer <key>
Content-Type: application/json
{
"urls": ["https://preview.your-site.example"]
}| Verified domain | Preview hosts under your verified domain run immediately. |
|---|---|
| Other domains | URLs go into a second run, listed in also_queued, and wait for verification. |
API reference
Endpoints
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/sites | List sites |
| GET | /api/v1/checks | List checks |
| POST | /api/v1/runs | Start a run |
| GET | /api/v1/runs?limit=&before= | List runs |
| GET | /api/v1/runs/{id} | Read a run |
| POST | /api/v1/runs/{id}/cancel | Cancel a run |
Start a run with urls, site_ids, or checks. Every call carries Authorization: Bearer <key>.
Run states
queuedrunningdonefailedcancelled
Errors
| HTTP code | Description |
|---|---|
| 400 | a bad body, URL, site or check id: the answer says which |
| 401 | API key required: Authorization: Bearer <key> or unknown API key |
| 403 | the API needs the Team plan or higher |
| 404 | no such run |
| 409 | run is already done or run is already cancelled |
| 429 | 50 runs are already waiting; let them run or cancel some first |
Errors are returned in error.
Check results
| Passed | pass |
|---|---|
| Failed | fail |
| Sites with a failure | failing_sites |
| Needs a look | look |
| Not run | not_checked |
| Not on this site | absent |
Needs a look means the check stopped before it could tell. It is not a failure and does not change the exit code. The run's summary counts each result.
A few practical details
- Test accountSet email and password on the site's page. Used only by checks that sign in or write.
- Where it runsEverything runs on qa.pro. Nothing to install. Private or VPN-only addresses cannot be checked.
- Your dataTeam admins can export sites, checks and verdicts in Settings. Screenshots stay on report pages. A data processing agreement is available on request.