API Reference

Build With the SeoSync API

Programmatically manage projects, run audits, track keywords, and export data. Available on the Enterprise plan.

RESTful, JSON-based, Simple

The SeoSync API follows REST conventions with JSON request and response bodies. All authenticated endpoints use session-based auth via NextAuth. Free tool endpoints require no authentication — perfect for quick integrations.

18
Endpoints
JWT
Auth
REST
Protocol

Authentication

All authenticated endpoints require a valid session cookie (set via NextAuth). API requests must be made from an authenticated browser session or using the session token.

Example Request
GET /api/projects
Cookie: next-auth.session-token=<your-session-token>
Content-Type: application/json

Endpoints

Click any category to view its endpoints.

GET/api/projects

List all projects in your organization

POST/api/projects

Create a new project with a website URL

GET/api/projects/:id

Get project details including latest audit data

DELETE/api/projects/:id

Delete a project and all associated data

POST/api/projects/:id/audit

Start a new SEO audit for a project

GET/api/projects/:id/audit

Get the latest audit results with all issues

POST/api/projects/:id/audit/fix

Generate AI-powered fix suggestions for an issue

GET/api/projects/:id/keywords

List all tracked keywords with latest rankings

POST/api/projects/:id/keywords

Add keywords to track for a project

GET/api/projects/:id/keywords/rankings

Get historical ranking data for all keywords

GET/api/projects/:id/competitors

List competitor profiles for a project

POST/api/projects/:id/competitors

Add a competitor domain to track

GET/api/projects/:id/reports

Get audit reports with export options (JSON/CSV)

GET/api/projects/:id/technical

Get technical SEO data including Core Web Vitals history

POST/api/tools/meta-tags

Analyze meta tags for any URL

POST/api/tools/robots

Validate a robots.txt file

POST/api/tools/headers

Check HTTP headers for any URL

POST/api/tools/sitemap

Validate an XML sitemap

Response Format

All responses are JSON. Successful requests return a 200 status code with the data. Error responses include an error field with a human-readable message.

Success (200)
{
  "projects": [
    {
      "id": "proj_abc123",
      "name": "My Website",
      "url": "https://example.ca",
      "lastAuditScore": 85
    }
  ]
}
Error (401)
{
  "error": "Unauthorized. Please sign in."
}

Rate Limits & Plans

PlanAPI AccessRate Limit
FreeFree tools only10 req/min
Pro ($49 CAD/mo)Read-only access60 req/min
Enterprise ($199 CAD/mo)Full API access300 req/min

Ready to Integrate?

Full API access is available on the Enterprise plan. Start with a free account and upgrade when you need programmatic access.