---
title: "List saved prospects"
method: GET
path: "/v1/finder/saved"
tags: ["RecruitAffiliates.ai"]
---

# List saved prospects

`GET /v1/finder/saved`

## Request

- Base URL: `https://api.affiliaterail.com`
- URL: `https://api.affiliaterail.com/v1/finder/saved`
- Auth: HTTP bearer

Saved's three views: `saved` (default), `deals` (saved with a deal) and `hidden` (ruled out, restorable).

**Scope:** `finder:read` (or `finder:write`)

## Query parameters

- `brand_id` string: Which brand. Defaults to the organization's oldest.
- `view` 'saved' | 'deals' | 'hidden': Default `saved`
- `channel` 'website' | 'youtube' | 'podcast' | 'instagram' | 'tiktok'
- `fit` 'strong' | 'good' | 'possible' | 'weak'
- `search` string: Matches a name, domain or handle
- `country` string
- `language` string
- `competitor` string: Only prospects whose content names this competitor
- `stage` 'saved' | 'contacting' | 'replied' | 'negotiating' | 'onboarding' | 'activated' | 'no_reply' | 'declined' | 'on_hold'
- `has_email` 'true' | 'false'
- `assignee` string: A user id, or `unassigned`
- `list_id` string: Prefixed id (`fls_…`)
- `sort` 'fit' | 'audience' | 'relevance' | 'published' | 'discovered': Default `fit`: best score first
- `limit` string: 1 to 100, default 25
- `cursor` string: `next_cursor` from the previous page, with the same filters

## Response `200`

Saved prospects

- FinderSavedProspectPage
  - `data` FinderProspect[], required
    - `id` string, required: Prefixed id (`fdi_…`)
    - `object` 'finder_prospect', required
    - `brand_id` string, required: Prefixed id (`fbr_…`)
    - `channel` 'website' | 'youtube' | 'podcast' | 'instagram' | 'tiktok', required
    - `source` string, required
    - `key` string, required: The domain, or the YouTube channel id
    - `name` string, required
    - `url` string, nullable, required
    - `country` string, nullable, required
    - `language` string, nullable, required
    - `score` integer, nullable, required: 0 to 100. Null on YouTube rows until the YouTube score is switched on.
    - `fit` 'strong' | 'good' | 'possible' | 'weak' | 'null', nullable, required
    - `fit_label` string, nullable, required
    - `metrics` FinderMetric[], required
      - `name` string, nullable, required
      - `value` number, nullable, required
      - `band` string, nullable, required
    - `evidence` FinderEvidence[], required
      - `url` string, nullable, required
      - `title` string, nullable, required
      - `content_type` string, nullable, required
      - `published_at` string, date-time, nullable, required: ISO-8601, UTC
      - `competitors_named` string[], required
      - `promotes_at` string, nullable, required
      - `rank_or_views` number, nullable, required
    - `is_new` boolean, required
    - `saved` boolean, required
    - `saved_at` string, date-time, nullable, required: ISO-8601, UTC
    - `hidden` boolean, required
    - `hidden_at` string, date-time, nullable, required: ISO-8601, UTC
    - `hide_reason` 'sells_own_product' | 'wrong_audience' | 'too_small' | 'too_big' | 'not_my_topic' | 'other' | 'null', nullable, required
    - `stage` 'saved' | 'contacting' | 'replied' | 'negotiating' | 'onboarding' | 'activated' | 'no_reply' | 'declined' | 'on_hold' | 'null', nullable, required
    - `assignee_user_id` string, nullable, required
    - `list_ids` string[], required
    - `tags` string[], required
    - `note` string, nullable, required
    - `email` string, nullable, required: Revealed address. Always null on a row marked do not contact.
    - `email_verification` string, nullable, required
    - `email_revealed_at` string, date-time, nullable, required: ISO-8601, UTC
    - `do_not_contact` object, nullable, required
      - `reason` string, required
      - `at` string, nullable, required
    - `deal` object, nullable, required
      - `id` string, required: Prefixed id (`fdl_…`)
      - `status` string, required
    - `follow_up_on` string, nullable, required: The follow-up date a teammate set, `YYYY-MM-DD`, or null. The card shows as due from the start of that day (UTC).
    - `last_seen_at` string, date-time, nullable, required: ISO-8601, UTC
    - `created_at` string, date-time, required: ISO-8601, UTC
    - `updated_at` string, date-time, required: ISO-8601, UTC
  - `has_more` boolean, required: True when `next_cursor` fetches more
  - `total_count` integer, required: Every object matching the filters, ignoring the cursor
  - `next_cursor` string, nullable, required: Pass as `cursor` with the same filters to get the next page. Null on the last page.

## Other responses

- `400`: Invalid request
- `401`: Missing or unknown API key
- `402`: The organization's Recruit Affiliates plan does not include the API
- `403`: Key lacks the required scope
- `404`: No such object in your organization
- `409`: In conflict with the object's state, or the same idempotent request is still running
- `422`: The request was understood and refused
- `429`: Rate limited, by key or by organization: see Retry-After and X-RateLimit-Scope
- `501`: Not available to a test key (`sandbox_no_send`)

---

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