---
title: "Replaces the pinned competitor list for a business so Scope stops inventing names. Optional websites persist as competitor_website; include a path (e.g. jobber.com/receptionist) to pin a product page without matching every mention on the parent domain. Free. Requires business:write."
method: POST
path: "/pin_competitors"
tags: ["action"]
---

# Replaces the pinned competitor list for a business so Scope stops inventing names. Optional websites persist as competitor_website; include a path (e.g. jobber.com/receptionist) to pin a product page without matching every mention on the parent domain. Free. Requires business:write.

`POST /pin_competitors`

## Request

- Base URL: `https://scope.online/v1`
- URL: `https://scope.online/v1/pin_competitors`
- Auth: HTTP bearer

## Request body

- object
  - `business_id` string, uuid, required: Owned Scope business ID
  - `names` string[], required: Competitor names to pin
  - `websites` string[]: Optional websites aligned with names

## Response `200`

Tool payload. `meta` holds tldr, next[], pagination cursors, and request_id.

## Other responses

- `400`: Invalid request.
- `401`: Missing or invalid API key.
- `402`: Quota or over-committed.
- `403`: Missing scope or Growth required.
- `404`: Unknown tool or resource.
- `405`: Wrong HTTP method for this tool.
- `429`: Rate limited (10 action calls / 60s per key; reads are higher).
- `503`: Temporary infrastructure limit — retry with retry_after.

---

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