Retrieve all sites connected to your PowerSEC account via the CLI or API.
Using the CLI
# Install once
npm install -g @powersec/cli
psec login --api-key psec_live_xxx
# List all sites
psec sites list
# Detailed status for one site
psec sites status jorjinvest.com
Via the API
GET /api/sites
Authorization: Bearer <your-api-key>
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| status | string | all | Filter by status: online, offline, at_risk |
| packageCode | string | — | Filter by plan: free, pro_protection, backup_only |
| limit | integer | 20 | Results per page |
| page | integer | 1 | Page number |
| search | string | — | Search by site name or URL |
Example response
{
"success": true,
"data": {
"sites": [
{
"id": "site_abc",
"name": "My Store",
"url": "https://mystore.com",
"status": "online",
"packageCode": "pro_protection",
"securityScore": 92,
"lastSync": "2026-05-01T12:00:00Z"
}
],
"pagination": { "total": 12, "page": 1, "pages": 1 }
}
}
Generate an API key
Dashboard → Settings → API Keys → Create new key
Keys start with psec_live_. Use them for both CLI and direct API calls.
Example: list all sites with score below 70
TOKEN="psec_live_xxx"
curl -s "https://powersec.io/api/sites?limit=100" \
-H "Authorization: Bearer $TOKEN" | \
jq ".data.sites[] | select(.securityScore < 70) | {name, url, securityScore}"