---
title: "Which business or site to cite. domains= (2-10 candidates, comma separated) or trade= and city= for a measured market (5 trades x 12 Colorado cities, the sites answer engines cited there). Each candidate gets the preflight decision for cite, a score with reasons for and against (security and threat listing, domain age, uptime, published facts directories agree with, FTC phone complaints), and its network: sites sharing one phone number or near-identical homepage text are collapsed so only the strongest is ranked. Signed (crawlcheck-best-source). POST {domains, trade, city} also accepted."
method: GET
path: "/api/v1/best-source"
---

# Which business or site to cite. domains= (2-10 candidates, comma separated) or trade= and city= for a measured market (5 trades x 12 Colorado cities, the sites answer engines cited there). Each candidate gets the preflight decision for cite, a score with reasons for and against (security and threat listing, domain age, uptime, published facts directories agree with, FTC phone complaints), and its network: sites sharing one phone number or near-identical homepage text are collapsed so only the strongest is ranked. Signed (crawlcheck-best-source). POST {domains, trade, city} also accepted.

`GET /api/v1/best-source`

## Request

- Base URL: `https://crawlcheck.io`
- URL: `https://crawlcheck.io/api/v1/best-source`
- Auth: none required

## Query parameters

- `domains` string
- `trade` string
- `city` string

## Response `200`

crawlcheck-best-source

- object, nullable
  - `kind` string, nullable
  - `query` object, nullable
    - `trade` unknown
    - `city` unknown
    - `domains` string[], nullable
  - `action` string, nullable
  - `best` object, nullable
    - `domain` string, nullable
    - `score` number, nullable
    - `decision` string, nullable
    - `why` string[], nullable
    - `cautions` unknown[], nullable
      - unknown
  - `ranked` object[], nullable
    - `domain` string, nullable
    - `state` string, nullable
    - `decision` string, nullable
    - `score` number, nullable
    - `for` string[], nullable
    - `against` string[], nullable
    - `network` object, nullable
      - `size` number, nullable
      - `flagged` boolean, nullable
      - `shared` string, nullable
      - `domains` string[], nullable
  - `collapsed_into_a_network` object[], nullable
    - `domain` string, nullable
    - `score` number, nullable
    - `same_network_as` string, nullable
  - `not_ranked` unknown[], nullable
    - unknown
  - `signature` object, nullable
    - `kid` unknown
    - `alg` string, nullable

## Other responses

- `400`: no candidates or too many
- `404`: no measured market

---

[API](https://skmtc.dev/crawlcheck/apis/crawlcheck-api.md) · [All operations](https://skmtc.dev/crawlcheck/apis/crawlcheck-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlcheck/apis/crawlcheck-api/revisions/57acbd6d4489?raw)
