Build on Your Searvia Data
Read rankings, AI visibility, site health, reviews, store listings and market estimates from your own scripts, dashboards and apps. The API runs the same tools as the Searvia MCP server, so plan limits, credits and account scope are identical.
curl https://searvia.com/api/v1/projects \
-H "Authorization: Bearer $SEARVIA_API_KEY"Authentication
Create a key in Settings › API & MCP and send it as a Bearer token. A key belongs to one account and sees only that account's data. The same key works for the MCP server; apps connected with OAuth can use the API too, and read-only connections cannot change anything.
Limits and Credits
Per key, per minute
60 reads, 30 changes and 10 calls that use credits or delete.
Per Month
API and MCP calls share one monthly limit: 100 on Free, 1,000 on Indie, unlimited from Starter.
Credits
Calls marked "Uses credits" take them from the account balance right away, without a preview. Without enough credits the call returns 402 and nothing runs.
Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. When you hit a limit you get 429 with Retry-After.
Responses, errors and pages
{
"data": [ ... ],
"meta": { "page": 1, "per_page": 50, "total": 120, "last_page": 3 }
}{
"error": {
"status": 422,
"code": "validation_failed",
"message": "Missing required field: keywords.",
"errors": { "keywords": ["The keywords field is required."] }
}
}Lists take page and per_page (up to 200) and send a Link header with the next and previous pages. Error codes: unauthenticated, payment_required, forbidden, not_found, validation_failed, rate_limited, unavailable and server_error.
Endpoints
Account
| GET | /account/usage | Plan, credits, quotas and this month's API and MCP calls. | Read |
| GET | /audit-logs | Audit log of the account (owners and admins). | Read |
Projects
| GET | /projects | Projects (websites and apps) of the account. | Read |
| GET | /projects/{project_id} | Overview of one project: rankings, visibility, reviews and open growth actions. | Read |
| GET | /projects/{project_id}/competitors | Tracked competitors of a project. | Read |
Rankings
| GET | /projects/{project_id}/keywords | Tracked keywords with current rank, 1 and 7 day change, popularity, difficulty and daily history. | Read |
| POST | /projects/{project_id}/keywords | Track keywords (within the plan quota; the first check runs right away). | Change |
| DELETE | /projects/{project_id}/keywords | Stop tracking keywords (by text or id). | Deletes |
| POST | /projects/{project_id}/rankings/refresh | Check rankings now. | Change |
| GET | /keywords/{keyword_id}/history | Daily rank history of one keyword with competitor ranks. | Read |
Domains
| GET | /domain-analyses | Domain analyses of the account. | Read |
| POST | /domain-analyses | Analyze a domain (uses credits): traffic, keywords, top pages, page types, competitors and backlinks. | Uses credits |
| GET | /domain-analyses/{analysis_id} | One domain analysis. | Read |
Site health
| GET | /projects/{project_id}/site-health | Latest site audit, AI discoverability, security scan and page speed of a website project. | Read |
| POST | /projects/{project_id}/site-audits | Start a site audit (at most once an hour). | Change |
| GET | /site-audits/{audit_id} | Issues and pages of one site audit. | Read |
| GET | /projects/{project_id}/backlinks | Backlink summary with new and lost links. | Read |
AI visibility
| GET | /projects/{project_id}/ai-visibility | AI visibility summary, questions and latest answers of a project. | Read |
| POST | /projects/{project_id}/ai-visibility/questions | Track AI questions (one per line in `prompts`). | Change |
| GET | /ai-visibility/questions/{prompt_id} | Timeline and answers of one AI question. | Read |
Apps
| GET | /projects/{project_id}/reviews | Store reviews of an app project. | Read |
| GET | /projects/{project_id}/metadata | Store listing of an app project per language (including the App Store keyword field when connected). | Read |
Market
| GET | /market/apps/{app_id} | Estimated revenue, downloads and chart history of any App Store app. | Read |
| GET | /market/top-earning | Top earning or fastest growing apps by country and category. | Read |
| GET | /market/new-winners | Recently released apps that already earn. | Read |
Reports
| GET | /projects/{project_id}/reports/rankings | One row per keyword and day: rank, checked depth and competitor ranks. | Read |
| GET | /projects/{project_id}/reports/ai-visibility | One row per AI answer: question, platform, mentioned, cited, source position and sentiment. | Read |
| GET | /projects/{project_id}/reports/site-health | One row per site audit: health score, AI discoverability score, errors, warnings and pages. | Read |
Path, query and body fields of every endpoint are in the OpenAPI file; import it into Postman, Insomnia or a code generator.
Dashboards and Records
Looker Studio Connector
Daily rankings, AI visibility answers and site health scores as Looker Studio data sources, built on the report endpoints. Each row is one keyword and day, one AI answer or one audit.
Set up the ConnectorAudit Log
Every change and credit spend made with a key is recorded with the key name, target, IP and result, next to changes from the panel and MCP. Owners and admins read it in Settings › Security or at /audit-logs.
About the Audit Log