curl --request GET \
--url https://api.1club.ai/v1/platform/competitors/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.1club.ai/v1/platform/competitors/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.1club.ai/v1/platform/competitors/{id}', 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.1club.ai/v1/platform/competitors/{id}",
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: Bearer <token>"
],
]);
$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.1club.ai/v1/platform/competitors/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.1club.ai/v1/platform/competitors/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.1club.ai/v1/platform/competitors/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 123,
"name": "<string>",
"website": "<string>",
"googlePlaceId": "<string>",
"logoUrl": "<string>",
"clubId": 123,
"notes": "<string>",
"lastCheckedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"google": {
"rating": 123,
"ratingCount": 123
},
"latestChanges": [
{
"kind": "price_changed",
"name": "<string>",
"before": "<string>",
"after": "<string>"
}
],
"snapshots": [
{
"capturedAt": "2023-11-07T05:31:56Z",
"sourceUrls": [
"<string>"
],
"facts": {
"prices": [
{
"name": "<string>",
"price": "<string>",
"period": "<string>",
"kind": "membership",
"amount": 123,
"currency": "<string>",
"sport": "<string>",
"concession": true,
"source": "<string>"
}
],
"offers": [
"<string>"
],
"services": [
"<string>"
]
},
"changes": [
{
"kind": "price_changed",
"name": "<string>",
"before": "<string>",
"after": "<string>"
}
]
}
]
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}Get a competitor
One competitor with its latest readings of its website, newest first: the prices, offers and services each found, the pages it read them from, and what changed since the reading before. Requires competitors:read.
curl --request GET \
--url https://api.1club.ai/v1/platform/competitors/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.1club.ai/v1/platform/competitors/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.1club.ai/v1/platform/competitors/{id}', 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.1club.ai/v1/platform/competitors/{id}",
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: Bearer <token>"
],
]);
$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.1club.ai/v1/platform/competitors/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.1club.ai/v1/platform/competitors/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.1club.ai/v1/platform/competitors/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 123,
"name": "<string>",
"website": "<string>",
"googlePlaceId": "<string>",
"logoUrl": "<string>",
"clubId": 123,
"notes": "<string>",
"lastCheckedAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z",
"google": {
"rating": 123,
"ratingCount": 123
},
"latestChanges": [
{
"kind": "price_changed",
"name": "<string>",
"before": "<string>",
"after": "<string>"
}
],
"snapshots": [
{
"capturedAt": "2023-11-07T05:31:56Z",
"sourceUrls": [
"<string>"
],
"facts": {
"prices": [
{
"name": "<string>",
"price": "<string>",
"period": "<string>",
"kind": "membership",
"amount": 123,
"currency": "<string>",
"sport": "<string>",
"concession": true,
"source": "<string>"
}
],
"offers": [
"<string>"
],
"services": [
"<string>"
]
},
"changes": [
{
"kind": "price_changed",
"name": "<string>",
"before": "<string>",
"after": "<string>"
}
]
}
]
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}Authorizations
Organization-scoped bearer credential: a customer API key (1club_sk_live_...) or an MCP OAuth access token.
Path Parameters
Competitor id
Response
The competitor
The website the weekly watch reads
Their logo, as the last reading of their website found it
The organization's club it competes with; null for all of them
When their website was last read; null until the first reading lands (about a minute after adding)
The club's Google rating, read live and cached for a day at most. Null when it has no Google place or Google did not answer.
Show child attributes
Show child attributes
What the latest reading found changed on their website
Show child attributes
Show child attributes
The latest readings of their website, newest first (at most 12)
Show child attributes
Show child attributes
Was this page helpful?