API

Sub-Account Management

You are reading the Project API docs

Base URL: api4.seranking.com

Project API uses subscription limits. Fro more information visit API credit system.

Data API and Project API keys are not interchangeable — use the correct one to avoid authentication errors.

Data apikey example:
80cfee7d-xxxx-xxxx-xxxx-fc8500816bb3
(UUID format)
Project apikey example:
253a73adxxxxxxxxxxxxxx340aa0a939
(40-char hex)

API keys are available in your account. For any questions or 401 errors, email [email protected] for support.

Sub-Account Management API provides endpoints to manage user sub-accounts, including creation, modification, deletion, access configuration, limits management, and project sharing.


List sub-accounts

GET https://api4.seranking.com/users

Returns a list of all sub-accounts associated with the authenticated user.

Request parameters

ParameterTypeRequiredDescription
limitIntegerNoNumber of records per page. Defaults to 100.
offsetIntegerNoNumber of records to skip for pagination.

Request example

Copy
GET https://api4.seranking.com/users?limit=100&offset=0

Response parameters

If successful, the server returns the 200 HTTP status code and a list of sub-accounts.

ParameterTypeDescription
listArrayArray of sub-account objects.
all_countStringTotal number of sub-accounts.

Each object in the list array has the following structure:

ParameterTypeDescription
account_idIntegerUnique sub-account ID.
account_emailStringSub-account email.
account_first_nameStringSub-account first name.
account_last_nameStringSub-account last name.
account_typeStringAccount type: user or client.
account_langStringAccount language (ISO 639-1 alpha-2).
account_sites_countIntegerNumber of websites available to the sub-account.
is_blocked_by_limitsBooleanIndicates whether limits are exceeded.

Response example

Copy
{
"list": [ 
   {
      "account_id": 36865, 
      "account_email": "[email protected]",     
    "account_first_name": "John",     
    "account_last_name": "Doe",     
    "account_type": "user",       
  "account_lang": "ru",    
      "account_sites_count": 2,   
      "is_blocked_by_limits": false   
  },    
{     
    "account_id": 36828,    
      "account_email": "[email protected]",      
   "account_first_name": "Jane",    
     "account_last_name": "Doe",      
   "account_type": "client",    
     "account_lang": "ru",     
    "account_sites_count": 1,     
    "is_blocked_by_limits": false   
  }
],
"all_count": "2"
}

Get sub-account details

GET https://api4.seranking.com/users/{id}

Returns extended information about the specified sub-account, including settings, access permissions, and limits.

Request parameters

ParameterTypeRequiredDescription
idIntegerYesUnique sub-account ID (path parameter).

Request example

Copy
GET https://api4.seranking.com/users/36828

Response parameters

If successful, the server returns the 200 HTTP status code and sub-account details. Returns HTTP 404 if the sub-account is not found (for more information, see Error handling).

ParameterTypeDescription
settingsObjectSub-account profile information.
accessArrayList of enabled permissions.
limitObjectSub-account limits configuration.

The settings object has the following structure:

ParameterTypeDescription
account_idIntegerUnique sub-account ID.
account_emailStringSub-account email.
account_first_nameStringSub-account first name.
account_last_nameStringSub-account last name.
account_typeStringAccount type: user or client.
account_langStringAccount language (ISO 639-1 alpha-2).

The access array can list the following permissions:

PermissionDescription
add_websiteAdd website
audit_websiteWebsite audit
competitors_visibility_rankingVisibility ranking
audit_settingsAudit settings
backlink_monitorBacklink monitor
analytics_conversionsAnalytics: conversions
analytics_google_search_consoleGoogle search console
competitors_addedMain competitors
analytics_overview Analytics: overview
analytics_pagesAnalytics: pages
marketing_planMarketing plan
seo_potentialSEO potential
analytics_snippetsAnalytics: snippet
social_mediaSocial media
tools_backlinks_checkerTools: backlinks checker
tools_index_status_checkerTools: index status checker
tools_parameter_checkerTools: parameter checker
tools_keyword_grouperTools: keyword grouper
tools_engine_autocompleteTools: engine autocomplete
tools_search_volume_checkerTools: search volume checker
tools_competitive_researchTools: competitive research
tools_keyword_researchTools: keyword research
tools_one_page_seo_checkerTools: one-page seo checker
competitors_serpCompetitors serp
analytics_traffic_sourcesAnalytics: traffic sources
analytics_audienceAnalytics: audience
audit_page_changes_monitorAudit: page changes monitor
hide_search_volumehide search volume for client account type
show_groupsShow groups
report_manualReport manual
report_scheduledReport scheduled
report_templateReport template

The limit object has the following structure:

ParameterTypeDescription
siteIntegerWebsite limit.
keywordIntegerKeyword limit.
backlinkIntegerBacklink check limit.
audit_accountIntegerWebsite verification limit per account.
audit_siteIntegerWebsite check limit per site per month.
balanceObjectPayment limit configuration.

The balance object has the following structure:

ParameterTypeDescription
amountIntegerMonetary limit value.
periodStringLimit period: day, week, or month.

Response example

Copy
{
"settings": {    
"account_id": 36828,  
   "account_email": "[email protected]",  
    "account_first_name": "Test",  
    "account_last_name": "Test",  
    "account_type": "user",   
  "account_lang": "ru"
},
"access": [      
  "add_website",    
    "audit_settings",    
    "report_manual",   
    "report_scheduled",    
    "report_template"
],
"limit": {   
  "site": 10,   
  "keyword": 5,   
  "backlink": 10,   
  "audit_account": 4,   
  "audit_site": 3,    
"balance": {      
   "amount": 5,      
   "period": "day"  
   }
}
}

Create sub-account

POST https://api4.seranking.com/users

Creates a new sub-account and sends a notification email to the specified sub-account address.

Request parameters

The request body must contain a data object with sub-account configuration.

ParameterTypeRequiredDescription
setting.account_emailStringYesSub-account email.
setting.account_first_nameStringYesSub-account first name.
setting.account_last_nameStringNoSub-account last name.
setting.account_passwordStringYesSub-account password.
setting.account_langStringNoSub-account language (ISO 639-1 alpha-2).
setting.account_typeStringNoAccount type: user or client.
limit.balance.periodStringNoLimit period: day, week, month.
limit.balance.amountIntegerNoMonetary limit value.
accessArrayNoList of permission codes.

Request example

Copy
POST https://api4.seranking.com/users
[
{
"key": "data",
"value": [
{"setting.account_email": "[email protected]"},
{"setting.account_first_name": "Test"},
{"setting.account_last_name": "Test"},
{"setting.account_password": "TestPassword"},
{"setting.account_type": "user"},
{"limit.balance.period": "day"},
{"limit.balance.amount": 10},
{"access": [
"add_website",
"audit_settings",
"report_manual",
"report_scheduled",
"report_template"
]}
]
}
]

Response parameters

If successful, the server returns the 201 HTTP status code and the created sub-account identifier.

ParameterTypeDescription
idIntegerUnique sub-account ID.

Response example

Copy
{ "id": 36872}

Delete sub-account

DELETE https://api4.seranking.com/users/{id}

Deletes a sub-account.

Request parameters

ParameterTypeRequiredDescription
idIntegerYesUnique sub-account ID (path parameter).

Request example

Copy
DELETE https://api4.seranking.com/users/123

Response parameters

If successful, the server returns an empty array. Returns HTTP 404 if the sub-account is not found (for more information, see Error handling).

Response example

Copy
[]

Update sub-account

PATCH https://api4.seranking.com/users/{id}

Updates an existing sub-account.

Request parameters

The request body must contain a data object with sub-account configuration.

ParameterTypeRequiredDescription
idIntegerYesUnique sub-account ID (path parameter).
setting.account_emailStringNoSub-account email.
setting.account_first_nameStringNoSub-account first name.
setting.account_last_nameStringNoSub-account last name.
setting.account_passwordStringNoSub-account password.
setting.account_langStringNoSub-account language (ISO 639-1 alpha-2).
setting.account_typeStringNoAccount type: user or client.
limit.balance.periodStringNoLimit period: day, week, month.
limit.balance.amountIntegerNoMonetary limit value.
accessArrayNoList of permission codes.

Request example

Copy
PATCH https://api4.seranking.com/users/36828
[
{
"key":"data",
"value": [
{"setting.account_email":"[email protected]"},
{"setting.account_first_name":"Test"},
{"setting.account_last_name":"Test"},
{"setting.account_password":"TestPassword"},
{"setting.account_type":"user"},
{"limit.balance.period":"day"},
{"limit.balance.amount":10},
{"access":["add_website"]}
]
}
]

Response parameters

If successful, the server returns an empty array. Returns HTTP 404 if the sub-account is not found (for more information, see Error handling).

Response example

Copy
[]

List shared projects

GET https://api4.seranking.com/users/{id}/shared-sites

Returns website IDs shared with the sub-account.

Request parameters

ParameterTypeRequiredDescription
idIntegerYesUnique sub-account ID (path parameter).

Request example

Copy
GET https://api4.seranking.com/users/123/shared-sites

Response parameters

If successful, the server returns the 200 HTTP status code and an array of website IDs.

Response example

Copy
[ 39, 44]

List owned projects

GET https://api4.seranking.com/users/{id}/own-sites

Returns a list of website IDs owned by the specified sub-account.

Request parameters

ParameterTypeRequiredDescription
idIntegerYesUnique sub-account ID (path parameter).

Request example

Copy
GET https://api4.seranking.com/users/123/own-sites

Response parameters

If successful, the server returns an array of unique website IDs.

Response example

Copy
[ 39, 40]

Share project with sub-account

POST https://api4.seranking.com/users/{id}/shared-sites

Shares websites with a sub-account.

Request parameters

ParameterTypeRequiredDescription
idIntegerYesUnique sub-account ID (path parameter).
site_idsArrayYesArray of website IDs to share.

Request example

Copy
POST https://api4.seranking.com/users/36828/shared-sites

[39, 42]

Response parameters

If successful, the server returns an empty array.

Response example

Copy
[]

Learn how SE Ranking’s API can boost your SEO!

Hi! Meet our product expert, Alex.

He’ll walk you through the API and show you how to get the most out of it.

  • Enjoy a tailored demo on integrating rich, structured SEO data into your stack.
  • Pin down every tech detail live—auth, endpoints, rate limits, data formats.
  • Compare usage tiers and pricing so you can unlock maximum data value.

Request a free demo to see our tools and integrations in action

By clicking this button, you agree to SE Ranking’s Terms of Services and Privacy Policy.