API and MCP docs.
Dealport's records over REST, and in Claude or any MCP client. Every call is charged in credits from your balance.
- 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 "https://app.dealport.com/api/v1/companies?state=IL&care_type=home_health&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 reads Dealport's records. It never sees your workspace's qualifications, scores or rankings.
Credits and limits
Calls are charged in credits from your balance, and every 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 | 1 credit per company returned |
| Search NYC buildings | 1 credit per building returned |
| Get a record | 1 credit |
| Find an owner's contact | 10 credits, only when a phone or email is found |
| Research a company | 50 credits; the same company again within 30 days is free |
| Get research, balance | Free |
Errors
| Status | Meaning |
|---|---|
| 401 | The key is missing or revoked. |
| 400 bad_request | Explains what is wrong with the request. |
| 402 insufficient_credits | Not enough credits; includes balance and needed. |
| 422 search_too_broad | Add an industry, or a narrower revenue or headcount range. |
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 to read the next.
| Parameter | What it does |
|---|---|
| state | Two-letter state code, such as IL. |
| q | How the company's name starts. |
| naics | Comma-separated. Six digits match exactly; fewer match every code that starts with them, such as 6216. |
| min_revenue, max_revenue | Dollars; 1M and 250k also work. revenue=filed keeps only filed revenue. |
| min_employees, max_employees | Headcount range. |
| care_type | 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 | true keeps organizations with an active state health license, enrolled in Medicare, or a Medicare agency its owners run. |
| owner_contact | true keeps companies with an owner's phone or email on file. |
| limit, cursor | Page size, at most 50, and the cursor from the last page. |
curl "https://app.dealport.com/api/v1/companies?state=IL&care_type=home_health&min_revenue=5M&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 | Required: MN, BK, QN, BX or SI. |
| min_units | 10 by default. |
| q | Part of the address or the owner's name. |
| loan_due_by | A year: buildings whose current loan likely comes due by then, soonest first. |
| loan_holder | agency (Fannie Mae or Freddie Mac), cmbs or bank. |
| signal | rent_stabilized, dob_penalties, housing_court, tax_lien or ll97. |
| limit, cursor | Page size and the cursor from the last page. |
curl "https://app.dealport.com/api/v1/buildings?borough=BK&min_units=20&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: 10 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": 10,
"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. Send your key as Authorization: Bearer dp_live_…, or as ?key= for clients that can't set a header. Tools are charged like the API.
| Tool | What it does |
|---|---|
| search_companies | The same filters as Search companies. |
| search_buildings | NYC buildings, with the same filters as Search NYC buildings. |
| get_record | A company or building in full. |
| find_contact | An owner's phone and email. |
| research_company, get_research | Start a research, then read it. |
| account_balance | Your credits. Free. |
Connect Claude
- 1In Claude, open Settings → Connectors.
- 2Choose Add custom connector.
- 3Paste https://app.dealport.com/api/mcp?key=YOUR_KEY and save.
- 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
claude mcp add --transport http dealport https://app.dealport.com/api/mcp \
--header "Authorization: Bearer YOUR_KEY"