---
title: "Backlink profile of a target's domain"
method: GET
path: "/v1/targets/profile"
tags: ["Research"]
---

# Backlink profile of a target's domain

`GET /v1/targets/profile`

## Request

- Base URL: `https://api.placementapi.com`
- URL: `https://api.placementapi.com/v1/targets/profile`
- Auth: HTTP bearer

From DataForSEO: referring_domains, backlinks, backlinks_rank, spam_score, rank_bands (each referring domain's own rank, 0-1000), dr_bands (claimed DR, carried domains only), topics, anchor_mix (pass brand and keyword so exact/partial are told from topical), velocity_12m, top_referring[], carried, carried_share. Two scales, never merged. Cached 7 days; 20 fresh fetches per customer per day, cached reads unlimited.

## Query parameters

- `url` string, required
- `brand` string
- `keyword` string

## Response `200`

OK

- object
  - `target_url` string
  - `target_domain` string
  - `fetched_at` string
  - `cached` boolean
  - `referring_domains` integer, nullable
  - `referring_main_domains` integer, nullable
  - `backlinks` integer, nullable
  - `backlinks_rank` integer, nullable
  - `spam_score` number, nullable
  - `first_seen` string, nullable
  - `referring_fetched` integer
  - `rank_bands` object
  - `rank_bands_basis` string
  - `dr_bands` object
  - `dr_bands_basis` string
  - `topics` object[]
  - `anchor_mix` object
  - `anchors_classified` integer
  - `velocity_12m` object[]
  - `top_referring` object[]
    - `domain` string
    - `rank` integer, nullable
    - `link_rank` integer, nullable
    - `first_seen` string, nullable
    - `nofollow_share` number, nullable
    - `carried` boolean
  - `carried` integer
  - `carried_share` number
  - `cache` object
  - `note` string

## Other responses

- `400`: Malformed request. `error` is `bad_request` (with a zod `detail`), `invalid_json`, or `unknown_parameter` / `unknown_field` (with `unknown[]` and `accepted[]`).
- `401`: Missing, malformed or revoked Bearer credential: `{ error: "unauthorized" }`.
- `429`: `profile_budget_exhausted`: 20 new backlink profiles per day.
- `503`: `server_misconfigured` when the store is not configured; `upstream_unfunded` when the measurement provider's prepaid balance is exhausted (fresh profiles, gap maps and SERPs pause; cached results and catalogue are unaffected); `upstream_unavailable` on a provider error; `payments_unavailable` when card payments are not configured.

---

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