List Pages for a Website
curl --request GET \
--url https://api.cm.conductor.com/v1/websites/{website_id}/pages/list \
--header 'Authorization: <api-key>'import requests
url = "https://api.cm.conductor.com/v1/websites/{website_id}/pages/list"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.cm.conductor.com/v1/websites/{website_id}/pages/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cm.conductor.com/v1/websites/{website_id}/pages/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cm.conductor.com/v1/websites/{website_id}/pages/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cm.conductor.com/v1/websites/{website_id}/pages/list")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cm.conductor.com/v1/websites/{website_id}/pages/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"total": 1,
"urls": [
{
"app_url": "https://app.cm.conductor.com/websites/1-2/pages/3",
"analytics_services": [
"google_analytics"
],
"canonical_type": "internal_self",
"custom_elements": {
"author": "Josie Walters",
"date_published": "12 August 2019"
},
"ga_average_time": 5.788,
"ga_bounce_rate": 48,
"ga_page_value": 0,
"ga_page_views": 248,
"ga_unique_page_views": 214,
"gsc_clicks": 3,
"gsc_ctr": 0.183,
"gsc_impressions": 1635,
"gsc_position": 41.021,
"health": 950,
"meta_description": "Conductor Monitoring keeps track of your website 24/7 so that you can catch unexpected changes and issues before search engines and visitors do. Try it today!",
"h1": "H1 page header",
"hreflang_language": "en",
"is_disallowed_in_robots_txt": false,
"is_indexable": true,
"is_indexable_due_to_meta_robots": true,
"is_indexable_due_to_x_robots_tag": null,
"is_in_sitemap": true,
"is_linked": true,
"link_amp": null,
"link_next": null,
"link_prev": null,
"mobile_variant": null,
"number_of_hreflangs": 6,
"number_of_incoming_internal_canonicals": 1,
"number_of_incoming_internal_links": 314,
"number_of_incoming_internal_redirects": 0,
"number_of_outgoing_external_links": 10,
"number_of_outgoing_internal_links": 65,
"open_graph_description": "Get more visitors and increase conversions with Conductor Monitoring. Monitor your website and catch problems before search engines and visitors do. Try now!",
"open_graph_image": "https://www.conductor.com/wp-content/uploads/2017/12/%5B600x314%5D%20Facebook%20Open%20Graph%20-%20Conductor.png",
"open_graph_title": "Content Optimization and Monitoring service Conductor Monitoring",
"open_graph_type": "website",
"open_graph_url": "https://www.conductor.com/",
"relevance": 5.97,
"schema_org_number_of_types": 1,
"schema_org_types": [
"Website"
],
"segments": [
"18"
],
"status_code": 200,
"tag_managers": [
"google_tag_manager"
],
"time_document_download": 947,
"title": "Real-time SEO Auditing and Content Change Tracking - Conductor Monitoring",
"twitter_card": "summary_large_image",
"twitter_description": "Get more visitors and increase conversions with Conductor Monitoring. Catch problems before search engines and visitors do. Try it today!",
"twitter_image": "https://www.conductor.com/wp-content/uploads/2017/12/%5B600x314%5D%20Facebook%20Open%20Graph%20-%20Conductor.png",
"twitter_site": "@contentking",
"twitter_title": "Content Optimization service Conductor Monitoring",
"type": "page",
"url": "https://www.conductor.com/",
"url_depth": 0,
"visual_analytics_services": [
"mouseflow"
]
}
]
}{
"code": "invalid_payload",
"message": "Invalid data sent.",
"errors": [
{
"message": "Value is missing required fields",
"missing_fields": [
"page"
]
}
]
}{
"code": "auth_missing_token",
"message": "Authentication token must be passed in Authorization HTTP header.",
"errors": []
}{
"code": "terms_of_use_not_accepted",
"message": "Reporting API Terms of Use have not been accepted yet. Please accept Terms of Use in Account Settings.",
"errors": []
}{
"error": "Requested website ID was not found"
}{
"code": "auth_malformed",
"message": "Authorization HTTP header must conform to format described in docs.",
"errors": []
}{
"code": "rate_limit_exceeded",
"message": "Too many requests. Try again in a minute.",
"errors": []
}Reporting API v1.0 Reference
List pages for a website
deprecated
Legacy v1 equivalent of the v2 list pages endpoint.
GET
/
v1
/
websites
/
{website_id}
/
pages
/
list
List Pages for a Website
curl --request GET \
--url https://api.cm.conductor.com/v1/websites/{website_id}/pages/list \
--header 'Authorization: <api-key>'import requests
url = "https://api.cm.conductor.com/v1/websites/{website_id}/pages/list"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.cm.conductor.com/v1/websites/{website_id}/pages/list', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cm.conductor.com/v1/websites/{website_id}/pages/list",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cm.conductor.com/v1/websites/{website_id}/pages/list"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cm.conductor.com/v1/websites/{website_id}/pages/list")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cm.conductor.com/v1/websites/{website_id}/pages/list")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"total": 1,
"urls": [
{
"app_url": "https://app.cm.conductor.com/websites/1-2/pages/3",
"analytics_services": [
"google_analytics"
],
"canonical_type": "internal_self",
"custom_elements": {
"author": "Josie Walters",
"date_published": "12 August 2019"
},
"ga_average_time": 5.788,
"ga_bounce_rate": 48,
"ga_page_value": 0,
"ga_page_views": 248,
"ga_unique_page_views": 214,
"gsc_clicks": 3,
"gsc_ctr": 0.183,
"gsc_impressions": 1635,
"gsc_position": 41.021,
"health": 950,
"meta_description": "Conductor Monitoring keeps track of your website 24/7 so that you can catch unexpected changes and issues before search engines and visitors do. Try it today!",
"h1": "H1 page header",
"hreflang_language": "en",
"is_disallowed_in_robots_txt": false,
"is_indexable": true,
"is_indexable_due_to_meta_robots": true,
"is_indexable_due_to_x_robots_tag": null,
"is_in_sitemap": true,
"is_linked": true,
"link_amp": null,
"link_next": null,
"link_prev": null,
"mobile_variant": null,
"number_of_hreflangs": 6,
"number_of_incoming_internal_canonicals": 1,
"number_of_incoming_internal_links": 314,
"number_of_incoming_internal_redirects": 0,
"number_of_outgoing_external_links": 10,
"number_of_outgoing_internal_links": 65,
"open_graph_description": "Get more visitors and increase conversions with Conductor Monitoring. Monitor your website and catch problems before search engines and visitors do. Try now!",
"open_graph_image": "https://www.conductor.com/wp-content/uploads/2017/12/%5B600x314%5D%20Facebook%20Open%20Graph%20-%20Conductor.png",
"open_graph_title": "Content Optimization and Monitoring service Conductor Monitoring",
"open_graph_type": "website",
"open_graph_url": "https://www.conductor.com/",
"relevance": 5.97,
"schema_org_number_of_types": 1,
"schema_org_types": [
"Website"
],
"segments": [
"18"
],
"status_code": 200,
"tag_managers": [
"google_tag_manager"
],
"time_document_download": 947,
"title": "Real-time SEO Auditing and Content Change Tracking - Conductor Monitoring",
"twitter_card": "summary_large_image",
"twitter_description": "Get more visitors and increase conversions with Conductor Monitoring. Catch problems before search engines and visitors do. Try it today!",
"twitter_image": "https://www.conductor.com/wp-content/uploads/2017/12/%5B600x314%5D%20Facebook%20Open%20Graph%20-%20Conductor.png",
"twitter_site": "@contentking",
"twitter_title": "Content Optimization service Conductor Monitoring",
"type": "page",
"url": "https://www.conductor.com/",
"url_depth": 0,
"visual_analytics_services": [
"mouseflow"
]
}
]
}{
"code": "invalid_payload",
"message": "Invalid data sent.",
"errors": [
{
"message": "Value is missing required fields",
"missing_fields": [
"page"
]
}
]
}{
"code": "auth_missing_token",
"message": "Authentication token must be passed in Authorization HTTP header.",
"errors": []
}{
"code": "terms_of_use_not_accepted",
"message": "Reporting API Terms of Use have not been accepted yet. Please accept Terms of Use in Account Settings.",
"errors": []
}{
"error": "Requested website ID was not found"
}{
"code": "auth_malformed",
"message": "Authorization HTTP header must conform to format described in docs.",
"errors": []
}{
"code": "rate_limit_exceeded",
"message": "Too many requests. Try again in a minute.",
"errors": []
}The Reporting API v1.0 is unsupported. It receives no new endpoints or fields and will
be sunsetted. This reference is published only to help you migrate to the
Reporting API v2.0 — do not build new
integrations against it. See the
migration guide
for the v1 to v2 endpoint mapping.
Authorizations
Send your Reporting API token as Authorization: token {reporting_api_token} — the literal string token, a space, then the token itself. Find it in Conductor Monitoring under Account > Account tab > Integration Tokens.
Path Parameters
Query Parameters
Required. Omitting it returns 400 invalid_payload naming the missing field. Pagination control. Which page of results to return, numbered from 1. It selects a slice of the result set and is unrelated to the web pages the endpoint returns.
Required. Omitting it returns 400 invalid_payload naming the missing field. Pagination control. How many results to return per request, 1–1000. It counts result rows, not web pages on your site.
Available options:
asc, desc 