SERPWoo API

Last updated: Aug 24st, 2017

Get Started

Welcome to the SERPWoo API. We will continue adding new functionalities and features, so we recommend bookmarking this page and coming back to it to learn about the latest updates.

SERPWoo is designed to track the top 20, 30, and 100 Google search results, here we'll give you access to pull the end results as needed.

API Endpoint

https://api.serpwoo.com/v1/
DETECTED API KEY: <API_KEY_ID>

Sample Code

Sample code is available at our github: https://github.com/SERPWoo/API

We have sample code in the following languages:


We continuously update the sample code and code base, so check back often. If you would like sample code in a different language we are open to new ideas, so don't hesitate to ask and we'll see if it makes sense.

API Credits & Rate Limits

Resources that require additional processing will count against your API credits (example: any SERP pull beyond 90 days). Most requests will NOT count against your API credits (We reserve the right to change this policy at any time - without notice).

However in order to ensure proper uptime and fair use for all users there is a Rate Limit in place for all users.


Rate Limit For All Users

2 requests per second.

70 requests per minute.

1,000 requests every 15 mins.

3,000 requests per hour.

Useful Tip:

You can quadruple (4x) your rate limit by Protecting your API Key with an IP Address restriction.

Reading The Docs

The input code is divided into 2, and sometimes 3, sections. The first section is the code with the API URL to execute the command. The second section is an example response section.

Some inputs have Additional Options as the 3rd section. The additional options can help you sorting or limiting the output - we display all the available options.

Useful Tip:

You can combine different Additional Options when creating api requests by using the "&" symbol in the query section of your API call.

Response Outputs

JSON is returned by all API responses, including errors. ALL communication with the API is through SSL, there is no NON-SSL to SSL auto-redirect in place by design.


Epoch / Timestamps

Times and timestamps are in epoch format. Here is a list of different epoch converters for different coding languages: Epoch Convertor - Programming Languages.

API Keys

Generate A Key

You can generate an API key from inside the configuration section. Select the "API Settings" (Direct Link) from the lefthand menu.

You can generate multiple keys in order to track different application usages.

Protect A Key (IP Address Restriction)

For Additional protection we allow you to restrict the usage of an API key to a single IP address (requests from your server). This will help you maintain control and will increase your rate limit. By protecting an API key your rate limit will be quadrupled (4x) for that key.

Rate Limit Output

If you are ever Rate-Limited here is the output you'll see:

Example Response (JSON)
{
			"rate_limited" : 1,
			"access_valid" : 1,
			"time" : 1500934985.00627,
			"error" : "RATE LIMIT EXCEEDED. Please slow down!",
			"rate_limit_violation" : {
					"user" : 1,
					"ip_address" : 1,
					"api_key" : 1
			},
			"response_time" : "0.00006",
			"success" : 0
	}
	

Lost Packets

Sometimes packets get lost resulting in what seems to be corrupt data. We validate ALL JSON responses BEFORE they are sent over the internet, if we find the response to be corrupt it will display the following output (this is very extremely rare):

Example Response (JSON)
{
	  "success": 0,
	  "error": "JSON data was corrupted.",
	  "time": 1501001828.97409,
	  "response_time": "0.05579"
}

Even though your data was validated on our side as JSON when it travels the "series of tubes" that is the internet lost packets do occur (We on ocassion also get corrupt JSON files from Google Cloud, Azure, and Amazon S3 - so it's an unfortunate occurrance). It's best to validate the JSON response within your code before you start processing it - never assume your data will be 100% uncorrupted; function "eval{}" for Perl and function "try{} catch()" for PHP work best - other languages have their respective versions.

Another solution to reduce the chances of lost packets is to use the "limit" parameter, if available, or reduce the time ranges when pulling SERPs data - this will reduce the amount of data you are requesting back to you.

General Commands

Here are some general commands you can utilize to figure out whether everything is okay to go on the system if you ever receive errors:

PING

Checks whether the server is responsive.

Command
GET   https://api.serpwoo.com/v1/ping/?key=<API_KEY_ID>
Example Response (JSON)
{
		"success" : 1,
		"response_time" : "0.00126",
		"time" : 1500000000,
		"response" : "pong"
}

CHANGELOG

Outputs the most recent changes to SERPWoo.

Command
GET    https://api.serpwoo.com/v1/changelog/?key=<API_KEY_ID>
Example Response (JSON)
{
   "total" : 2,
   "response_time" : "0.01087",
   "success" : 1,
   "change_log" : "Last 2",
   "time" : 1501004352.11726,
   "logs" : {
      "217" : {
         "link" : "https://www.serpwoo.com/v3/wizard/",
         "description" : "Added the country of Panama to Project Wizard for SERP Tracking.",
         "social_time" : "4.7  days ago",
         "time" : 1500600190,
         "importance" : 2,
         "title" : "New Country Added"
      },
      "216" : {
         "title" : "Trends: Quick Insight & Spark",
         "importance" : 1,
         "time" : 1499877895,
         "social_time" : "1.9  weeks ago",
         "description" : "A Stackchart and sparkline bug was found which caused tags that were not positive (negative and others) to also load within the Quick Insight Charts. This bug has been fixed. The updated data will propagate to all users within an hour.",
         "link" : null
      }
   }
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - default is 100.

[Min=1, Max=1000]

/v1/changelog/?limit=20&key=<API_KEY_ID>
2 order (string)

You can sort the output by ascending (asc) or descending (desc) of the timestamp - default is desc.

[Options: asc, desc]

/v1/changelog/?order=asc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output data starting from this date.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/changelog/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output data created before this date.

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/changelog/?before=1500471270&key=<API_KEY_ID>

Projects

SERPWoo is organized by projects - most of your commands to query data will revolve around utilizing the project command.

List All Projects

Get a list of all your active projects - this includes hidden projects by default.

Command
GET    https://api.serpwoo.com/v1/projects/?key=<API_KEY_ID>
Example Response (JSON)
{
  "success": 1,
  "response_time": "0.03130",
  "total": 2,
  "projects": {
    "11275": {
      "settings": {
        "country": "com",
        "locality": {
          "name": 0,
          "geo_id": 0
        },
        "show": 0,
        "device": "desktop",
        "language": 0
      },
      "name": "1000 Top Adwords CPC",
      "total": {
        "tags": 0,
        "domains_tags": 5,
        "keywords": 999,
        "domains": 5
      },
      "type": "regular",
      "_links": {
        "alerts": "/v1/projects/11275/alerts/",
        "tags": "/v1/projects/11275/tags/",
        "keywords": "/v1/projects/11275/keywords/",
        "notes": "/v1/projects/11275/notes/",
        "domains": "/v1/projects/11275/domains/"
      },
      "last_updated": 1468788842,
      "creation_date": 1420305483
    },
    "44547": {
      "creation_date": 1470243361,
      "last_updated": 1470401101,
      "_links": {
        "alerts": "/v1/projects/44547/alerts/",
        "tags": "/v1/projects/44547/tags/",
        "keywords": "/v1/projects/44547/keywords/",
        "notes": "/v1/projects/44547/notes/",
        "domains": "/v1/projects/44547/domains/"
      },
      "type": "regular",
      "name": "33024, FL",
      "settings": {
        "show": 1,
        "device": "desktop",
        "language": 0,
        "country": "com",
        "locality": {
          "geo_id": 42799,
          "name": "33024, Florida, United States"
        }
      },
      "total": {
        "domains_tags": 3,
        "tags": 0,
        "domains": 3,
        "keywords": 10
      }
    }
  },
  "time": 1501004287.94411
}
Additional Optional
# Command Usage
1 hidden_projects (integer)

Disable seeing hidden projects (0 = off) or descending (1 = on) - default is on.

[Options: 0, 1]

/v1/projects/?hidden_projects=0&key=<API_KEY_ID>
2 limit (integer)

You can limit the output to a certain number - default displays everything (no limit).

[Min=1, Max=10000]

/v1/projects/<PROJECT_ID>/domains/?limit=20&key=<API_KEY_ID>
3 order (string)

You can order the output by ascending (asc) or descending (desc) by the project name - default displays everything (no order).

[Options: asc, desc]

/v1/domains/<PROJECT_ID>/domains/?order=asc&key=<API_KEY_ID>
4 since (unsigned long integer)

In epoch format, will output domains/URLs created from this date.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/projects/<PROJECT_ID>/domains/?since=1498484069&key=<API_KEY_ID>
5 before (unsigned long integer)

In epoch format, will output domains/URLs created before this date.

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/projects/<PROJECT_ID>/domains/?before=1500471270&key=<API_KEY_ID>

List A Project's Alerts

Outputs the alerts for this project.

Command
GET    https://api.serpwoo.com/v1/projects/<PROJECT_ID>/alerts/?key=<API_KEY_ID>
Command Syntax
# Variable Description Type
1 <PROJECT_ID> The Project's ID Integer
Example Response (JSON)
{
  "total": 2,
  "response_time": "0.26865",
  "success": 1,
  "time": 1501004173.60256,
  "projects": {
    "20": {
      "alerts": {
        "24134411": {
          "status": 0,
          "timestamp": 1493116621,
          "html": "[<b>keyword suggestion tools</b>] <b>wikipedia.org</b> improved by 6 pos. (71 to 65).",
          "defcon": 5,
          "social_time": "3.0  months ago",
          "text": "[keyword suggestion tools] wikipedia.org improved by 6 pos. (71 to 65).",
          "link": "https://www.serpwoo.com/v3/main/?selected_keyword_country_id=331506&project_id=20&ORM=1"
        },
        "24135431": {
          "html": "[<b>seo keywords tool</b>] <b>wikipedia.org</b> declined by 4 pos. (68 to 72).",
          "timestamp": 1493116981,
          "status": 0,
          "link": "https://www.serpwoo.com/v3/main/?selected_keyword_country_id=78827&project_id=20&ORM=1",
          "text": "[seo keywords tool] wikipedia.org declined by 4 pos. (68 to 72).",
          "social_time": "3.0  months ago",
          "defcon": 5
        }
      }
    }
  }
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - default is 100.

[Min=1, Max=100000]

/v1/projects/<PROJECT_ID>/alerts/?limit=20&key=<API_KEY_ID>
2 order (string)

You can order the output by ascending (asc) or descending (desc) of the time stamp - default is desc.

In cases you want to get the most recent (desc) alerts, or the oldest alerts (asc) - data will only go back 90 days.

[Options: asc, desc]

/v1/projects/<PROJECT_ID>/alerts/?order=asc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output alerts starting from this date and onward - data will only go back 90 days.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/projects/<PROJECT_ID>/alerts/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output alerts before this date - data will only go back 90 days.

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/projects/<PROJECT_ID>/alerts/?before=1500471270&key=<API_KEY_ID>

List A Project's Domains

Outputs the domains (positive tags) for the project.

Command
GET    https://api.serpwoo.com/v1/projects/<PROJECT_ID>/domains/?key=<API_KEY_ID>
Command Syntax
# Variable Description Type
1 <PROJECT_ID> The Project's ID Integer
Example Response (JSON)
{
   "projects" : {
      "20" : {
         "domains" : {
            "9" : {
               "domain" : "apple.com",
               "setting" : {
                  "type" : null
               },
               "alert_threshold" : 25,
               "orm" : 3,
               "tag_type_id" : 3,
               "creation_date" : 1403379590,
               "last_updated" : 1457792513
            },
            "155" : {
               "last_updated" : 1457792513,
               "creation_date" : 1446395356,
               "setting" : {
                  "type" : null
               },
               "alert_threshold" : 25,
               "orm" : 1,
               "tag_type_id" : 1,
               "domain" : "amazon.com"
            }
         }
      }
   },
   "time" : 1501005303.34515,
   "total" : 2,
   "response_time" : "0.01901",
   "success" : 1
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - default displays everything (no limit).

[Min=1, Max=10000]

/v1/projects/<PROJECT_ID>/domains/?limit=20&key=<API_KEY_ID>
2 order (string)

You can order the output by ascending (asc) or descending (desc) of the domain/URL - default displays everything (no order).

[Options: asc, desc]

/v1/domains/<PROJECT_ID>/domains/?order=asc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output domains/URLs created from this date.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/projects/<PROJECT_ID>/domains/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output domains/URLs created before this date.

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/projects/<PROJECT_ID>/domains/?before=1500471270&key=<API_KEY_ID>

List A Project's Keywords

Outputs the keywords for the project.

Command
GET    https://api.serpwoo.com/v1/projects/<PROJECT_ID>/keywords/?key=<API_KEY_ID>
Command Syntax
# Variable Description Type
1 <PROJECT_ID> The Project's ID Integer
Example Response (JSON)
{
   "total" : 2,
   "response_time" : "0.01959",
   "success" : 1,
   "time" : 1501005361.03561,
   "projects" : {
      "20" : {
         "keywords" : {
            "128099" : {
               "Comp" : "0.35",
               "keyword" : "ad words keyword tool",
               "oci" : "0.68",
	           "_links": {
	             "serps": "/v1/serps/20/128099/"
	           },
               "settings" : {
                  "device" : "desktop",
                  "language" : 0,
                  "locality" : {
                     "geo_id" : 0,
                     "name" : 0
                  },
                  "country" : "com"
               },
               "volume" : 20,
               "alert_threshold" : 20,
               "CPC" : {
                  "usd" : {
                     "amount" : "0.68"
                  }
               },
               "creation_date" : 1474581481,
               "SERP_data" : {
                  "oldest_date" : 1435336222,
                  "recent_date" : 1500991454
               },
               "last_updated" : 1474589341
            },
            "34718" : {
               "alert_threshold" : 20,
               "CPC" : {
                  "usd" : {
                     "amount" : "0.77"
                  }
               },
               "creation_date" : 1474579381,
               "SERP_data" : {
                  "recent_date" : 1500981810,
                  "oldest_date" : 1423250426
               },
               "last_updated" : 1474589281,
               "Comp" : "0.90",
               "oci" : "0.77",
	           "_links": {
	             "serps": "/v1/serps/20/34718/"
	           },
               "keyword" : "ad word tool",
               "settings" : {
                  "device" : "desktop",
                  "language" : 0,
                  "locality" : {
                     "geo_id" : 0,
                     "name" : 0
                  },
                  "country" : "com"
               },
               "volume" : 30
            }
         }
      }
   }
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - default displays everything (no limit).

[Min=1, Max=10000]

/v1/projects/<PROJECT_ID>/keywords/?limit=20&key=<API_KEY_ID>
2 order (string)

You can order the output by ascending (asc) or descending (desc) of the keyword - default displays everything (no order).

[Options: asc, desc]

/v1/projects/<PROJECT_ID>/keywords/?order=desc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output keywords created from this date.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/projects/<PROJECT_ID>/keywords/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output keywords created before this date.

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/projects/<PROJECT_ID>/keywords/?before=1500471270&key=<API_KEY_ID>

List A Project's Notes

Outputs the notes for the project.

Command
GET    https://api.serpwoo.com/v1/projects/<PROJECT_ID>/notes/?key=<API_KEY_ID>
Command Syntax
# Variable Description Type
1 <PROJECT_ID> The Project's ID Integer
Example Response (JSON)
{
   "time" : 1501005454.81927,
   "projects" : {
      "20" : {
         "notes" : {
            "3333133333_000000111" : {
               "type" : 4,
               "note" : {
                  "message" : "SERPWoo turns 1 years old!",
                  "social_time" : "2.1  years ago",
                  "timestamp" : 1435291200
               },
               "last_updated" : 1468787641,
               "creation_date" : 1435343640
            }
         }
      }
   },
   "success" : 1,
   "total" : 1,
   "response_time" : "0.01561"
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - default displays everything (no limit).

[Min=1, Max=10000]

/v1/projects/<PROJECT_ID>/notes/?limit=20&key=<API_KEY_ID>
2 order (string)

You can order the output by ascending (asc) or descending (desc) of the time stamp - default displays everything (no order).

[Options: asc, desc]

/v1/projects/<PROJECT_ID>/notes/?order=desc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output notes created from this date.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/projects/<PROJECT_ID>/notes/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output notes created before this date.

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/projects/<PROJECT_ID>/notes/?before=1500471270&key=<API_KEY_ID>

List A Project's Tags

Outputs the tags for the project; Note: Tags are URLs or Domains which have been selected to be negative, positive, or other (custom for example).

Command
GET    https://api.serpwoo.com/v1/projects/<PROJECT_ID>/tags/?key=<API_KEY_ID>
Command Syntax
# Variable Description Type
1 <PROJECT_ID> The Project's ID Integer
Example Response (JSON)
{
   "time" : 1501005514.21866,
   "projects" : {
      "20" : {
         "tags" : {
            "9" : {
               "setting" : {
                  "type" : null
               },
               "alert_threshold" : 25,
               "tag" : "apple.com",
               "orm" : 3,
               "tag_type_id" : 3,
               "last_updated" : 1457792513,
               "creation_date" : 1403379590
            },
            "155" : {
               "creation_date" : 1446395356,
               "last_updated" : 1457792513,
               "alert_threshold" : 25,
               "setting" : {
                  "type" : null
               },
               "tag" : "amazon.com",
               "orm" : 1
               "tag_type_id" : 3,
            }
         }
      }
   },
   "success" : 1,
   "total" : 2,
   "response_time" : "0.01899"
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - default displays everything (no limit).

[Min=1, Max=10000]

/v1/projects/<PROJECT_ID>/tags/?limit=20&key=<API_KEY_ID>
2 order (string)

You can order the output by ascending (asc) or descending (desc) of the tag - default displays everything (no order).

[Options: asc, desc]

/v1/projects/<PROJECT_ID>/tags/?order=desc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output notes created from this date.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/projects/<PROJECT_ID>/tags/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output notes created before this date.

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/projects/<PROJECT_ID>/tags/?before=1500471270&key=<API_KEY_ID>

SERPs

Search Engine Page Results

This command pulls the SERP data for the keyword you want.

It will output by default the last 14 days of data, with the following fields: rank, date, url, title, description

The default is to pull the top 20 results for your keywords.

Command
GET    https://api.serpwoo.com/v1/serps/<PROJECT_ID>/<KEYWORD_ID>/?key=<API_KEY_ID>
Command Syntax
# Variable Description Type
1 <PROJECT_ID> The Project ID keyword is in. Integer
2 <KEYWORD_ID> The Keyword ID of the keyword you want. Integer
Example Response (JSON)
{
  "1": {
    "1499918400": {
	    "results": {
	      "1": {
	        "url": "https://www.google.com/maps/?The-Miami-SEO-Company[local_map_pack]",
	        "description": "",
	        "title": "The Miami SEO Company",
			"type": "map",
	      },
	      "2": {
	        "title": "WEBRIS - SEO - Miami Office",
	        "description": "WEBRIS is a Miami based search engine optimization (SEO) agency providing end to end services for local clients. Call for a FREE consult: (800) 324-6621.",
	        "url": "http://webris.org/locations/miami-seo/",
			"type": "organic",
	      },
		  [..]
		  ,
	      "4": {
	        "description": "The Miami SEO Company has talent and industry experience, we are guaranteed to deliver successful results. Call for a free consultation with a certified analyst.",
	        "url": "http://www.themiamiseocompany.com/",
	        "title": "The Miami SEO Company",
			"type": "organic",
	      },
		}
      "actual_time": 1499958896,
      "priority": 5
    },
    "1500004800": {
	    "results": {
	      "1": {
	        "url": "https://www.google.com/maps/?The-Miami-SEO-Company[local_map_pack]",
	        "description": "",
	        "title": "The Miami SEO Company",
			"type": "map",
	      },
	      "2": {
	        "title": "WEBRIS - SEO - Miami Office",
	        "description": "WEBRIS is a Miami based search engine optimization (SEO) agency providing end to end services for local clients. Call for a FREE consult: (800) 324-6621.",
	        "url": "http://webris.org/locations/miami-seo/",
			"type": "organic",
	      },
		  [..]
		  ,
	      "4": {
	        "description": "The Miami SEO Company has talent and industry experience, we are guaranteed to deliver successful results. Call for a free consultation with a certified analyst.",
	        "url": "http://www.themiamiseocompany.com/",
	        "title": "The Miami SEO Company",
			"type": "organic",
	      },
		}
      "actual_time": 1500044666,
      "priority": 5
    },
	[..]
  },
  "response_time": "0.3018",
  "time": 1501107661.55089,
  "total": 56,
  "success": 1  
}
Additional Optional
# Command Usage
1 since (unsigned long integer)

In epoch format, will output SERPs created from this date - default is recent 14 days.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/serps/<PROJECT_ID>/<KEYWORD_ID>/?since=1498484069&key=<API_KEY_ID>
2 before (unsigned long integer)

In epoch format, will output notes created before this date - default is recent 14 days.

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/serps/<PROJECT_ID>/<KEYWORD_ID>/?before=1500471270&key=<API_KEY_ID>
3 fields (string)

Allows you state what fields you want - default are all fields (separate the fields by commas NOT spaces).

[Option: url, title, description]

/v1/serps/<PROJECT_ID>/<KEYWORD_ID>/?fields=url,title,description&key=<API_KEY_ID>
4 range_top (integer)

Allows you to pull only segments of different rankings. Default is 1. (So the 1st ranking in Google). If you use 101, it will display data available from 101+ (sometimes Google results more than 100 results).

[Min=1, Max=101]

/v1/serps/<PROJECT_ID>/<KEYWORD_ID>/?range_top=1&key=<API_KEY_ID>
5 range_bottom (integer)

Allows you to pull only segments of different rankings. Default is 20. (So the 1st ranking in Google). If you use 101, it will display data available from 101+ (sometimes Google results more than 100 results).

[Min=1, Max=101]

/v1/serps/<PROJECT_ID>/<KEYWORD_ID>/?range_bottom=101&key=<API_KEY_ID>

Mass Commands

These are commands that will output massive amounts of data - best to use when you need to find something or export data.

Alerts (Mass)

This command queries all alerts for your account (does not include shard projects/clients).

Command
GET    https://api.serpwoo.com/v1/alerts/?key=<API_KEY_ID>
Example Response (JSON)
{
  "total": 2,
  "response_time": "0.26865",
  "success": 1,
  "time": 1501004173.60256,
  "projects": {
    "20": {
      "alerts": {
        "24134411": {
          "status": 0,
          "timestamp": 1493116621,
          "html": "[<b>keyword suggestion tools</b>] <b>wikipedia.org</b> improved by 6 pos. (71 to 65).",
          "defcon": 5,
          "social_time": "3.0  months ago",
          "text": "[keyword suggestion tools] wikipedia.org improved by 6 pos. (71 to 65).",
          "link": "https://www.serpwoo.com/v3/main/?selected_keyword_country_id=331506&project_id=20&ORM=1"
        },
        "24135431": {
          "html": "[<b>seo keywords tool</b>] <b>wikipedia.org</b> declined by 4 pos. (68 to 72).",
          "timestamp": 1493116981,
          "status": 0,
          "link": "https://www.serpwoo.com/v3/main/?selected_keyword_country_id=78827&project_id=20&ORM=1",
          "text": "[seo keywords tool] wikipedia.org declined by 4 pos. (68 to 72).",
          "social_time": "3.0  months ago",
          "defcon": 5
        }
      }
    }
  }
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - default is 1000.

[Min=1, Max=100000]

/v1/alerts/?limit=20&key=<API_KEY_ID>
2 order (string)

You can order the output by ascending (asc) or descending (desc) of the timestamp - default is desc.

[Options: asc, desc]

/v1/alerts/?order=asc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output alerts created from this date - data will only go back 90 days.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/alerts/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output alerts created before this date - data will only go back 90 days.

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/alerts/?before=1500471270&key=<API_KEY_ID>
5 projects (integer)

Allows you display only alerts from specific projects ID (separate the fields by commas NOT spaces) - there is no default since everything displayed.

[Option: 12345,67890 (examples shows two project IDs)]

/v1/alerts/?projects=12345,67890,2501&key=<API_KEY_ID>

Domains (Mass)

This command queries all domains for your account (does not include shard projects/clients).

Command
GET    https://api.serpwoo.com/v1/domains/?key=<API_KEY_ID>
Example Response (JSON)
{
   "projects" : {
      "20" : {
         "domains" : {
            "9" : {
               "domain" : "apple.com",
               "setting" : {
                  "type" : null
               },
               "alert_threshold" : 25,
               "orm" : 3,
               "tag_type_id" : 3,
               "creation_date" : 1403379590,
               "last_updated" : 1457792513
            },
            "155" : {
               "last_updated" : 1457792513,
               "creation_date" : 1446395356,
               "setting" : {
                  "type" : null
               },
               "alert_threshold" : 25,
               "orm" : 1,
               "tag_type_id" : 1,
               "domain" : "amazon.com"
            }
         }
      }
   },
   "time" : 1501005303.34515,
   "total" : 2,
   "response_time" : "0.01901",
   "success" : 1
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - there is no default since everything displayed.

[Min=1, Max=100000]

/v1/domains/?limit=20&key=<API_KEY_ID>
2 order (string)

You can order the output by ascending (asc) or descending (desc) of the domain/URL - default is desc.

[Options: asc, desc]

/v1/domains/?order=asc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output alerts created from this date - there is no default since everything displayed.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/domains/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output alerts created before this date - there is no default since everything displayed

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/domains/?before=1500471270&key=<API_KEY_ID>
5 projects (integer)

Allows you display only alerts from specific projects ID (separate the fields by commas NOT spaces) - there is no default since everything displayed.

[Option: 12345,67890 (examples shows two project IDs)]

/v1/domains/?projects=12345,67890,2501&key=<API_KEY_ID>

Keywords (Mass)

This command queries all keywords for your account (does not include shard projects/clients).

Command
GET    https://api.serpwoo.com/v1/keywords/?key=<API_KEY_ID>
Example Response (JSON)
{
   "total" : 2,
   "response_time" : "0.01959",
   "success" : 1,
   "time" : 1501005361.03561,
   "projects" : {
      "20" : {
         "keywords" : {
            "128099" : {
               "Comp" : "0.35",
               "keyword" : "ad words keyword tool",
               "oci" : "0.68",
	           "_links": {
	             "serps": "/v1/serps/20/128099/"
	           },
               "settings" : {
                  "device" : "desktop",
                  "language" : 0,
                  "locality" : {
                     "geo_id" : 0,
                     "name" : 0
                  },
                  "country" : "com"
               },
               "volume" : 20,
               "alert_threshold" : 20,
               "CPC" : {
                  "usd" : {
                     "amount" : "0.68"
                  }
               },
               "creation_date" : 1474581481,
               "SERP_data" : {
                  "oldest_date" : 1435336222,
                  "recent_date" : 1500991454
               },
               "last_updated" : 1474589341
            },
            "34718" : {
               "alert_threshold" : 20,
               "CPC" : {
                  "usd" : {
                     "amount" : "0.77"
                  }
               },
               "creation_date" : 1474579381,
               "SERP_data" : {
                  "recent_date" : 1500981810,
                  "oldest_date" : 1423250426
               },
               "last_updated" : 1474589281,
               "Comp" : "0.90",
               "oci" : "0.77",
	           "_links": {
	             "serps": "/v1/serps/20/34718/"
	           },
               "keyword" : "ad word tool",
               "settings" : {
                  "device" : "desktop",
                  "language" : 0,
                  "locality" : {
                     "geo_id" : 0,
                     "name" : 0
                  },
                  "country" : "com"
               },
               "volume" : 30
            }
         }
      }
   }
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - there is no default since everything displayed.

[Min=1, Max=100000]

/v1/keywords/?limit=20&key=<API_KEY_ID>
2 order (string)

You can order the output by ascending (asc) or descending (desc) of the keyword - default is desc.

[Options: asc, desc]

/v1/keywords/?order=asc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output keywords created from this date - there is no default since everything displayed.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/keywords/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output keywords created before this date - there is no default since everything displayed

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/keywords/?before=1500471270&key=<API_KEY_ID>
5 projects (integer)

Allows you display only keywords from specific projects ID (separate the fields by commas NOT spaces) - there is no default since everything displayed.

[Option: 12345,67890 (examples shows two project IDs)]

/v1/keywords/?projects=12345,67890,2501&key=<API_KEY_ID>

Notes (Mass)

This command queries all notes for your account (does not include shard projects/clients).

Command
GET    https://api.serpwoo.com/v1/notes/?key=<API_KEY_ID>
Example Response (JSON)
{
   "time" : 1501005454.81927,
   "projects" : {
      "20" : {
         "notes" : {
            "3333133333_000000111" : {
               "type" : 4,
               "note" : {
                  "message" : "SERPWoo turns 1 years old!",
                  "social_time" : "2.1  years ago",
                  "timestamp" : 1435291200
               },
               "last_updated" : 1468787641,
               "creation_date" : 1435343640
            }
         }
      }
   },
   "success" : 1,
   "total" : 1,
   "response_time" : "0.01561"
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - there is no default since everything displayed.

[Min=1, Max=100000]

/v1/notes/?limit=20&key=<API_KEY_ID>
2 order (string)

You can order the output by ascending (asc) or descending (desc) of the timestamp - default is desc.

[Options: asc, desc]

/v1/notes/?order=asc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output notes created from this date - there is no default since everything displayed.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/notes/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output notes created before this date - there is no default since everything displayed

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/notes/?before=1500471270&key=<API_KEY_ID>

Projects (Mass)

This command is essentially a duplicate command since it already exists within the List Project Section of Projects, please use that command.

Tags (Mass)

This command queries all tags for your account (does not include shard projects/clients).

Command
GET    https://api.serpwoo.com/v1/tags/?key=<API_KEY_ID>
Example Response (JSON)
{
   "time" : 1501005514.21866,
   "projects" : {
      "20" : {
         "tags" : {
            "9" : {
               "setting" : {
                  "type" : null
               },
               "alert_threshold" : 25,
               "tag" : "apple.com",
               "orm" : 3,
               "tag_type_id" : 3,
               "last_updated" : 1457792513,
               "creation_date" : 1403379590
            },
            "155" : {
               "creation_date" : 1446395356,
               "last_updated" : 1457792513,
               "alert_threshold" : 25,
               "setting" : {
                  "type" : null
               },
               "tag" : "amazon.com",
               "orm" : 1
               "tag_type_id" : 3,
            }
         }
      }
   },
   "success" : 1,
   "total" : 2,
   "response_time" : "0.01899"
}
Additional Optional
# Command Usage
1 limit (integer)

You can limit the output to a certain number - there is no default since everything displayed.

[Min=1, Max=100000]

/v1/tags/?limit=20&key=<API_KEY_ID>
2 order (string)

You can order the output by ascending (asc) or descending (desc) of the tag - default is desc.

[Options: asc, desc]

/v1/tags/?order=asc&key=<API_KEY_ID>
3 since (unsigned long integer)

In epoch format, will output tags created from this date - there is no default since everything displayed.

[example: 1498484069 is June 26, 2017 1:34:29 PM GMT]

/v1/tags/?since=1498484069&key=<API_KEY_ID>
4 before (unsigned long integer)

In epoch format, will output tags created before this date - there is no default since everything displayed

[example: 1500471270 is July 19, 2017 1:34:30 PM GMT]

/v1/tags/?before=1500471270&key=<API_KEY_ID>
5 projects (integer)

Allows you display only tags from specific projects ID (separate the fields by commas NOT spaces) - there is no default since everything displayed.

[Option: 12345,67890 (examples shows two project IDs)]

/v1/tags/?projects=12345,67890,2501&key=<API_KEY_ID>

Friendly Responsive Support Team

SERPWoo customer support

We provide reliable support with a competitive edge. We pride ourselves on giving you a top-notch world class service which can only happen by listening to our customers.

  • Expert SEO & ORM Professionals
  • Within 24 hour response time (current average = 33 mins)

To get quick replies simply click on the chat icon in the bottom right corner of your interface and we'll respond as soon as humanly possible.

Quick Start Guides

New To SERPWoo?

Check out out Quick Start Guides!

Such a powerful tool packs a punch so we designed our quick start guides so you take full advantage of all the data at your finger tips!