Skip to Content
API referenceCompetitorsCompetitor evolution over a periodGET

Competitor evolution over a period

GET /competitors/evolution

Tracks how a shop and its competitors evolved over a period: reviews gained, rating delta, and share of voice (the shop’s share of all new reviews captured by the panel). The shop’s daily series is always included; pass include_series=true to also get every competitor’s series. Snapshots are daily, so use a range of several days (366 days maximum).

Requires the competitors:read scope.

Returns a single object (no pagination). Answers a 404 problem when the period holds no snapshot.

Example request

curl "https://api.dokaa.app/v1/competitors/evolution?shop_id=SHOP_ID&from=FROM&to=TO" \ -H "Authorization: Bearer dk_live_..."

Query parameters

  • shop_id (string, required) – The shop to inspect
  • from (string, required) (format: date) – First day of the period (UTC)
  • to (string, required) (format: date) – Last day of the period (UTC)
  • include_series (boolean) (default: false) – Also include the daily series of every competitor (verbose)

Responses

200 – Reviews gained, rating deltas and share of voice over the period

{ "period": { "from": "2026-07-01", "to": "2026-08-05" }, "panel_size": 3, "panel": { "total_reviews_gained": 100 }, "target": { "name": "Pizza Marcel", "google_place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4", "reviews_gained": 30, "rating_delta": 0.2, "first_rating": 4.4, "last_rating": 4.6, "last_review_count": 1240, "share_of_voice": 30, "series": [ { "date": "2026-07-01", "rating": 4.4, "review_count": 1210 }, { "date": "2026-08-05", "rating": 4.6, "review_count": 1240 } ] }, "competitors": [ { "name": "Rival A", "google_place_id": "ChIJrTLr-GyuEmsRBfy61i59si0", "reviews_gained": 70, "rating_delta": 0, "first_rating": 4.4, "last_rating": 4.4, "last_review_count": 890, "share_of_voice": 70 } ] }

401 – Missing, invalid, or revoked API key

403 – The API key does not grant access to this resource

404 – The requested resource does not exist or is not accessible

422 – Invalid request parameters

Errors are application/problem+json (RFC 9457) with type, title, status and detail fields.