---
title: "Discover competitors by keywords"
method: POST
path: "/api/agent/competitors/discover"
tags: ["Competitors"]
---

# Discover competitors by keywords

`POST /api/agent/competitors/discover`

## Request body

- CompetitorDiscoverRequest
  - `keywords` string[], required

## Response `200`

Competitors discovered

- CompetitorDiscoverResponse
  - `keywords` string[], required
  - `competitors_found` integer, required
  - `competitors` CompetitorItem[], required
    - `domain` string, required
    - `source_mode` 'dataforseo_metrics' | 'live_google_serp' | 'similarity'
    - `visibility` number
    - `keywords_count` integer
    - `avg_position` number
    - `etv` number
    - `evidence` object
      - `queries_matched` integer, required
      - `best_position` number, required
      - `example_urls` string[], required
  - `credits_used` integer, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `402` — Insufficient credits
- `429` — Rate limit exceeded
- `500` — Internal server error

## Changes

> 28 revisions in range; 1 could not be searched.

- **2026-03-01** `2df2182b5901` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/citedy/apis/citedy-agent-api/changes/api/agent/competitors/discover/post.md)

---

[API](https://skmtc.dev/citedy/apis/citedy-agent-api.md) · [All operations](https://skmtc.dev/citedy/apis/citedy-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/citedy/citedy-agent-api/revisions/b5785d3fe446/schema)
