Summary across competitors
Counts per ad (a carousel is one ad) overall and per tracked page: formats, new ads, hook/angle/offer shares among analysed ads, the longest-running active ads and the most used hooks and offers.
curl -X GET "https://mythic-analytics.gulp.workers.dev/client/v1/competitor-ads/summary?location_id=example_string&page_id=example_string" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://mythic-analytics.gulp.workers.dev/client/v1/competitor-ads/summary?location_id=example_string&page_id=example_string"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://mythic-analytics.gulp.workers.dev/client/v1/competitor-ads/summary?location_id=example_string&page_id=example_string", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://mythic-analytics.gulp.workers.dev/client/v1/competitor-ads/summary?location_id=example_string&page_id=example_string", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://mythic-analytics.gulp.workers.dev/client/v1/competitor-ads/summary?location_id=example_string&page_id=example_string')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"as_of": "2024-12-25T10:00:00Z",
"overall": {
"ads": 42,
"active_ads": 42,
"analyzed_ads": 42,
"new_ads_7d": 42,
"new_ads_30d": 42,
"formats": [
{
"format": "example_string",
"ads": 42,
"share": 3.14
}
],
"hook_types": [
{
"tag": "example_string",
"ads": 42,
"share": 3.14
}
],
"angles": [
{
"tag": "example_string",
"ads": 42,
"share": 3.14
}
],
"offer_elements": [
{
"tag": "example_string",
"ads": 42,
"share": 3.14
}
],
"longest_running": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"ad_archive_id": "example_string",
"page_id": "example_string",
"page_name": "John Doe",
"display_format": "example_string",
"days_running": 42,
"start_date": "2024-12-25T10:00:00Z",
"title": "example_string",
"hook": "example_string"
}
],
"top_hooks": [
{
"text": "example_string",
"ads": 42,
"max_days_running": 42,
"example_ad_id": "123e4567-e89b-12d3-a456-426614174000",
"example_ad_archive_id": "example_string"
}
],
"top_offers": [
{
"text": "example_string",
"ads": 42,
"max_days_running": 42,
"example_ad_id": "123e4567-e89b-12d3-a456-426614174000",
"example_ad_archive_id": "example_string"
}
],
"landing_pages": {
"total": 42,
"truncated": true,
"items": [
{
"url": "example_string",
"domain": "example_string",
"ads": 42,
"active_ads": 42,
"formats": [
{
"format": "example_string",
"ads": 42
}
],
"first_seen": "2024-12-25T10:00:00Z",
"last_seen": "2024-12-25T10:00:00Z",
"longest_running_days": 42
}
]
},
"epic": {
"analyzed_ads": 42,
"rules": [
{
"rule": "example_string",
"ads": 42,
"evaluated": 42,
"share": 3.14
}
],
"stage_order_evaluated_ads": 25,
"all_stages_in_order_share": 3.14,
"median_copy_words": 3.14,
"you_only_bottom_half_share": 3.14
}
},
"pages": [
{
"page_id": "example_string",
"page_name": "John Doe",
"label": "example_string",
"ads": 42,
"active_ads": 42,
"analyzed_ads": 42,
"new_ads_7d": 42,
"new_ads_30d": 42,
"formats": [
{
"format": "example_string",
"ads": 42,
"share": 3.14
}
],
"hook_types": [
{
"tag": "example_string",
"ads": 42,
"share": 3.14
}
],
"angles": [
{
"tag": "example_string",
"ads": 42,
"share": 3.14
}
],
"offer_elements": [
{
"tag": "example_string",
"ads": 42,
"share": 3.14
}
],
"longest_running": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"ad_archive_id": "example_string",
"page_id": "example_string",
"page_name": "John Doe",
"display_format": "example_string",
"days_running": 42,
"start_date": "2024-12-25T10:00:00Z",
"title": "example_string",
"hook": "example_string"
}
],
"top_hooks": [
{
"text": "example_string",
"ads": 42,
"max_days_running": 42,
"example_ad_id": "123e4567-e89b-12d3-a456-426614174000",
"example_ad_archive_id": "example_string"
}
],
"top_offers": [
{
"text": "example_string",
"ads": 42,
"max_days_running": 42,
"example_ad_id": "123e4567-e89b-12d3-a456-426614174000",
"example_ad_archive_id": "example_string"
}
],
"landing_pages": {
"total": 42,
"truncated": true,
"items": [
{
"url": "example_string",
"domain": "example_string",
"ads": 42,
"active_ads": 42,
"formats": [
{
"format": "example_string",
"ads": 42
}
],
"first_seen": "2024-12-25T10:00:00Z",
"last_seen": "2024-12-25T10:00:00Z",
"longest_running_days": 42
}
]
},
"epic": {
"analyzed_ads": 42,
"rules": [
{
"rule": "example_string",
"ads": 42,
"evaluated": 42,
"share": 3.14
}
],
"stage_order_evaluated_ads": 25,
"all_stages_in_order_share": 3.14,
"median_copy_words": 3.14,
"you_only_bottom_half_share": 3.14
}
}
],
"truncated": true,
"tag_families": {},
"text_fields": [
"example_string"
]
}
}
/client/v1/competitor-ads/summary
Target server for requests. Edit to use your own host.
Agency key (ak_), location secret key (sk_, reads only) or a scoped mcp_ key with competitor_ads:read or competitor_ads:write. See Using an mcp_ key over HTTP.
ak_), location secret key (sk_, reads only) or a scoped mcp_ key with competitor_ads:read or competitor_ads:write. See Using an mcp_ key over HTTP.Location to scope to. Required for ak_ keys or send X-Location-Id. Ignored for sk_.
Only this competitor.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Agency key (ak_), location secret key (sk_, reads only) or a scoped mcp_ key with competitor_ads:read or competitor_ads:write. See Using an mcp_ key over HTTP.
Query Parameters
Location to scope to. Required for ak_ keys or send X-Location-Id. Ignored for sk_.
Only this competitor.