API and MCP docs.
Your Projects and Dealport's records, over REST and in Claude or any MCP client. Projects are free to read; records are charged in credits.
- REST base URL
- https://app.dealport.com/api/v1
- MCP connector
- https://app.dealport.com/api/mcp
- Authentication
- Authorization: Bearer dp_live_…
On this page
Getting started
- 1Sign up at
app.dealport.com/start. It creates your Data plan workspace and opens Find companies. - 2Buy credits by card in Settings → Billing and usage.
- 3Create a key in Settings → API and MCP. It is shown once, when it is created.
- 4Make a request.
curl -G https://app.dealport.com/api/v1/companies \
-d state=IL \
-d care_type=home_health \
-d limit=1 \
-H "Authorization: Bearer dp_live_…"Authentication
Every request sends your key as a bearer token: Authorization: Bearer dp_live_…. Keep keys out of code you share, and revoke a key in Settings → API and MCP if it may have leaked.
A key acts for the workspace it was made in. It reads Dealport's records and that workspace's own Projects.
Credits and limits
Calls to Dealport's records are charged in credits from your balance, and each response says what it charged. Buy credits in packs in the app; they don't expire.
Searching in the app is free. Anything you read in the last 30 days is free to read again.
| Call | Charge |
|---|---|
| Search companies | Charge:1 credit per company returned |
| Search NYC buildings | Charge:1 credit per building returned |
| Get a record | Charge:1 credit |
| Find an owner's contact | Charge:25 credits, only when a phone or email is found |
| Research a company | Charge:50 credits; the same company again within 30 days is free |
| Projects and leads, get research, balance | Charge:Free |
Errors
| Status | Meaning |
|---|---|
| 401 | Meaning:The key is missing or revoked. |
| 400 bad_request | Meaning:Explains what is wrong with the request. |
| 402 insufficient_credits | Meaning:Not enough credits; includes balance and needed. |
| 404 not_found | Meaning:The key's workspace has no Project with that id. |
| 422 search_too_broad | Meaning:Add an industry, or a narrower revenue or headcount range. |
Your Projects
GET/api/v1/projects
Charge: Free
The key's workspace's own Projects. Each has its Solution and status, how many records it has looked at, how many qualified, disqualified and awaiting_review, when it last ran, and a link to it in the app.
curl https://app.dealport.com/api/v1/projects \
-H "Authorization: Bearer dp_live_…"{
"data": [{
"project_id": "3f6a2d18-7c4e-4b09-8e15-6d2a9c0b7f41",
"name": "Illinois",
"goal": "Owner-operated companies to approach this year",
"solution": "Midwest mandate",
"status": "13 to review",
"records": 412, "qualified": 38, "disqualified": 361, "awaiting_review": 13,
"last_run": "2026-09-28T14:02:11.000Z",
"link": "https://app.dealport.com/projects/3f6a2d18-7c4e-4b09-8e15-6d2a9c0b7f41?workspace=…"
}]
}A Project's leads
GET/api/v1/projects/{project_id}/leads
Charge: Free
A Project's leads ranked best first, as its Results tab ranks them. Each has its tier and score, its key answers in facts (who, phone, email, licence), its checks, and a link to it in the app.
Each check is a rule's label after how the lead did: Meets:, Not:, Unknown:, Flagged:, Bonus:, Needs review: or Fails:.
Get a record with the record_id for the company in full.
| Parameter | What it does |
|---|---|
| show | What it does:qualified (the default), review for those awaiting review, or all. |
| limit, offset | What it does:Page size, 1 to 100 (25 by default), and how many leads to skip. |
curl -G \
https://app.dealport.com/api/v1/projects/3f6a2d18-7c4e-4b09-8e15-6d2a9c0b7f41/leads \
-d limit=10 \
-H "Authorization: Bearer dp_live_…"{
"data": {
"project": { "project_id": "3f6a2d18-7c4e-4b09-8e15-6d2a9c0b7f41", "name": "Illinois",
"solution": "Midwest mandate", "qualified": 38, "awaiting_review": 13,
"records": 412, "link": "…" },
"showing": "qualified", "total": 38, "offset": 0,
"leads": [{
"rank": 1,
"name": "LAKESIDE HOME HEALTH, LLC",
"record_id": "8c1e0f4a-3b7d-4e52-9a61-2f0d7c9b5e13",
"status": "qualified",
"tier": "A", "score": 91,
"facts": { "Owner": "CAROL MENDES, Owner", "Owner phone": "+16305550142",
"Owner email": "c.mendes@example.com" },
"checks": ["Meets: Owner-operated", "Meets: Founded before 2000",
"Unknown: Headcount 20 to 100"],
"link": "https://app.dealport.com/projects/…/runs/…?workspace=…"
}, …]
}
}Search companies
GET/api/v1/companies
Charge: 1 credit per company returned
A search needs a state or a name prefix (q). Pages hold up to 50; pass next_cursor as cursor to read the next.
| Parameter | What it does |
|---|---|
| state | What it does:Two-letter state code, such as IL. |
| q | What it does:How the company's name starts. |
| naics | What it does:Comma-separated. Six digits match exactly; fewer match every code that starts with them, such as 6216. |
| min_revenue, max_revenue | What it does:Dollars; 1M and 250k also work. revenue=filed keeps only filed revenue. |
| min_employees, max_employees | What it does:Headcount range. |
| care_type | What it does:Healthcare organizations by NPI registration: home_care, home_health, hospice, nursing_home, assisted_living, behavioral_health, hospital, clinic, physician_practice, dental, therapy, pharmacy, laboratory, medical_equipment, ambulance, other. |
| licensed, medicare, owner_operated | What it does:true keeps organizations with an active state health license, enrolled in Medicare, or a Medicare agency its owners run. |
| owner_contact | What it does:true keeps companies with an owner's phone or email on file. |
| limit, cursor | What it does:Page size, at most 50, and the next_cursor from the last page. |
curl -G https://app.dealport.com/api/v1/companies \
-d state=IL \
-d care_type=home_health \
-d min_revenue=5M \
-d limit=1 \
-H "Authorization: Bearer dp_live_…"{
"data": [{
"id": "8c1e0f4a-3b7d-4e52-9a61-2f0d7c9b5e13",
"name": "LAKESIDE HOME HEALTH, LLC",
"city": "Naperville", "state": "IL", "zip": "60540",
"naics": ["621610"], "industry": ["home_health"],
"phone": "+16305550142", "website": null,
"revenue": { "value": 8200000, "low": 6000000, "high": 11000000, "basis": "estimate" },
"employees": { "value": null, "low": null, "high": null, "basis": null },
"owner": { "name": "CAROL MENDES", "role": "officer" },
"sources": 3
}],
"next_cursor": "1",
"credits_charged": 1
}Get a record
GET/api/v1/records/{id}
Charge: 1 credit
The full record for a company id, or for a building by its 10-digit NYC BBL. Every fact carries its basis (filed, observed or estimate) and its source.
Fields: id, kind, name, summary, address, naics, industry (building for a building), website, phone, facts, details, people, identifiers and sources.
curl https://app.dealport.com/api/v1/records/8c1e0f4a-3b7d-4e52-9a61-2f0d7c9b5e13 \
-H "Authorization: Bearer dp_live_…"{
"id": "8c1e0f4a-3b7d-4e52-9a61-2f0d7c9b5e13",
"kind": "company",
"name": "LAKESIDE HOME HEALTH, LLC",
"facts": [
{ "kind": "revenue", "value": 8200000, "low": 6000000, "high": 11000000,
"as_of": "…", "basis": "estimate",
"source": { "name": "Dealport estimate", "detail": "…", "url": null } },
…
],
"people": [
{ "name": "CAROL MENDES", "role": "administrator", "owner": true,
"phone": null, "email": null, "sources": [1] }
],
"identifiers": [{ "type": "npi", "values": ["…"] }],
"sources": [{ "name": "…", "url": "…", "used_for": ["…"], "latest": "…" }]
}Search NYC buildings
GET/api/v1/buildings
Charge: 1 credit per building returned
Each building's BBL, address, owner of record, units, class, year built, rent-stabilized units and its current loan. A loan's due year is an estimate from its date and holder.
Get a record with the bbl for the building in full.
| Parameter | What it does |
|---|---|
| borough | What it does:Required: MN, BK, QN, BX or SI. |
| min_units | What it does:10 by default. |
| q | What it does:Part of the address or the owner's name. |
| loan_due_by | What it does:A year: buildings whose current loan likely comes due by then, soonest first. |
| loan_holder | What it does:agency (Fannie Mae or Freddie Mac), cmbs or bank. |
| signal | What it does:rent_stabilized, dob_penalties, housing_court, tax_lien or ll97. |
| limit, cursor | What it does:Page size and the next_cursor from the last page. |
curl -G https://app.dealport.com/api/v1/buildings \
-d borough=BK \
-d min_units=20 \
-d loan_due_by=2027 \
-H "Authorization: Bearer dp_live_…"{
"data": [{
"bbl": "3…", "address": "…, Brooklyn", "owner": "… LLC",
"units": 48, "class": "…", "year_built": 1931, "rent_stabilized_units": 36,
"loan": { "holder_type": "bank", "estimated_due_year": 2027 }
}],
"next_cursor": "…",
"credits_charged": 1
}Find an owner's contact
POST/api/v1/contacts
Charge: 25 credits, only when a phone or email is found
Looks up the owner Dealport's records name, or the person you pass. A contact is confirmed by name and place or employer, and phones on the Do Not Call list are withheld. It can take up to two minutes.
curl -X POST https://app.dealport.com/api/v1/contacts \
-H "Authorization: Bearer dp_live_…" \
-H "Content-Type: application/json" \
-d '{"company_id": "8c1e0f4a-3b7d-4e52-9a61-2f0d7c9b5e13"}'{
"company": "LAKESIDE HOME HEALTH, LLC",
"person": "CAROL MENDES",
"phone": "+16305550142",
"email": "c.mendes@example.com",
"sources": [ … ],
"credits_charged": 25,
"note": "…"
}Research a company
POST/api/v1/research
Charge: 50 credits; the same company within 30 days returns that research, free
Starts from Dealport's record, researches public sources for what's missing, then finds the owner's direct phone and email. It returns at once with a research_id; a research takes a few minutes.
Read it with GET /api/v1/research/{research_id}, which is free. status is running, done or failed. fields holds description, founded, headcount, revenue, ownership, owners, owner_phone, owner_email, website, location and legal_name, each with a label, a status (found, estimated or unknown), a value and its sources.
curl -X POST https://app.dealport.com/api/v1/research \
-H "Authorization: Bearer dp_live_…" \
-H "Content-Type: application/json" \
-d '{"company_id": "8c1e0f4a-3b7d-4e52-9a61-2f0d7c9b5e13"}'{ "research_id": "…", "status": "running" }
GET /api/v1/research/{research_id}
{
"research_id": "…",
"company": "LAKESIDE HOME HEALTH, LLC",
"status": "done",
"fields": {
"ownership": { "label": "Ownership", "status": "found",
"value": "Owner-operated", "sources": [1, 2] },
"revenue": { "label": "Revenue", "status": "estimated",
"value": "…", "sources": [3] },
…
},
"sources": [{ "n": 1, "url": "…", "title": "…" }, …]
}Balance
GET/api/v1/balance
Charge: Free
Your credits, what you've used, and the rates. billing is prepaid on the Data plan and contract on Enterprise.
curl https://app.dealport.com/api/v1/balance \
-H "Authorization: Bearer dp_live_…"{ "data": { "billing": "prepaid", "credits": …, "used": …, "rates": { … } } }The MCP connector
The connector is at https://app.dealport.com/api/mcp, over streamable HTTP. Claude and Claude Code connect by signing in with your Dealport account. An assistant that can't sign in sends an API key instead, as Authorization: Bearer dp_live_… or as https://app.dealport.com/api/mcp?key=KEY.
A connection uses only the workspace chosen when you sign in. To use another, connect again and choose it. The optional workspace field is only for a sign-in that didn't choose one.
Your Projects are free to read. Searching Dealport's records is for workspaces on credits, and is charged like the API.
| Tool | What it does |
|---|---|
| list_projects | What it does:Your Projects, with how many qualified and how many await review. Free. |
| project_leads | What it does:A Project's leads ranked best first, each with its tier, score, key answers and checks. The same show, limit and offset as the API; limit is 10 by default. Free. |
| search_companies | What it does:The same filters as Search companies. |
| search_buildings | What it does:NYC buildings, with the same filters as Search NYC buildings. |
| get_record | What it does:A company or building in full. |
| find_contact | What it does:An owner's phone and email. |
| research_company, get_research | What it does:Start a research, then read it. |
| account_balance | What it does:Your credits. Free. |
Connect Claude
- 1In Claude, open Settings → Connectors and choose Add custom connector.
- 2Name it Dealport, with the URL
https://app.dealport.com/api/mcp, and add it. - 3Choose Connect and sign in with your Dealport email. If you're in more than one workspace, choose the one this connection uses.
- 4Ask in plain English, for example: "Find owner-operated home health agencies in Illinois with $5–15M in revenue, and cite the sources."
Connect Claude Code
Add the connector, then type /mcp in Claude Code and sign in.
claude mcp add --transport http dealport https://app.dealport.com/api/mcp