Summary
What the client runs, overall and per ad account, in the same shape as the competitor ads summary (overall has the same fields), counted per ad. Days running counts from the ad's creation.
curl -X GET "https://mythic-analytics.gulp.workers.dev/client/v1/creatives/summary?location_id=example_string&account_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/creatives/summary?location_id=example_string&account_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/creatives/summary?location_id=example_string&account_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/creatives/summary?location_id=example_string&account_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/creatives/summary?location_id=example_string&account_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"
}
],
"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
}
},
"accounts": [
{
"account_id": "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"
}
],
"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"
]
}
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Error",
"message": "Error. The code names the cause, e.g. `feature_not_in_plan`, `agency_required`, `not_found`, `sync_throttled`, `sync_in_progress`, `no_meta_source`, `pipeline_disabled`.",
"code": 402
}
/client/v1/creatives/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 creative_analysis:read or creative_analysis:write. See Using an mcp_ key over HTTP.
ak_), location secret key (sk_, reads only) or a scoped mcp_ key with creative_analysis:read or creative_analysis:write. See Using an mcp_ key over HTTP.Location to scope to. Required for ak_ keys or send X-Location-Id. Ignored for sk_.
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 creative_analysis:read or creative_analysis: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_.