API and integrations
Plug Semhack into the tools you already use.
Semhack-Signature: t=1767225600,v1=5257a8…
{
"id": "evt_3f9c…",
"type": "monitoring.alert",
"created_at": "2026-11-06T08:12:40.000Z",
"data": {
"alerts": [{
"type": "noindex",
"severity": "critical",
"title": "/wholesale now has a noindex tag",
…
}]
}
}The payload is shortened here. The full shapes of every event are in the API docs.
REST API
12 endpoints, documented with examples.
JSON over HTTPS under /api/v1, with an OpenAPI description you can load into your own client. Audits started through the API count toward the same plan limits as audits started in the app.
| Endpoint | What it does | Key needs |
|---|---|---|
GET/me | The workspace and key you are calling with | Scope: read |
GET/audits | List audits | Scope: read |
POST/audits | Audit a page | Scope: write |
GET/audits/{id} | Get an audit with its checks | Scope: read |
GET/site-audits | List site audits | Scope: read |
POST/site-audits | Start a site audit | Scope: write |
GET/site-audits/{id} | Get a site audit with its issues | Scope: read |
GET/websites | List audited websites | Scope: read |
GET/clients | List clients | Scope: read |
GET/clients/{id}/performance | Search Console performance summary | Scope: read |
GET/findings | This week's actions | Scope: read |
PATCH/findings/{id} | Change a finding's status | Scope: write |
Keys
Keys you control.
Read or write
Each key is either read-only or read and write. Owners and admins create them in Settings → API; a workspace can have up to 25 active keys.
Shown once
Keys start with smh_live_ and are shown in full only when you create them. Semhack keeps a hash, not the key, and shows when each one was last used.
Revoke any time
Revoking a key stops it straight away. Each key can make 120 requests a minute, and responses say how many are left.
Webhooks
Events pushed to your server, signed.
- Up to 10 endpoints per workspace, each subscribed to the events it needs
- Every delivery carries a Semhack-Signature header: an HMAC-SHA256 of the timestamp and body, so you can check it came from Semhack and isn’t a replay
- Failed deliveries are retried up to 6 times over about ten hours; an endpoint that keeps failing (20 deliveries in a row) is paused
- A delivery log, a “Send test event” button and resending from the log
Webhook events
7 eventsaudit.completedA page audit finishedaudit.failedA page audit couldn’t finishsite_audit.completedA site audit finishedsite_audit.failedA site audit couldn’t finishfinding.createdA new action was foundfinding.status_changedAn action changed statusmonitoring.alertMonitoring raised an alert
Slack
Alerts where the team already talks.
Paste a Slack webhook URL
Add a Slack incoming webhook as an endpoint and the same events arrive as readable messages in the channel you picked, with a link back to the app.
Pick what’s worth a message
Choose the events per endpoint: just monitoring alerts for an #alerts channel, for example, and finished audits somewhere quieter.
Honest limits
What it doesn’t do
- The API covers audits, site audits, websites, clients and their Search Console performance, and findings. Settings, team, branding, briefs and billing are only in the app.
- There’s no ready-made Zapier, Make or Looker Studio app. Any tool that can call a REST API or receive a webhook works.
- Mentions and overdue reminders are personal, so they’re never sent to webhooks or Slack.
- See security for how keys and webhook secrets are stored.
The rest of Semhack
- Site audit40 checks on any page, a crawl of the whole site, and Core Web Vitals from PageSpeed Insights.Learn more
- Search ConsoleA weekly list of what to fix, ranked by clicks at stake, and a check 28 days later of whether it worked.Learn more
- Explorer and keywordsEvery page and query of a client’s Search Console data, and the keywords you choose to follow week by week.Learn more
- Competitor comparisonYour page next to up to three competitor pages: scores, checks where you’re behind and words they use that you don’t.Learn more
- Monitoring and alertsUptime every few minutes, SSL expiry, scheduled re-audits and alerts when something important breaks.Learn more
- Client reportsWeekly briefs and audit report links in your own branding, scheduled client emails, CSV exports and printable reports.Learn more
- Team and collaborationInvite teammates with roles, then comment, @mention, set due dates and work the board together.Learn more
Create a key and make your first call.
Start free, open Settings → API and follow the curl examples in the docs.