CopyHero

Competitor Trends Graph

GET
/api/v1/product-research/competitor-trends

Competitor publish rate for keyword over the same last-90-days window as /trends — 13 weekly buckets of how many semantically matching products the caller's SUBSCRIBED watched stores listed. Aggregates only (no product ids); no subscription → an all-zero response, never an error.

Authorization

HTTPBearer
headerAuthorizationBearer <token>

Query Parameters

keyword*Keyword

Search keyword.

Length1 <= length
band?Band

Relevance band: cosine-distance width past the best hit that still counts as a match for the weekly trend counts.

Range0.01 <= value <= 0.15
Default0.06
store_tags?array<>|

Only stores the viewer tagged with any of these tags (OR within the list, AND against every other filter). Narrows within the subscription gate; never widens it — tags matching no subscribed store yield an EMPTY result, never an unfiltered one.

Response Body

Successful Response

application/json
  1. response

GET /product-research/competitor-trends — how fast the competitor corpus is publishing products semantically close to one keyword.

Aggregates ONLY: no internal_product_id ever leaves this router (the universe router stays the single deliberate internal-id endpoint). Scoped to the caller's live watched-store subscriptions — no subscription, no data.

Every number is bounded to the chart's 13-week window (the former all-time total_matches/total_stores forced an O(corpus) scan and were REMOVED, not deprecated) and EXACT — a request whose numbers cannot be computed exactly fails with a 503 rather than answering approximately.

keyword*Keyword
corpus_size?Corpus Size
Default0
match_distance?number|null
points?array<>
Example Request
curl -X GET 'https://app.copyhero.app/api/v1/product-research/competitor-trends?keyword=string'
Example Response
{  "keyword": "string",  "corpus_size": 0,  "match_distance": 0,  "points": [    {      "date_from": "string",      "date_to": "string",      "timestamp": 0,      "products": 0,      "stores": 0    }  ]}