Getting Started with our Historical API

Get familiar with our Advanced Queries Historical API for fetching summary historical traffic data with specified start and end times. Note that Advanced Queries is a Premium feature.

Our Advanced Queries API endpoints may be used to retrieve summary historical data for your site in either one-time or recurring queries, downloadable in CSV or JSON format.

Advanced Queries reports are highly customizable with a wide array of metrics, filters, and dimensions available to return specific summary traffic data about your audience engagement with your online content over time.

One-time vs recurring queries

There are two query types to pick from:

One-time queries are good for pulling data over custom date ranges. One-time queries must be submitted anew for every unique run if your team wants to run the same report (using the same metrics, dimensions, and/or filters) over unique date ranges (using unique start and end date parameters).

Recurring queries are only submitted once, but they continue to generate new reports for every calendar day, week, or month. This is a good option for teams that want to pull in the same traffic data with every day, week, or month that passes. The query start and end times are defined by the selected date range option:

  • Daily recurring queries (date_range=day) return data for the previous 24-hour calendar day based on your selected timezone for the query. These queries begin a new run at 12:01AM each day for their selected timezone, and should be completed (available to fetch) by 4AM.

  • Weekly recurring queries (date_range=week) return data for the previous 7-day calendar week (12:00AM Monday - 11:59PM Sunday) based on your selected timezone for the query. These queries begin a new run at 12:01AM every Monday for their selected timezone, and should be completed (available to fetch) by 4AM Monday.

  • Monthly recurring queries (date_range=month) return data for the previous calendar month based on your selected timezone for the query. These queries begin a new run at 12:01AM on the first calendar day of every month for their selected timezone, and should be completed (available to fetch) by 4AM on the first day.

Required parameters

API Key: This should be passed in the HTTP Header with "X-CB-AK". You can create and access your API key here under your account settings. Make sure to select an API key that has access to all calls for your domain.

Example CURL request

curl --header "X-CB-AK: <YOUR API KEY>" "https://api.chartbeat.com/query/v2/submit/page/?host=YOUR_HOST&limit=100&start=YYYY-MM-DD&end=YYYY-MM-DD&sort_column=page_views&sort_order=desc&tz=America/New_York&metrics=page_views,page_uniques&dimensions=path,title"

The following parameters are necessary to include in both your one-time and recurring queries:

API Key

apikey=

NOTE: Your API key should no longer be set as a query param; instead, pass it in the HTTP header

Endpoint

endpoint=

Choose between page and video data. Video data is only available for Sites with active Video Dashboards.

Host

host=

The Site you are querying (site ID is usually your website's root domain). If you are using our video API endpoint, the host value is your site ID prepended with "video@". For example, host=video@mysite.com.

Limit

limit=

The number of rows you'd like to pull in your query. Large calls are susceptible to 504 gateway timeouts, so we recommend setting no more than 10,000 rows.

Sort Column

sort_column=

The column you'd like to sort the query on.

Sort Order

sort_order=

The order of the sort (asc/desc).

Timezone

tz=

The timezone you'd like to run the query in a valid Olson timezone format, e.g. America/New_York.

Metrics

metrics=

Every query must include one or more specified metrics (traffic data returned in the report).

Note: The complete list of available metrics, dimensions, and filter parameters is included in the fourth and final page of this guide: Metrics, Dimensions, and Filters.

Additional required parameters for one-time queries

One-time queries must also include the start and end date parameters:

Parameter Name

Syntax

Description

Start Date

start=yyyy-mm-dd

Start of date range to pull data from.

End Date

end=yyyy-mm-dd

End of date range to pull data from.

Additional required parameters for recurring queries

Recurring queries do not accept the start and end date parameters, and instead require the date range parameter set to day, week, or month:

Parameter Name

Syntax

Description

Date Range

date_range=

The frequency for your recurring query to run; day for daily, week for weekly, month for monthly.

Next steps

Check out the next three pages of this guide to find all the information you need to get started using our Historical API.

One-time QueriesRecurring QueriesMetrics, Dimensions, and Filters

Last updated