Web CEO Online API Reference

SEO API Reference
The Web CEO’s SEO API uses json requests:
{
"method": "method name",
"key": "your API key",
"id": request id (optional)
<…>
}
The "method" parameter is used to specify one of the supported commands listed down below.
The "key" parameter is an API key that is generated on the "API Access" page (My account > API).
The "id" parameter, which is optional, is used to bind the response to its request when the requests are
processed asynchronously.
Requests are sent via the HTTPS POST command to https://online.webceo.com/api/ - a json request should be
included in the json parameter.
*See examples in PHP, Python, Java.
Server response is an array of the following type:
[
{
"method": "method name",
"id": request id (if supplied),
"result": response code (can be omitted, if response is "0"), see the table below
"errormsg": "error message" (if error occurs),
"data": "the requested data"
}
]
Page 1 of 72
Web CEO – SEO API Reference
If necessary, queries can be grouped into one package:
[
{
"method": "method1",
...
},
{
"method": "method2",
...
}
]
Response Codes
0
Request successfully processed
1
Bad request
4
Not found
5
Bad arguments
6
Access denied
10
Unknown command (method)
11
Scanning
12
Not configured
100
Site not available
403
Forbidden
500
Server Error (contact support if you get this response code)
Page 2 of 72
Web CEO – SEO API Reference
Supported commands
Project management:
get_projects
Get the list of projects.
get_project
Get project’s details.
add_project
Add a new project.
set_project
Modify the parameters of an existing project.
del_project
Remove a project.
share_projects
Share projects to a user of the white label domain.
remove_share_projects
Remove projects from the user's project list.
rescan_project
Start scanning a project.
add_limit
Add a new project scan limit profile.
set_limit
Modify the parameters of an existing scan limit profile.
get_limit
Get the details of a scan limit profile.
get_limits
Get the list of scan limit profiles.
del_limit
Remove a scan limit profile.
get_billing_details
Get the billing details for the last 20 payments.
User management (applied only to the White Label Domain feature):
add_user
Add a new user to your white label domain.
set_user
Modify the parameters of an existing user.
del_user
Remove a user from your white label domain.
share_project_group
Grant a user access to a group of projects.
get_user_info
Get user’s details.
Sitemap Generator
submit_sitemap
Submit the sitemap to Google, Bing, and Yahoo.
Backlink Quality Check Tool:
get_competitor_metrics
Get the summarized backlink data for a site and its competitors.
get_linking_pages
Get the detailed data on external pages linking to your site.
get_competitor_backlinks
Get the list of pages linking to your competition and your site.
get_competitors
set_competitors
Get the list of competitors configured in the Backlink Quality Check or the Competitor
Backlink Spy tool.
Add, check or uncheck the competitors in the settings of the Backlink quality Check or
the Competitor Backlink Spy tool.
*See Appendix A for the status messages and texts of the SEO Analysis Tool.
Page 3 of 72
Web CEO – SEO API Reference
Rank Tracking Tool:
get_rankings
Get the ranking data for X last scans.
get_rankings_cached_results
Get the cached ranking results for a keyword.
get_rankings_keywords
Get the list of keywords configured to check the site rankings for.
add_rankings_keywords
Add keywords to the Rank Tracking settings of a project.
del_rankings_keywords
Remove keywords from the Rank Tracking settings of a project.
get_rankings_ses
Get the list of search engines configured in the Rank Tracking settings of a project.
add_rankings_ses
Add a search engine to the Rank Tracking settings of a project.
del_rankings_ses
Remove search engines from the Rank Tracking settings of a project.
get_rankings_competitors
Get the list of competitors configured in the Rank Tracking settings of a project.
add_rankings_competitors
Add a competitor to the Rank Tracking settings of a project.
del_rankings_competitors
Remove a competitor from the Rank Tracking settings of a project.
get_keywords_tags
Get the list of keywords with tags assigned to them in a project.
update_keywords_tags
Add, modify or delete specific tags of keywords in a project.
delete_keywords_all_tags
Remove all tags of all keywords in a project.
Technical Audit & SEO Analysis Tools:
get_site_audit_data
Get the scanning results for broken links & content optimization issues.
get_site_audit_keywords
Get the list of keywords configured for the Landing Page SEO analysis.
add_site_audit_keywords
Add keywords to the list configured for the Landing Page SEO analysis.
del_site_audit_keywords
Remove keywords from list configured for the Landing Page SEO analysis.
Page 4 of 72
Web CEO – SEO API Reference
Internal Links Optimization Tool:
get_interlinks_link_text
Get the list of link texts of your site’s internal links.
Web Buzz Tool:
get_buzz_counts
Get the number of posts found by the Web Buzz.
get_buzz_keywords
Get the list of keywords configured in the Web Buzz.
add_buzz_keywords
Add keywords to the list of keywords configured in the Web Buzz.
del_buzz_keywords
Remove keywords from the list of keywords configured in the Web Buzz.
SEO Checklist:
get_todo_stages
Get the details about completing the stages of the SEO Checklist.
Social Engagement
get_social_metrics
Page 5 of 72
Use this command to get social metrics found by the Social Engagement Tool.
Web CEO – SEO API Reference
Project management:
get_projects
Use this command to get the list of projects.
Request:
{
"method": "get_projects",
"key": "your API key",
"id": request id (optional)
}
Response:
{
"method": "get_projects",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": [
{
"project": "project id",
"domain": "project domain without http://",
"user": "user email" (only if you have White Label Domain configured)
},
]
…,
}
Page 6 of 72
Web CEO – SEO API Reference
get_project
Use this command to get the details of a project.
Note:
1. The "user" parameter can be set only by a white label domain owner.
2. You can specify either a "domain" or a "project" parameter. The "project" parameter is preferred.
Request:
{
"method": "get_project",
"key": "your API key",
"id": request id (optional),
"data": {
"user": "user email",
"domain": "project domain without http://",
"project": "project id"
}
}
Response:
{
"method": "get_project",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"last_scan_date": "YYYY-MM-DD",
"link": "URL of the Site Dashboard",
"groups": ["group_name1", …],
"notes": "project notes",
"limit": "project scan limit profile"
"marker": "unique identifier of a project"
}
}
Page 7 of 72
Web CEO – SEO API Reference
add_project
Use this command to add a new project.
Note:
1. The "user" parameter can be set only by a white label domain owner.
Request:
{
"method": "add_project",
"key": "your API key",
"id": request id, (optional)
"data": {
"user": "user email",
"domain": "project domain without http://",
"notes": "project notes", (optional)
"groups": ["group_name1", …], (optional)
"limit": "project scan limit profile", (optional)
"marker": "unique identifier of a project" (optional)
}
}
Response:
{
"method": "add_project",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Page 8 of 72
Web CEO – SEO API Reference
set_project
Use this command to modify the parameters of an existing project.
Note:
1. The "user" parameter can be set only by a white label domain owner.
2. You can specify either a "domain" or a "project" parameter. The "project" parameter is preferred.
Request:
{
"method": "set_project",
"key": "your API key",
"id": request id, (optional)
"data": {
"user": "user email",
"domain": "project domain without http://",
"project": "project id",
"notes": "project notes", (optional)
"groups": ["group_name1", …], (optional)
"limit": "project scan limit profile", (optional)
"marker": "unique identifier of a project" (optional)
}
}
Response:
{
"method": "set_project",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": project id
}
}
Page 9 of 72
Web CEO – SEO API Reference
del_project
Use this command to remove a project.
Note:
1. The “user” parameter can be set only by a white label domain owner.
2. You can specify either a "domain" or a "project" parameter. The "project" parameter is preferred.
Request:
{
"method": "del_project",
"key": "your API key",
"id": request id, (optional)
"data": {
"user": "user email",
"domain": "project domain without http://",
"project": "project id"
}
}
Response:
{
"method": "del_project",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Page 10 of 72
Web CEO – SEO API Reference
share_projects
Use this command to share the certain projects to a user of the White Label domain.
Request:
{
"method": "share_projects",
"key": "API key",
"data": {
"user": "user email",
"projects": ["project_hash1", "project_hash2" …] (use e4c8c83b for sharing demo project)
}
}
Response:
{
"method": "share_projects",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"data":{
"projects": ["project_hash1", "project_hash2", ...],
"user": "user_email"
}
}
Page 11 of 72
Web CEO – SEO API Reference
remove_shared_projects
Use this command to remove certain projects from the list of the projects available to the user of the White Label
domain.
Request:
{
"method": "remove_shared_projects",
"key": "API key",
"data": {
"user": "user email",
"projects": ["project_hash1", "project_hash2" …] (use e4c8c83b for removing demo project)
}
}
Response:
{
"method": "remove_shared_projects",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"data":{
"projects": ["project_hash1", "project_hash2", ...],
"user": "user_email"
}
}
Page 12 of 72
Web CEO – SEO API Reference
rescan_project
Use this command to start scanning of a project.
If you include the "tools" parameter, you will launch scanning in the tools specified in this parameter ("ranker" –
Rank Tracking, "auditor" – Technical Audit and SEO Analysis, "backlinks_count" – Competitor Link Profile report
of the Backlink Quality Check, "backlinks_pages" – Linking Pages report of the Backlink Quality Check,
"competitor_backlinks" – Competitor Backlink Spy, "interlinks" – Internal Links Optimization, "partners" – Backlink
Integrity Tracking, “sitemap” – Sitemap Generator, “social” - Social Engagement). If you don’t include the "tools"
parameter, scanning will be launched in the following tools: (i) Rank Tracking, (ii) Technical Audit, (iii) SEO
Analysis, (iv) Backlink Quality Check (Competitor Link Profile report) and (v) Backlink Integrity Tracking, given
that the profiles of the above tools are configured.
If you include the "update_settings" parameter, you will scan a sitemap, pull the first N pages from the sitemap
(to be specified in the parameter "page_count"), then pull the first N keywords from the META Keywords tag of
every pulled page (to be specified in the "keyword_count" parameter) and add the pulled pages and keywords to
the settings of Rank Tracking and SEO Analysis tools.
Request:
{
"method": "rescan_project",
"key": "your API key",
"id": request id (optional),
"data": {
"project": "project id",
"tools": ["ranker", "auditor", "backlinks_count", "backlinks_pages", " competitor_backlinks",
"interlinks", "partners", “sitemap”,”social”], (optional)
“callback_url”:”URL of the page requested after the scanning is finished” (optional),
"update_settings": {
"page_count": 20, (optional)
"keyword_count": 5
} (optional)
}
}
Response:
{
"method": "rescan_project",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Page 13 of 72
Web CEO – SEO API Reference
add_limit
Use this command to add a new scan limit profile.
Request:
{
"method": "add_limit",
"key": "your API key",
"id": request id, (optional)
"data": {
"name": "name of a scan limit profile", (required)
"ranker_max_kw": max number of keywords, (optional) (if not specified, default value is 5)
"ranker_max_se": max number of search engines, (optional) (value should be from 1 to 5; if not
specified, default value is 3)
"ranker_max_pages": max number of SERPs to check rankings, (optional) (value should be from
1 to 10; if not specified, default value is 3)
"ranker_max_competitors": max number of competitors in the Rank Tracking tool, (optional) (value
should be from 1 to 20; if not specified, default value is 5)
"ranker_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never" (optional) (if not specified, default value is "monthly")
"ranker_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never" (optional) (if not specified, default value is "never")
"linker_max_backlinks": max number of backlinks to be analyzed by the Backlink Quality Check
tool, (optional) (value should be from 100 to 50,000; if not specified, default value is 100)
"linker_max_competitors": max number of competitors in the Backlink Quality Check tool,
(optional) (value should be from 1 to 4; if not specified, default value is 2)
"backlinkslist_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never" (optional) (if not specified, default value is "monthly")
"backlinkslist_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never" (if not specified, default value is "never")
"spy_max_competitors_backlinks": max number of competitor backlinks to be analyzed by the
Competitor Backlink Spy tool, (optional) (value should be from 100 to 50,000; if not specified, default value is 100)
"spy_max_competitors": max number of competitor domains to be checked by the Competitor
Backlink Spy tool (optional) (value should be from 1 to 4; if not specified, default value is 2)
"backlinksspy_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never" (optional) (if not specified, default value is "monthly")
"backlinksspy_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never" (if not specified, default value is "never")
"auditor_max_pages": max number of site pages scanned for broken links, (optional) (value
should be from 1 to 50,000; if not specified, default value is 1,000)
"auditor_max_landing_pages": max number of landing pages scanned for content optimization
issues, (optional) (value should be from 1 to 50,000; if not specified, default value is 30)
"auditor_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never" (optional) (if not specified, default value is "monthly")
"auditor_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never" (if not specified, default value is "never")
"submission_max_se": max number of search engines for automatic submission 5 | 10 | 15 | … |
"all", (optional) (value should be multiple of 5, if value is not specified, default value is 5)
"buzz_kw_limit": max number of keywords tracked by the Web Buzz tool, (optional) (value should
be from 1 to 20; if not specified, default value is 2)
"partners_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never" (optional) (if not specified, default value is "monthly")
"partners_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice
a month" | "quarterly" | "never" (if not specified, default value is "never")
}
}
Page 14 of 72
Web CEO – SEO API Reference
Response:
{
"method": "add_limit",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"limit_id": "limit id"
}
}
Page 15 of 72
Web CEO – SEO API Reference
set_limit
Use this command to modify the parameters of an existing scan limit profile.
Request:
{
"method": "set_limit",
"key": "your API key",
"id": request id, (optional)
"data": {
"limit_id": "limit id",
"name": "name of a scan limit profile", (optional)
"ranker_max_kw": max number of keywords, (optional) (if not specified, default value is 5)
"ranker_max_se": max number of search engines, (optional) (value should be from 1 to 5; if not
specified, default value is 3)
"ranker_max_pages": max number of SERPs to check rankings, (optional) (value should be from
1 to 10; if not specified, default value is 3)
"ranker_max_competitors": max number of competitors in the Rank Tracking tool, (optional) (value
should be from 1 to 20; if not specified, default value is 5)
"ranker_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never" (optional)
"ranker_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never" (optional)
"linker_max_backlinks": max number of backlinks to be analyzed by the Backlink Quality Check
tool, (optional) (value should be from 100 to 50,000; if not specified, default value is 100)
"linker_max_competitors": max number of competitors in the Backlink Quality Check tool,
(optional) (value should be from 1 to 4; if not specified, default value is 2)
"backlinkslist_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never" (optional)
"backlinkslist_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never" (optional)
"spy_max_competitors_backlinks": max number of competitor backlinks to be analyzed by the
Competitor Backlink Spy tool, (optional) (value should be from 100 to 50,000; if not specified, default value is 100)
"spy_max_competitors": max number of competitor domains to be checked by the Competitor
Backlink Spy tool (optional) (value should be from 1 to 4; if not specified, default value is 2)
"backlinksspy_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never" (optional)
"backlinksspy_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never" (optional)
"auditor_max_pages": max number of site pages scanned for broken links, (optional) (value
should be from 1 to 50,000; if not specified, default value is 1,000)
"auditor_max_landing_pages": max number of landing pages scanned for content optimization
issues, (optional) (value should be from 1 to 50,000; if not specified, default value is 30)
"auditor_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never" (optional)
"auditor_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never" (optional)
"submission_max_se": max number of search engines for automatic submission 5 | 10 | 15 | … |
"all", (optional) (value should be multiple of 5, if value is not specified, default value is 5)
"buzz_kw_limit": max number of keywords tracked by the Web Buzz tool, (optional) (value should
be from 1 to 20; if not specified, default value is 2)
"partners_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never" (optional)
"partners_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice
a month" | "quarterly" | "never" (optional)
}
}
Page 16 of 72
Web CEO – SEO API Reference
Response:
{
"method": "set_limit",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"limit_id": "limit id"
}
}
Page 17 of 72
Web CEO – SEO API Reference
get_limit
Use this command to get the properties of a scan limit profile.
Request:
{
"method": "get_limit",
"key": "your API key",
"id": request id, (optional)
"data": {
"limit_id": "limit id"
}
}
Response:
{
"method": "get_limit",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"name": "name of a scan limit profile",
"ranker_max_kw": max number of keywords,
"ranker_max_se": max number of search engines,
"ranker_max_pages": max number of SERPs to check rankings,
"ranker_max_competitors": max number of competitors in Rank Tracking tool,
"ranker_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never"
"ranker_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never"
"linker_max_backlinks": max number of backlinks to be analyzed by the Backlink Quality Check
tool,
"linker_max_competitors": max number of competitors in the Backlink Quality Check tool,
"backlinkslist_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never"
"backlinkslist_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never"
"spy_max_competitors_backlinks": max number of competitor backlinks to be analyzed by the
Competitor Backlink Spy tool,
"spy_max_competitors": max number of competitor domains to be checked by the Competitor
Backlink Spy tool,
"backlinksspy_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never"
"backlinksspy_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" |
"twice a month" | "quarterly" | "never"
"auditor_max_pages": max number of site pages scanned for broken links,
"auditor_max_landing_pages": max number of landing pages scanned for content optimization
issues,
"auditor_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never"
"auditor_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never"
"submission_max_se": max number of search engines for automatic submission,
"buzz_kw_limit": max number of keywords tracked by the Web Buzz tool,
"partners_auto_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice a
month" | "quarterly" | "never"
"partners_manual_scan_period": "once a day" | "once a week" | "twice a week" | "monthly" | "twice
a month" | "quarterly" | "never"
}
}
Page 18 of 72
Web CEO – SEO API Reference
get_limits
Use this command to get the list of scan limit profiles created in your Web CEO account.
Request:
{
"method": "get_limits",
"key": "your API key",
"id": request id (optional)
}
Response:
{
"method": "get_limits",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"limits": [["limit_id1", "limit_name1"], ["limit_id2", "limit_name2"] … ]
}
}
Page 19 of 72
Web CEO – SEO API Reference
del_limit
Use this command to remove a scan limit profile.
Request:
{
"method": "del_limit",
"key": "your API key",
"id": request id, (optional)
"data": {
"limit_id": "id of the limit that you are going to remove", (required)
"replace_with_id": "id of the limit that will replace the limit to be deleted in projects where it was
assigned; if this parameter is not specified, the projects where this limit was assigned will be assigned a scan limit
"no limits" (optional)
}
}
Response:
{
"method": "del_limit",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"limit_id": "limit id"
}
}
Page 20 of 72
Web CEO – SEO API Reference
get_billing_details
Use this command to get the billing details for the last 20 payments.
Request:
{
"method": "get_billing_details",
"key": "your API key",
"id": request id, (optional)
"data": {
"payments_count": number of payments (optional)
}
}
Response:
{
"method": " get_billing_details",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"created": "YYYY-MM-DD HH:MM:SS" (date of request),
"account": "email address of account owner",
"currency": "USD",
"payments": [
{
"date": "YYYY-MM-DD HH:MM:SS" (date of payment),
"id": payment id in the Web CEO system,
"amount": amount of payment,
"description": "payment details",
"details": {
"total": amount of payment,
"tariff": subscription paid,
"projects": [
{
"id": "project id",
"domain": "project domain without http://",
"manager": "email address", (optional)
"active_tools": [list of active tools],
"amount": total amount of project cost,
"specification": {
"fee": site monthly fee,
"backlink_checker": scanning cost,
"rank_checker": scanning cost,
"site_auditor": scanning cost
}
} …other projects
]
}
} …other payments
]
}
}
Page 21 of 72
Web CEO – SEO API Reference
User management:
(applied only to accounts with the White Label Domain feature enabled.)
add_user
Use this command to add a new user to your white label domain.
Note:
- if you want to include the user into the certain groups, add their names to the “groups” parameter. To remove
user from all the groups, leave it empty (“groups”:[ ]).
Request:
{
"method": "add_user",
"key": "your API key",
"id": request id, (optional)
"data": {
"user": "user email",
"password": "password", (optional) (value should be string, not integer)
"role": "ROLE_MANAGER" | "ROLE_CLIENT" | "ROLE_CLIENT_EXTENDED" |
"ROLE_READONLY"|ROLE_SPECIALIST| ROLE_TRIAL (optional),
"manager": "manager email address" (optional),
"groups": ["group1", "group2"] (optional)
}
}
Response:
{
"method": "add_user",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id (optional)
}
Predefined user roles are:
- ROLE_MANAGER – Project Manager;
- ROLE_CLIENT - Client (CANNOT add projects);
- ROLE_CLIENT_EXTENDED - Client (CAN add projects);
- ROLE_READONLY – Client (read-only reports);
- ROLE_SPECIALIST – SEO Specialist;
- ROLE_TRIAL - Trial
You can also specify non-predefined roles created for the domain. If no value is specified for the "role"
parameter, the default value is ROLE_CLIENT.
Page 22 of 72
Web CEO – SEO API Reference
set_user
Use this command to modify the parameters of an existing user.
Note:
- if you want to include the user into the certain groups, add their names to the “groups” parameter. To remove
user from all the groups, leave it empty (“groups”:[ ]).
Request:
{
"method": "set_user",
"key": "your API key",
"id": request id, (optional)
"data": {
"user": "user email",
"password": "password", (optional) (value should be string, not integer)
"suspended": 1 | 0, (optional),
"role": "ROLE_MANAGER" | "ROLE_CLIENT" | "ROLE_CLIENT_EXTENDED" |
"ROLE_READONLY" |ROLE_SPECIALIST| ROLE_TRIAL (optional)
"manager": "manager email address" (optional),
"groups": ["group1", "group2"] (optional)
}
}
Response:
{
"method": "set_user",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id (optional)
}
Page 23 of 72
Web CEO – SEO API Reference
del_user
Use this command to remove a user from your white label domain.
Request:
{
"method": "del_user",
"key": "your API key",
"id": request id, (optional)
"data": {
"user": "user email"
}
}
Response:
{
"method": "del_user",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id (optional)
}
Page 24 of 72
Web CEO – SEO API Reference
share_project_group
Use this command to grant a user access to a group of projects. A user will get access to the current projects in
a group and all projects that will be added to this group in the future.
Request:
{
"method": "share_project_group",
"key": "your API key",
"id": request id, (optional)
"data": {
"user": "user email",
"project_group": ["project_group_name1", …] (value should be string, not integer)
}
}
Response:
{
"method": "share_project_group",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"user": "user email",
"project_group": ["project_group_name1", …]
}
}
Page 25 of 72
Web CEO – SEO API Reference
get_user_info
Use this command to get the details of a user.
Request:
{
"method": "get_user_info",
"key": "your API key",
"id": request id, (optional)
"data": {
"user": "user email"
}
}
Response:
{
"method": "get_user_info",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"user": "user email",
"date_joined": "YYYY-MM-DD HH:MM:SS", (GMT)
"last_login": "YYYY-MM-DD HH:MM:SS" (GMT)
"project_group": ["project_group_name1", …]
}
}
Page 26 of 72
Web CEO – SEO API Reference
Rank Tracking Tool:
get_rankings
Use this command to get the ranking data for the X last scans of a project.
Note: Values of the "history_depth" parameter are interpreted as follows:
 1 – current site rankings;
 2 – current and 1 previous scan (default value, if "history_depth" is not specified);
 3 or more – current and 2 or more scans
Request:
{
"method": "get_rankings",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"grouped": 0|1, (0 – not grouped, 1 – grouped by page) (optional)
"pages_filter": ['/', '/help.html'], (page filters, active only when "grouped" parameter
has value "1") (optional)
"competitors": 0|1, (0 – without competitors, 1 – with competitors, active only when
"grouped" parameter has value "0") (optional)
"history_depth": any integer equal to or more than 2 (number of scans) (optional)
}
}
Response (when parameter "grouped" is 0):
{
"method": "get_rankings",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain",
"ranking_data": [
{
"kw": "keyword",
"positions": [
{
"se": "search engine",
"language": ISO 639-1 language code,
"country": ISO 3166 country code or 00 for global search,
"location": "Miami, FL", (optional)
"scan_history":[
{
"date": "YYYY-MM-DD", (scan date)
"url": "url of an organic result",
"pos": position of an organic result,
"video": { (marker of result, may be "ad", "news", "image", "video", "shop",
"place")
Page 27 of 72
Web CEO – SEO API Reference
"url": "url of an organic result",
"type": "ad" | "news" | "image" | "video" | "shop" | "place",
"pos": position of an extended result
}
},...
]
},...
]
},...
],
"competitors": [
{
"domain": "competitor's domain",
"competitor_data": [
{
"kw": "keyword",
"positions": [
{
"se": "search engine",
"language": ISO 639-1 language code,
"country": ISO 3166 country code or 00 for global search,
"location": "Miami, FL", (optional)
"scan_history":[
{
"url": "url",
"pos": position,
"date": "YYYY-MM-DD" (scan date)
},...
]
},...
]
},...
]
},...
]
}
}
Response (when parameter "grouped" is 1):
{
"method": "get_rankings",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"ranking_data": [
{
"url": "url",
"keywords": [
{
Page 28 of 72
Web CEO – SEO API Reference
"kw": "keyword",
"positions": [
{
"se": "search engine",
"language": ISO 639-1 language code,
"country": ISO 3166 country code or 00 for global search,
"location": "Miami, FL", (optional)
"scan_history": [
{
"url": "url",
"date": "YYYY-MM-DD", (scan date)
"type": "ad" | "news" | "image" | "video" | "shop" | "place",
"pos": position of an extended result
}
{
"url": "url",
"date": "YYYY-MM-DD", (scan date)
"type": "organic",
"pos": position of an organic result
},...
]
},...
]
},…
]
},...
]
}
}
Page 29 of 72
Web CEO – SEO API Reference
get_rankings_cached_results
Use this command to get the cached ranking results for a keyword.
Note:
-
the “location” parameter should be setup to “country” if you want to get cached results with the “Pages
from” specification (make sure to setup a proper language, too), or to custom Google location, if it was
specified in the Rank Tracking settings. In all other cases, just don’t specify this parameter;
-
the “mobile” parameter can be used for Google, Bing or Yahoo only.
Request:
{
"method": "get_rankings_cached_results",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"keyword": "keyword",
"se_data": {
"se": "search engine",
“mobile”:0|1 (1 – the mobile version of SE, 0 – the regular SE) (optional),
"country": country ISO code,
"language": language ISO code,
"location": "Google location" or “country”,
"youtube_channel":”URL of the Youtube channel” (optional, for Youtube only)
}
}
}
Response:
{
"method": " get_rankings_cached_results",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain",
"keyword": "keyword",
"se": "se_country_language",
"cache_data": [
{
#result_type: [list_of_urls]
"organic": ["url_1", …, "url_x"],
},
{
#result_type: [list_of_urls]
"ad": ["url_1", …, "url_x"],
},
…,
]
}
}
Page 30 of 72
Web CEO – SEO API Reference
get_rankings_keywords
Use this command to get the list of keywords configured in the Rank Tracking settings of a project.
Request:
{
"method": "get_rankings_keywords",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": "get_rankings_keywords",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"keywords": ["keyword_1", "keyword_2", ...]
}
}
Page 31 of 72
Web CEO – SEO API Reference
add_rankings_keywords
Use this command to add keywords to the Rank Tracking settings of a project.
Request:
{
"method": "add_rankings_keywords",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"keywords": ["keyword_1", "keyword_2", ...]
}
}
Response:
{
"method": "add_rankings_keywords",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://"
}
}
Page 32 of 72
Web CEO – SEO API Reference
del_rankings_keywords
Use this command to remove keywords from the Rank Tracking settings of a project.
Request:
{
"method": "del_rankings_keywords",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"keywords": ["keyword_1", "keyword_2", ...]
}
}
Response:
{
"method": "del_rankings_keywords",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://"
}
}
Page 33 of 72
Web CEO – SEO API Reference
get_rankings_ses
Use this command to get the list of search engines configured in the Rank Tracking settings of a project.
Request:
{
"method": "get_rankings_ses",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": "get_rankings_ses",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"ses": [
{
"se": "search engine name",
"country": ISO 3166 country code or 00 for global search,
"language": ISO 639-1 language code,
"description": "search engine description",
"location": "location for Google's location-based results" (optional),
"youtube_channel":”URL of the Youtube channel” (optional, for Youtube only)
}
]
}
}
Page 34 of 72
Web CEO – SEO API Reference
add_rankings_ses
Use this command to add search engine(-s) to the Rank Tracking settings of a project.
Note:
-
the “location” parameter should be setup to “country” if you want to get cached results with the “Pages
from” specification (make sure to setup a proper language, too), or to custom Google location, if it was
specified in the Rank Tracking settings. In all other cases, just don’t specify this parameter;
-
the “mobile” parameter can be used for Google, Bing or Yahoo only;
-
add the Youtube channel, such as https://youtube.com/user/CHANNEL_NAME or
https://youtube.com/channel/CHANNEL_NAME, as a “youtube_channel” parameter if you are adding
Youtube.
Request:
{
"method": "add_rankings_ses",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"ses": [
{
"se": "search engine name",
“mobile”:0|1 (1 – the mobile version of SE, 0 – the regular SE) (optional),
"country": ISO 3166 country code or 00 for global search,
"language": ISO 639-1 language code,
"description": "search engine description", (optional)
"location": "location for Google's location-based results" or “country”,
"youtube_channel":”URL of the Youtube channel” (optional, for Youtube only)
}
]
}
}
Response:
{
"method": "add_rankings_ses",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://"
}
}
*For the list of supported search engines and countries, see this document.
Page 35 of 72
Web CEO – SEO API Reference
del_rankings_ses
Use this command to remove the specified search engine(-s) configured in the Rank Tracking settings of a
project.
Note:
-
the “location” parameter should be setup to “country” if you want to get cached results with the “Pages
from” specification (make sure to setup a proper language, too), or to custom Google location, if it was
specified in the Rank Tracking settings. In all other cases, just don’t specify this parameter;
-
the “mobile” parameter can be used for Google, Bing or Yahoo only;
-
add the Youtube channel, such as https://youtube.com/user/CHANNEL_NAME or
https://youtube.com/channel/CHANNEL_NAME, as a “youtube_channel” parameter if you are adding
Youtube.
Request:
{
"method": "del_rankings_ses",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"ses": [
{
"se": "search engine name",
“mobile”:0|1 (1 – the mobile version of SE, 0 – the regular SE) (optional),
"country": ISO 3166 country code or 00 for global search,
"language": ISO 639-1 language code,
"description": "search engine description", (optional)
"location": "location for Google's location-based results" or “country”
}
]
….
"new_ses": [ optional, required when you delete the last search engine
{
"se": "search engine name",
"country": ISO 3166 country code or 00 for global search,
"language": ISO 639-1 language code,
"description": "search engine description", (optional)
"location": "location for Google's location-based results", (optional)
"youtube_channel":”URL of the Youtube channel” (optional, for Youtube only)
}
]
…
}
}
Response:
{
"method": "del_rankings_ses",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://"
}
}
Page 36 of 72
Web CEO – SEO API Reference
get_rankings_competitors
Use this command to get the list of competitors configured in the Rank Tracking settings of a project.
Request:
{
"method": "get_rankings_competitors",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": "get_rankings_competitors",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"competitors": ["competitor_1", "competitor_2", ...]
}
}
Page 37 of 72
Web CEO – SEO API Reference
add_rankings_competitors
Use this command to add competitor(-s) to the Rank Tracking settings of a project.
Request:
{
"method": "add_rankings_competitors",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"competitors": ["competitor_1", "competitor_2", ...]
}
}
Response:
{
"method": "add_rankings_competitors",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://"
}
}
Page 38 of 72
Web CEO – SEO API Reference
del_rankings_competitors
Use this command to remove competitor(-s) configured in the Rank Tracking settings of a project.
Request:
{
"method": "del_rankings_competitors",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"competitors": ["competitor_1", "competitor_2", ...]
}
}
Response:
{
"method": "del_rankings_competitors",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://"
}
}
Page 39 of 72
Web CEO – SEO API Reference
get_keywords_tags
Use this command to get the list of keywords with tags assigned to them in a project in the Rank Tracking tool.
Request:
{
"method": "get_keywords_tags",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": " get_keywords_tags",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"keyword_tags": {
"keyword": ["tag_1", "tag_2", …]
…,
}
}
}
Page 40 of 72
Web CEO – SEO API Reference
update_keywords_tags
Use this command to add, modify or delete specific tags of keywords in a project in the Rank Tracking tool.
Request:
{
"method": "update_keywords_tags",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"keywords_tags": {
"keywords": ["current_tag_1", "current_tag_2", “new_tag”, ...]
…,
}
}
}
Response:
{
"method": "update_keywords_tags",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://"
}
}
Page 41 of 72
Web CEO – SEO API Reference
delete_keywords_all_tags
Use this command to delete all tags of all keywords in a project in the Rank Tracking tool.
Request:
{
"method": "delete_keywords_all_tags",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": "delete_keywords_all_tags",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://"
}
}
Page 42 of 72
Web CEO – SEO API Reference
Internal Links Optimization Tool:
get_interlinks_link_text
Use this command to get the list of link texts of your site’s internal links.
Request:
{
"method": "get_interlinks_link_text",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"order": "text" | "links" | "pw" | "blinks" | "nflinks" | "swlinks", (optional)* (if not
specified, default value is "pw")
"order_direction": "asc" | "desc", (optional) (if not specified, default value is "desc")
"page_number": number of page of a report (300 link texts per page) (if not specified,
default value is 1)
}
}
Response:
{
"method": "get_interlinks_link_text",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain",
"scanned_date": "YYYY-MM-DD",
"page_number": number of page of a report (300 link texts per page),
"data": [
{
"link_text": "link text",
"links_total": total number of links,
"text_juice": text juice,
"links_to_blocked_pages": number of links to pages that are blocked with
robots.txt or NoIndex tag,
"links_nofollow": number of links with nofollow attribute,
"links_sitewide": number of sitewide links,
"links": [ {
"link_from": "link with the given link text",
"page_authority": authority of a page where the link is published
}]
},...
]
}
}
Page 43 of 72
Web CEO – SEO API Reference
Backlink Quality Check Tool:
get_competitor_metrics
Use this command to get the summarized backlink data for a site and its competitors.
Request:
{
"method": "get_competitor_metrics",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
"history_depth": number of scans (optional) (value should be integer, ≥2)
}
}
Response:
{
"method": "get_competitor_metrics",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"scanned_date": "YYYY-MM-DD",
"data": [
{
"domain": "domain name",
"pagerank": Google PageRank of a home page,
"total": total number of backlinks found,
"total_history": the list of values of the total number of backlinks found during
previous scans, (only when the "history_depth" value is valid)
"domains": number of linking domains found,
"domains_history": the list of values of the number of linking domains found during
previous cans, (only when the "history_depth" value is valid)
"pages": number of linking pages found,
"pages_history": the list of values of the number of linking pages found during
previous cans, (only when the "history_depth" value is valid)
".gov": number of backlinks from .gov domains,
".gov_history": the list of values of the number of backlinks from .gov domains
found during previous cans, (only when the "history_depth" value is valid)
".edu": number of backlinks from .edu domains,
".edu_history": the list of values of the number of backlinks from .edu domains
found during previous cans, (only when the "history_depth" value is valid)
"nofollow": number of backlinks with ‘nofollow’ attribute,
"sitewide": number of sitewide backlinks
},…
]
}
}
Page 44 of 72
Web CEO – SEO API Reference
get_linking_pages
Use this command to get the detailed data on external pages linking to your site.
Request:
{
"method": "get_linking_pages",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": "get_linking_pages",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"scanned_date": "YYYY-MM-DD",
"data": [
{
"page_url": "linking page URL",
"link_target_page": "target page URL",
"link_text": "link text",
"link_type": "text | redirect | frame | form",
"link_nofollow": false | true,
"link_sitewide": false | true,
"link_status": "Lost | Nofollow | Toxic (manually assigned) | Toxic | OK | OK
(manually assigned) | Suspected toxic", (status of link toxicity)
"is_new": false | true,
"page_title": "title of a linking page",
"page_size": size of a linking page in bytes,
"page_ilinks": number of internal links on a linking page,
"page_elinks": number of external links on a linking page,
"page_pagerank": Google PageRank of a linking page,
"home_page_pagerank": Google PR of linking domain’s home page,
"alexa_rank": Alexa Traffic Rank of a linking domain,
"dmoz_categories": "category1/subcategory1\ncategory2/subcategory2",
"from_domain": number of backlinks from the same domain,
"from_subnet": number of backlinks from the same subnet,
"ip": IP address of a linking page,
"last_crawled": "YYYY-MM-DD" (date of last crawl)
},…
]
}
}
Page 45 of 72
Web CEO – SEO API Reference
get_competitor_backlinks
Use this command to get the list of pages linking to your competition and your site.
Request:
{
"method": "get_competitor_backlinks",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": "get_competitor_backlinks",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"scanned_date": "YYYY-MM-DD", (date of scan)
"data": [
{
"url_from": "linking page URL",
"pagerank": Google PageRank,
"domains_to": ["domain1", "domain2", …] (competitor domains, including your domain,
to which the page is linking to),
},…
]
}
}
Page 46 of 72
Web CEO – SEO API Reference
get_competitors
Use this command to get the list of competitors configured in the Backlink Quality Check or the Competitor
Backlink Spy tool.
Request:
{
"method": "get_competitors",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"tool": "backlink_quality_check" | "competitor_backlink_spy"
}
}
Response:
{
"method": "get_competitors",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"tool": "backlink_quality_check" | "competitor_backlink_spy",
"competitors": {
"checked": ["competitor_domain_1", "competitor_domain_1", …],
"unchecked": ["competitor_domain_a", "competitor_domain_b", …]
}
}
}
Page 47 of 72
Web CEO – SEO API Reference
set_competitors
Use this command to add, check or uncheck the competitors in the settings of the Backlink Quality Check or the
Competitor Backlink Spy tool.
Request:
{
"method": "set_competitors",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"tool": "backlink_quality_check" | "competitor_backlink_spy",
"competitors": {
"checked": ["competitor_domain_1", "competitor_domain_1", …], (all competitors
specified in this parameter will be checked in the settings window of the tools)
"unchecked": ["competitor_domain_a", "competitor_domain_b", …] (all competitors
specified in this parameter will be unchecked if they are available in the settings window of the tools or will be
added as unchecked if they are not found)
}
}
}
Response:
{
"method": "set_competitors",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"tool": "backlink_quality_check" | "competitor_backlink_spy",
"competitors": {
"checked": ["competitor_domain_1", "competitor_domain_1", …],
"unchecked": ["competitor_domain_a", "competitor_domain_b", …]
}
}
}
Page 48 of 72
Web CEO – SEO API Reference
Site Map Generator:
submit_sitemap
Use this command to submit your sitemap to Google, Bing, and Yahoo.
Request:
{
"method": "submit_sitemap",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"sitemap_url": "URL of sitemap location"
}
}
Response:
{
"method": "submit_sitemap",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain",
"sitemap_url": "URL of sitemap location"
}
}
Page 49 of 72
Web CEO – SEO API Reference
Technical Audit and SEO Analysis:
get_site_audit_data
Use this command to get the scanning results for technical and SEO issues.
Request:
{
"method": "get_site_audit_data",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"pages_filter": ['/', '/help.html'] (page filters) (optional)
}
}
Response:
{
"method": "get_site_audit_data",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"broken_anchors": total number of broken anchors,
"broken_links": total number of broken links,
"d_scan": "YYYY-MM-DD", (date of scanning)
"scanned_pages": number of scanned pages,
"general_errors": total number of detected general optimization issues,
"optimizer_errors": total number of detected keyword optimization issues,
"summary": {
#scanning results for factors related to the whole site#
"factor1": {"status": "OK|Problem"},
"factor2": {"status": "OK|Problem"},
…
},
"pages": [
{
"url": "complete page URL",
"page_unavailable": empty or 1 (page that was added for keyword optimization
scanning is not available),
"keywords": {
#if present, scanning results of checking for keyword optimization#
"keyword1”: {
If present, scanning results for factors:
"kw_body",
"kw_body_persent",
"kw_description",
"kw_h",
"kw_img_alt",
"kw_title",
"kw_url",
"kw_url_one"
#
"factor1": {"status": "OK|Problem"},
Page 50 of 72
Web CEO – SEO API Reference
"factor2": {"status": "OK|Problem"},
…
}, ...
},
"general": {
#if present, scanning results for factors related to a page#
"description",
"description_length",
"description_uniq",
"h1",
"h1_presence",
"links_count",
"redirect",
"title",
"title_length",
"title_uniq",
"url_ansi",
"url_query"
#
"factor1": {"status": "OK|Problem"},
"factor2": {"status": "OK|Problem"},
…
},
"elinks": [
#if present, external broken links#
{
"line": line number where a broken link was found,
"status": HTTP error code,
"url": "complete URL"
}, ...
],
"ilinks": [
#if present, internal broken links#
{
"line": line number where a broken link was found,
"status": HTTP error code,
"url": "complete URL"
},...
],
"pictures": [
#if present, broken image links#
{
"line": line number where a broken link was found,
"status": HTTP error code,
"url": "complete URL"
},...
],
"anchors": [
#if present, broken anchors#
{
"line": line number where a broken link was found,
"status": HTTP error code,
"url": "complete URL"
},...
]
}
]
}
}
*For the status messages and texts of the SEO Analysis Tool Appendix A.
Page 51 of 72
Web CEO – SEO API Reference
get_site_audit_keywords
Use this command to get the list of keywords configured for the Landing Page SEO analysis in the SEO Analysis
tool.
Request:
{
"method": "get_site_audit_keywords",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": "get_site_audit_keywords",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://",
"urls": [
{
"url": "url",
"title": "title",
"keywords": ["keyword1", "keyword2", …]
}
]
}
}
Page 52 of 72
Web CEO – SEO API Reference
add_site_audit_keywords
Use this command to add keywords to the list of keywords configured for the Landing Page SEO analysis in the
SEO Analysis tool.
Request:
{
"method": "add_site_audit_keywords",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"urls": [
{
"url": "url",
"title": "title", (optional)
"keywords": ["keyword1", "keyword2", …]
}
]
}
}
Response:
{
"method": "add_site_audit_keywords",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://"
}
}
Page 53 of 72
Web CEO – SEO API Reference
del_site_audit_keywords
Use this command to remove keywords from the list of keywords configured for the Landing Page SEO analysis
in the SEO Analysis tool.
Request:
{
"method": "del_site_audit_keywords",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"urls": [
{
"url": "url",
"keywords": ["keyword1", "keyword2", …]
}
]
}
}
Response:
{
"method": "del_site_audit_keywords",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"domain": "project domain without http://"
}
}
Page 54 of 72
Web CEO – SEO API Reference
Social Engagement
get_social_metrics
Use this command to get social metrics found by the Social Engagement Tool.
Request:
{
"method": "get_social_metrics",
"key": "your API key",
"data": {
"project": "project id"
}
}
Response:
{
"method": "get_social_metrics",
"result": absent | 0 | error code,
"errormsg": absent | "error message"
"data": {
"project": project id,
"domain": "project domain",
"metrics": [{
"page": url,
"changes": number of changes,
"fb_likes": number of Facebook likes,
"fb_shares": number of Facebook shares,
"fb_comments": number of Facebook comments,
"g_plus_ones": number of Google+ “plus ones”,
"tweets": number of tweets
},
...
]
}
}
Page 55 of 72
Web CEO – SEO API Reference
Web Buzz Tool:
get_buzz_counts
Use this command to get the number of posts found by the Web Buzz tool.
Request:
{
"method": "get_buzz_counts",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": "get_buzz_counts",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"total": total number of posts,
"unread": number of unread posts,
"favorites": number of favorite posts
}
}
Page 56 of 72
Web CEO – SEO API Reference
get_buzz_keywords
Use this command to get the list of keywords configured in the Web Buzz tool.
Request:
{
"method": "get_buzz_keywords",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": "get_buzz_keywords",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"keywords": ["keyword_1", "keyword_2", ...]
}
}
Page 57 of 72
Web CEO – SEO API Reference
add_buzz_keywords
Use this command to add keywords to the list of keywords configured in the Web Buzz tool.
Request:
{
"method": "add_buzz_keywords",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"keywords": ["keyword_1", "keyword_2", ...]
}
}
Response:
{
"method": "add_buzz_keywords",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Page 58 of 72
Web CEO – SEO API Reference
del_buzz_keywords
Use this command to remove keywords from the list of keywords configured in the Web Buzz tool.
Request:
{
"method": "del_buzz_keywords",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id",
"keywords": ["keyword_1", "keyword_2", ...]
}
}
Response:
{
"method": "del_buzz_keywords",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Page 59 of 72
Web CEO – SEO API Reference
SEO Checklist:
get_todo_stages
Use this command to get the details on the status of the SEO Checklist stages.
Request:
{
"method": "get_todo_stages",
"key": "your API key",
"id": request id, (optional)
"data": {
"project": "project id"
}
}
Response:
{
"method": "get_todo_stages",
"result": absent | 0 | error code,
"errormsg": absent | "error message",
"id": request id, (optional)
"data": {
"project": "project id",
"todolist": [
{
"name": "name of the To Do List stage",
"tasks_all": total number of tasks in the stage,
"tasks_done": number of completed tasks,
"percent_done": 0-100,
"date_completed": -|"YYYY-MM-DD"
}
]
}
}
Page 60 of 72
Web CEO – SEO API Reference
Appendix A.
Technical Audit status messages, texts of warnings and recommendations
Factor ID
Factor name
broken_links
Broken Links
ilinks
Internal links
Status
Status “OK”
Texts
No broken internal links were found on the
scanned pages.
Status “Problem”:
elinks
External links
Warning, sg.
%(count)s broken internal link was found on
your site.
Warning, pl.
%(count)s broken internal links were found
on your site.
Recommendation
Replace the broken internal links with valid
ones, because broken links reduce your site
quality and may negatively impact your site
visitors' experience.
Warning (second level), sg.
This broken internal link was found %
(count)s time:
Warning (second level), pl.
This broken internal link was found %
(count)s times:
Status “OK”
No broken external links were found on the
scanned pages.
Status “Problem”:
pictures
Image links
Warning, sg.
%(count)s broken external link was found on
your site.
Warning, pl.
%(count)s broken external links were found
on your site.
Recommendation
Replace the broken external links with valid
ones, because broken links reduce your site
quality and may negatively impact your site
visitors' experience.
Warning (second level), sg.
This broken external link was found %
(count)s time:
Warning (second level), pl.
This broken external link was found %
(count)s times:
Status “OK”
No broken image links were found on the
scanned pages.
Status “Problem”:
Page 61 of 72
Warning, sg.
%(count)s broken image link was found on
your site.
Warning, pl.
%(count)s broken image links were found on
your site.
Recommendation
Replace the broken image links with valid
ones, because broken images reduce your
site quality and may negatively impact your
site visitors' experience.
Warning (second level), sg.
This broken image link was found %(count)s
time:
Warning (second level), pl.
This broken image link was found %(count)s
times:
Web CEO – SEO API Reference
Factor ID
Factor name
broken_links
Broken Links
anchors
Anchors
Status
Status “OK”
Texts
No broken anchors were found on the
scanned pages.
Status “Problem”:
general
General optimization
title
TITLE tag
presence
Warning, sg.
%(count)s broken anchor was found on your
site.
Warning, pl.
%(count)s broken anchors were found on
your site.
Recommendation
Replace the broken anchors with valid ones,
because broken anchors negatively impact
your site visitors' experience.
Warning (second level), sg.
This broken anchor was found %(count)s
time:
Warning (second level), pl.
This broken anchor was found %(count)s
times:
Status “OK”
The TITLE tag was found on all scanned
pages of your site.
Status “Problem”:
title_uniq
Duplicate TITLE
tags
Warning, sg.
%(count)s page of your site has no TITLE
tag.
Warning, pl.
%(count)s pages of your site have no TITLE
tag.
Recommendation
Make sure that the TITLE tag is present on
all pages of your site, because it increases
the overall relevancy of your site for SEs and
results in more click throughs.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Status “OK”
No duplicate TITLE tags were found on the
scanned pages of your site.
Status “Problem”:
Page 62 of 72
Warning, sg.
%(count)s page of your site has duplicate
TITLE tag.
Warning, pl.
%(count)s pages of your site have duplicate
TITLE tags.
Recommendation
Use unique and descriptive TITLE tags
across all pages of your site, because
duplicate Titles may cause problems with
site indexing and rankings. As an option, you
may leave the duplicate TITLE tags intact
but use a "canonical" attribute on the noncanonical pages to let the search engines
know which one is the preferred page.
Warning (second level), sg.
%(count)s page with duplicate TITLE tag: %
(tag_text)s
Warning (second level), pl.
%(count)s pages with duplicate TITLE tag:
%(tag_text)s
Web CEO – SEO API Reference
Factor ID
Factor name
general
General optimization
title_length
TITLE tag length
Status
Status “OK”
Texts
The TITLE tag length on the scanned pages
is OK.
Status “Problem”:
description
Description tag
presence
Warning, sg.
%(count)s TITLE tag exceeds the
recommended length (70 characters).
Warning, pl.
%(count)s TITLE tags exceed the
recommended length (70 characters).
Recommendation
Shorten your TITLE tag to 70 characters,
because longer titles will be cut off on the
search results pages.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Status “OK”
The Description tag was found on all
scanned pages.
Status “Problem”:
description_uniq
Duplicate
Description tags
Warning, sg.
%(count)s page of your site has no
Description tag.
Warning, pl.
%(count)s pages of your site have no
Description tag.
Recommendation
Make sure that the Description tag is present
across all pages of your site, because SEs
use them as snippets on the search results
pages.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Status “OK”
No duplicate Description tags were found on
the scanned pages.
Status “Problem”:
Page 63 of 72
Warning, sg.
%(count)s page of your site has duplicate
Description tag.
Warning, pl.
%(count)s pages of your site have duplicate
Description tags.
Recommendation
Use unique and descriptive Description tags
across all pages of your site, because SEs
use them as snippets on the search results
pages. As an option, you may leave the
duplicate Description tags intact but use a
"canonical" attribute on the non-canonical
pages to let the search engines know which
one is the preferred page.
Warning (second level), sg.
%(count)s page with duplicate Description
tag: %(tag_text)s
Warning (second level), pl.
%(count)s pages with duplicate Description
tag: %(tag_text)s
Web CEO – SEO API Reference
Factor ID
Factor name
Status
general
General optimization
description_lengt
h
Description tag
length
Status “OK”
Texts
The Description tag length on the scanned
pages is OK.
Status “Problem”:
sitemap
XML sitemap
presence
Warning, sg.
%(count)s Description tag exceeds the
recommended length (160 characters).
Warning, pl.
%(count)s Description tags exceed the
recommended length (160 characters).
Recommendation
Shorten your Description tag to 160
characters, because longer Descriptions will
be cut off on the search results pages.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Status “OK”
The XML Sitemap file was found on your
site.
Status “Problem”:
robots
Page 64 of 72
Robots.txt
presence
Warning, sg.
The XML Sitemap file was not found on your
site.
Warning, pl.
The XML Sitemap file was not found on your
site.
Recommendation
Create the XML Sitemap and upload it to the
root directory of your web server, because it
helps SEs to crawl the site more intelligently.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Status “OK”
The Robots.txt file was found on your site.
Status “Problem”:
Warning, sg.
The Robots.txt file was not found on your
site.
Warning, pl.
The Robots.txt file was not found on your
site.
Recommendation
Create the Robots.txt file and upload it to
the root directory of your web server, with its
help you can exclude content from the
crawling process of search engine bots.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Web CEO – SEO API Reference
Factor ID
Factor name
general
General optimization
links_count
Number of
outgoing links
on a page
url_query
Page URL
structure
Status
Status “OK”
Texts
The number of outgoing links on your site
pages is OK.
Status “Problem”:
Warning, sg.
%(count)s page of your site contains an
excessive number of outgoing links (more
than 50).
Warning, pl.
%(count)s pages of your site contain an
excessive number of outgoing links (more
than 50).
Recommendation
Reduce the number of outgoing links,
because excessive use of outgoing links
may negatively impact your page's PR and
rankings.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Status “OK”
The page URL structure of the scanned
pages is OK.
Status “Problem”:
url_ansi
Valid characters
in a page URL
Warning, sg.
%(count)s page URL contains an excessive
number of dynamic parameters.
Warning, pl.
%(count)s page URLs contain an excessive
number of dynamic parameters.
Recommendation
Rewrite the page's URL to avoid excessive
number of dynamic parameters (more than
3) and make your URLs crawlable and SEfriendly.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Status “OK”
All URLs of your site pages contain valid
characters.
Status “Problem”:
Page 65 of 72
Warning, sg.
%(count)s page URL contains invalid
characters.
Warning, pl.
%(count)s page URLs contain invalid
characters.
Recommendation
Rewrite the page's URL to make it crawlable
and SE-friendly. Use the following
characters: a-z A-Z 0-9 . _ ~ : \ / ? # [ ] @ ! $
&'()*+,;=
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Web CEO – SEO API Reference
Factor ID
Factor name
general
General optimization
h1_presence
H1 heading
presence
Status
Status “OK”
Texts
The H1 heading was found on all scanned
pages of your site.
Status “Problem”:
h1
redirect
Page 66 of 72
Number of H1
headings on a
page
302 Redirect and
META Refresh
presence
Warning, sg.
%(count)s page of your site has no H1
heading.
Warning, pl.
%(count)s pages of your site have no H1
heading.
Recommendation
Add a keyword-rich H1 heading, because
some search engines still consider the
contents of this heading to be important.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Status “OK”
The number of H1 headings on the scanned
pages is OK.
Status “Problem”:
Warning, sg.
%(count)s page contains an excessive
number of H1 headings.
Warning, pl.
%(count)s pages contain an excessive
number of H1 headings.
Recommendation
Leave only one H1 that you consider the
most important and change the rest to H2,
H3, etc., because SEs may penalize
excessive H1 headings as a spam
technique.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Status “OK”
Neither 302 Redirects nor META Refresh
was found on your site pages.
Status “Problem”:
Warning, sg.
%(count)s page contains 302 Redirect /
META Refresh.
Warning, pl.
%(count)s pages contain 302 Redirects /
META Refresh tags.
Recommendation
Change 302 Redirect / META Refresh to 301
Redirects, because 302 Redirects and META
Refresh are not SEO-friendly and pass no
link juice.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Web CEO – SEO API Reference
Factor ID
Factor name
Status
on_page
Keyword optimization
page_unavailabl
e
Availability of
site pages
Status “OK”
Texts
All pages specified in the settings were
found and analyzed.
Status “Problem”:
kw_title
kw_h
Page 67 of 72
Keyword
presence in the
TITLE tag
Keyword
presence in
headings (H1-H6)
Warning, sg.
%(count)s page unavailable (Not found,
Forbidden, etc.)
Warning, pl.
%(count)s pages unavailable (Not found,
Forbidden, etc.)
Recommendation
It is critical that your site pages are
available 24/7, otherwise you will lose
visitors and opportunities.
Warning (second level), sg.
n/a
Warning (second level), pl.
n/a
Status “OK”
All targeted keywords were found in the
TITLE tag on all analyzed pages.
Status “Problem”:
Warning, sg.
%(count)s page is missing keywords in the
TITLE tag.
Warning, pl.
%(count)s pages are missing keywords in
the TITLE tags.
Recommendation
Add targeted keywords to the TITLE tags of
your pages to make your pages more
relevant to SEs.
Warning (second level), sg.
%(count)s keyword was not found in the
TITLE tag
Warning (second level), pl.
%(count)s keywords were not found in the
TITLE tag
Status “OK”
All targeted keywords were found in the H1H6 headings of all analyzed pages.
Status “Problem”:
Warning, sg.
%(count)s page is missing keywords in the
H1-H6 headings.
Warning, pl.
%(count)s pages are missing keywords in
the H1-H6 headings.
Recommendation
Add targeted keywords to the H1-H6
headings to make your pages more
relevant to SEs.
Warning (second level), sg.
%(count)s keyword was not found in the
H1-H6 headings
Warning (second level), pl.
%(count)s keywords were not found in the
H1-H6 headings
Web CEO – SEO API Reference
Factor ID
Factor name
Status
on_page
Keyword optimization
kw_body
Keyword
presence
in Body
kw_body_persen
t
Keyword stuffing
on a page
Status “OK”
Texts
All targeted keywords were found in the
Body area of the analyzed pages.
Status “Problem”:
Warning, sg.
%(count)s page is missing keywords in the
Body area.
Warning, pl.
%(count)s pages are missing keywords in
the Body area.
Recommendation
Add targeted keywords to the Body area to
make your pages more relevant to SEs.
Warning (second level), sg.
%(count)s keyword was not found in the
Body area
Warning (second level), pl.
%(count)s keywords were not found in the
Body area
Status “OK”
No keyword stuffing was detected in the
Body area of the analyzed pages.
Status “Problem”:
kw_url
Page 68 of 72
Keyword
presence in
the page URL
Warning, sg.
%(count)s page with keyword stuffing in the
Body area was detected.
Warning, pl.
%(count)s pages with keyword stuffing in
the Body area were detected.
Recommendation
Remove frequently used keywords from
your pages' Body to avoid SEs spam
penalties.
Warning (second level), sg.
%(count)s keyword is excessively used in
the Body area
Warning (second level), pl.
%(count)s keywords are excessively used
in the Body area
Status “OK”
All targeted keywords were found in the
URLs of the analyzed pages.
Status “Problem”:
Warning, sg.
%(count)s page is missing keywords in the
page URL.
Warning, pl.
%(count)s pages are missing keywords in
the page URLs.
Recommendation
Change the page's URL to one with
targeted keywords, because this is one of
the most important SEO parameters.
Warning (second level), sg.
%(count)s keyword was not found in the
URL
Warning (second level), pl.
%(count)s keywords were not found in the
URL
Web CEO – SEO API Reference
Factor ID
Factor name
on_page
Keyword optimization
kw_url_one
Keyword stuffing
in the page URL
Status
Status “OK”
Texts
No keyword stuffing was detected in the
URLs of the analyzed pages.
Status “Problem”:
kw_description
kw_img_alt
Page 69 of 72
Keyword
presence in the
Description tag
Keyword
presence in
ALT attributes
of images
Warning, sg.
%(count)s page with keyword stuffing in the
page URL was detected.
Warning, pl.
%(count)s pages with keyword stuffing in the
page URL were detected.
Recommendation
Remove excessively used keywords from
the page URL to avoid SEs spam penalties.
Warning (second level), sg.
%(count)s keyword is excessively used in
the page URL
Warning (second level), pl.
%(count)s keywords are excessively used in
the page URL
Status “OK”
All targeted keywords were found in the
Description tag of the analyzed pages.
Status “Problem”:
Warning, sg.
%(count)s page is missing keywords in the
Description tag.
Warning, pl.
%(count)s pages are missing keywords in
the Description tags.
Recommendation
Add targeted keywords to the Description
tag to make it more relevant to SEs.
Warning (second level), sg.
%(count)s keyword was not found in the
Description tag
Warning (second level), pl.
%(count)s keywords were not found in the
Description tag
Status “OK”
All targeted keywords were found in the ALT
attributes of images of the targeted pages.
Status “Problem”:
Warning, sg.
%(count)s page is missing keywords in the
ALT attributes of the images.
Warning, pl.
%(count)s pages are missing keywords in
the ALT attributes of the images.
Recommendation
Add targeted keywords to the ALT attributes
of the images to make them relevant for
image search.
Warning (second level), sg.
%(count)s keyword was not found in the
image ALT attributes
Warning (second level), pl.
%(count)s keywords were not found in the
image ALT attributes
Web CEO – SEO API Reference
Examples of a JSON request to Web CEO’s API.
A sample piece of source code in several programming languages to make a call to Web CEO’s API that returns
a list of projects of a Web CEO’s account.
PHP
<?php
$command = array("key" => "YOUR_API_KEY", "method" => "get_projects");
$ch = curl_init("https://online.webceo.com/api/");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, "json=".urlencode(json_encode($command)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$json_result = json_decode($result, True)[0];
var_dump($json_result);
?>
Page 70 of 72
Web CEO – SEO API Reference
Python
# Example in Python 2.7 that prints a list of projects added to a Web CEO's account:
import urllib
import urllib2
import json
# API command to get the list of projects added to a user's account in Web CEO
command = {"key": "YOUR_API_KEY", "method": "get_projects"}
# generate body of a POST request
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = urllib2.Request("https://online.webceo.com/api/", data=urllib.urlencode({'json':
json.dumps(command)}))
# request data
response = opener.open(request)
# parse JSON response
projects = json.loads(response.read())[0]['data']
# print list of projects
for project in projects:
print project['domain']
Page 71 of 72
Web CEO – SEO API Reference
Java
import org.json.JSONObject;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
import java.net.URLConnection;
public class WebCEOCOnlineApiTest {
public static void main(String[] args) throws IOException {
JSONObject json = new JSONObject();
json.put("method", "get_projects");
json.put("key", "YOUR_API_KEY");
URL url = new URL("https://online.webceo.com/api/");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
// send data
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
out.write("json=" + json.toString());
out.close();
// read response
StringBuilder responseSB = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ( (line = br.readLine()) != null) {
responseSB.append(line);
}
br.close();
// responseSB now contains response
System.out.println(responseSB.toString());
}
}
Page 72 of 72
Web CEO – SEO API Reference