SEOmonitor API 3.0
  1. Organic Traffic
SEOmonitor API 3.0
  • Overview
  • Campaigns
    • Get Tracked Campaigns
      GET
  • Rank Tracker
    • Get Keyword Data
      GET
    • Get Keyword AI Overview Data
      GET
    • Get Groups List
      GET
    • Get Keywords Competition Data
      GET
    • Get Top 100 Results
      GET
    • Get Groups Data
      GET
    • Get Daily Keyword Ranks
      GET
    • Get Daily Group Visibility
      GET
    • Add New Keywords
      POST
    • Get Keywords Import Status
      GET
    • Get Daily SERP Feature Presence
      GET
    • Get Ranking Pages
      GET
    • Get Daily Share of Clicks
      GET
  • Organic Traffic
    • Get Daily Traffic Data by Segment
      GET
    • Get Traffic Data by Keywords
      GET
  • Research
    • Keyword Research
      • By Topic
        • Get Related Keywords
        • Get Topic Overview
      • By URL/Domain
        • Get URL/Domain Overview
        • Get Ranking Keywords
      • Get Keyword Data
      • Get Ranking Data
    • Keyword Vault
      • Get Keyword Data by List
      • Get Overview Data
  • Forecast
    • Get Forecast scenarios
      GET
    • Get Forecast scenario Data
      GET
    • Get Forecast objective Data
      GET
    • Get Forecast keywords
      GET
  1. Organic Traffic

Get Traffic Data by Keywords

GET
https://apigw.seomonitor.com/v3/organic-traffic/v3.0/keywords
This endpoint returns the traffic data by keyword for a specific traffic segment and timeframe.
Note: This endpoint will return data only if SEOmonitor pulled Google Search Console and/or Google Analytics data for the selected timeframe through an active connection.

Request

Authorization
Add parameter in header
Authorization
Example:
Authorization: ********************
Query Params
campaign_id
integer 
required
(Required) This parameter specifies the ID of the campaign for which you want to return data.
Please refer to the Quick Start Guide to learn how to retrieve the IDs of your campaigns.
Example:
{{campaign_id}}
start_date
string 
required
(Required) This parameter specifies the start date of the timeframe for which you want to return the data, in YYYY-MM-DD format.
Example:
{{start_date}}
end_date
string 
required
(Required) This parameter specifies the end date of the timeframe for which you want to return the data, in YYYY-MM-DD format.
Example:
{{end_date}}
segment
string 
optional
The name assigned to the segment in the platform.
Accepted values are all, non-brand, brand, or the name of a custom traffic segment created in the SEOmonitor platform, e.g. "blog".
Unless otherwise specified, data will be returned for the Non-Brand segment by default.
Example:
{{segment}}
limit
integer 
optional
This parameter determines the maximum number of records to return in a single request.
Maximum Value: 1000 records per request
If you do not specify a limit, the default number of records returned per request will be 100.
Example:
{{limit}}
offset
integer 
optional
This parameter specifies the starting point within the collection of resource results. It's typically used with the limit parameter to implement pagination.
If you do not specify an offset, the API will start from the first record.
Example:
{{offset}}
order_by
string 
optional
This parameter enables you to sort the returned data based on a specified field.
The field names you can use to sort data are:
avg_position
sessions
transactions
goals
transactions_revenue
goals_revenue
If you do not specify an order_direction, the default is asc, which means the API will sort the data in ascending order.
Example:
sessions
order_direction
string 
optional
This parameter determines the sorting direction of the order_by field. You can sort the data in either ascending (asc) or descending (desc) order.
If the tracking_status is not specified, data for all keywords is returned.
Example:
{{order_direction}}
tracking_status
string 
optional
This parameter enables you to filter the results based on the keyword property of being tracked in the SEOmonitor platform. Allowed values are tracked, untracked, and all.
If the tracking_status is not specified, data for all keywords is returned.
Example:
{{{tracking_status}}
search
string 
optional
The search parameter allows you to filter the results based on a keyword search. The API will return only those records where the keyword matches (fully or partially) the provided search term.
The search parameter is case-insensitive, allowing partial matches irrespective of casing.
Example:
{{search}}
Header Params
Accept
string 
required
Example:
application/json

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location -g --request GET 'https://apigw.seomonitor.com/v3/organic-traffic/v3.0/keywords?campaign_id={{campaign_id}}&start_date={{start_date}}&end_date={{end_date}}&segment={{segment}}&limit={{limit}}&offset={{offset}}&order_by=sessions&order_direction={{order_direction}}&tracking_status={{{tracking_status}}&search={{search}}' \
--header 'Accept: application/json' \
--header 'Authorization;'

Responses

🟢200Success
application/json
Body
keyword
string 
optional
The exact keyword phrase for which traffic data is returned.
tracked_keyword_id
integer 
optional
The unique ID used to identify and reference the keyword in the system. Returned only if the keyword is tracked in the SEOmonitor campaign. It can be stored and used in other endpoints for filtering.
brand
string 
optional
Whether the keyword is a brand name.
current_page
string 
optional
The current landing page that ranks for the keyword, irrespective of the specified timeframe.
gsc_data
object 
optional
Parent field containing the sum of impressions and clicks for the keyword, and the keyword average position for the specified timeframe.
impressions
integer 
optional
The total number of impressions in Google search results for the specified keyword over the specified timeframe.
clicks
integer 
optional
The total number of clicks that the keyword received in Google search results over the specified timeframe.
avg_position
integer 
optional
The keyword's average position on Google over the specified timeframe, blended for desktop and mobile devices.
analytics_data
object 
optional
Parent field containing Google Analytics traffic data associated with the keyword, including sessions, e-commerce and goals data.
sessions
integer 
optional
The sum of sessions, if the campaign is connected to both Google Search Console and Google Analytics – or clicks, if the campaign is only connected to Google Search Console, over the selected timeframe.
ecommerce
object 
optional
Parent field containing e-commerce transaction data including number of transactions and the revenue generated by the keyword.
goals
object 
optional
Parent field containing goals transaction data including the number of completions and the revenue generated by the keyword.
Example
{
  "keyword": "example",
  "tracked_keyword_id": 1,
  "brand": false,
  "current_page": "",
  "gsc_data": {
    "impressions": 0,
    "clicks": 9,
    "avg_position": 8
  },
  "analytics_data": {
    "sessions": 900,
    "ecommerce": {
      "transactions": 3818,
      "revenue": 488485.1
    },
    "goals": {
      "completions": 3751,
      "revenue": 409731.8
    }
  }
}
Modified at 2024-11-05 13:58:39
Previous
Get Daily Traffic Data by Segment
Next
Get Related Keywords
Built with