---
name: privsource-buyer-lists
description: Use when an agent creates, reviews, generates, monitors, analyzes, refines, or enriches PrivSource buyer lists through MCP or the REST API.
---

# PrivSource Buyer Lists

A buyer list is a seller-side workflow that finds potential acquirers for a company being acquired.

## Critical Meaning

Buyer-list criteria describe the acquisition target company/business being sold.

Do not treat `sector`, `subsector`, `size_band`, `geography`, `business_model`, `end_markets`, `customer_type`, revenue, EBITDA, or size as criteria for potential acquirers. For example, `$10M-$25M revenue` means the target company has that revenue range, not that buyers must have that revenue range.

## MCP Workflow

1. Call `create_buyer_list` with a description of the target company being acquired. If the user already has buyers from a prior process, pass them as `existing_buyers` (see the privsource-expand-buyer-list skill) — they guide the search and are excluded from results.
2. Poll `get_buyer_list_current_version` until status is `needs_review`.
3. Review criteria. If needed, call `update_buyer_list_criteria`.
4. Call `generate_buyer_list` after required criteria are present.
5. While status is `processing`, call `get_buyer_list_current_version` for counts and `get_buyer_list_results` for completed rows. Do not wait for the full build before starting analysis.
6. Continue polling until status is `ready` for the final result set.
7. Use `update_buyer_list_result_feedback` to mark rows `positive`, `negative`, or `none`.
8. Use `refine_buyer_list` on a completed version when feedback and instructions should produce a new version.
9. Use `request_buyer_list_contact_info` only after the buyer list is ready.

## Statuses

- `analyzing`: target-company criteria are being extracted.
- `needs_review`: criteria can be reviewed and edited.
- `processing`: buyer rows are being generated. Completed rows may already be readable.
- `ready`: generation is complete.
- `processing_contacts`: contact enrichment is running.
- `ready_with_contacts`: contact enrichment is complete.
- `errored` or `canceled`: report the state and error if present.

## Refinement

Before refining, collect feedback on rows. Positive-rated rows are carried forward; refinement instructions should describe what to change in the next version.

Good refinement examples:

- `More PE-backed platforms with existing Texas operations.`
- `Exclude public strategics; focus on founder-owned regional operators.`
- `Keep positives and add more healthcare-focused strategics.`

## Contact Info

`request_buyer_list_contact_info` can consume credits. Phone lookups cost additional credits. `scope` defaults to `all`; use `positive` to enrich only positive-rated rows.

## Exports

Call `get_buyer_list_export` with the list `id` and optional `version_number`.
The response returns the file directly in `export.content`. No browser sign-in is needed.
If `encoding` is `base64`, decode `content` to bytes. If it is `utf-8`, use the text directly.
Save the result using `filename` and `content_type`, or analyze the CSV text in the agent.
Check `ready` first. Unavailable exports return `unavailable_reason` without file content.
The XLSX includes the dashboard columns and available contacts. Sample lists cannot be exported.
`dashboard_url` is optional context. It is not required to get the file.
