Skip to content

NewSend owners to your own Instantly, each with a sourced reason to reach out. See how it works

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_…

Getting started

  1. 1Sign up at app.dealport.com/start. It creates your Data plan workspace and opens Find companies.
  2. 2Buy credits by card in Settings → Billing and usage.
  3. 3Create a key in Settings → API and MCP. It is shown once, when it is created.
  4. 4Make a request.
Command
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.

CallCharge
Search companiesCharge:1 credit per company returned
Search NYC buildingsCharge:1 credit per building returned
Get a recordCharge:1 credit
Find an owner's contactCharge:25 credits, only when a phone or email is found
Research a companyCharge:50 credits; the same company again within 30 days is free
Projects and leads, get research, balanceCharge:Free

Errors

StatusMeaning
401Meaning:The key is missing or revoked.
400 bad_requestMeaning:Explains what is wrong with the request.
402 insufficient_creditsMeaning:Not enough credits; includes balance and needed.
404 not_foundMeaning:The key's workspace has no Project with that id.
422 search_too_broadMeaning: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.

Request
curl https://app.dealport.com/api/v1/projects \
  -H "Authorization: Bearer dp_live_…"
Response
{
  "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.

ParameterWhat it does
showWhat it does:qualified (the default), review for those awaiting review, or all.
limit, offsetWhat it does:Page size, 1 to 100 (25 by default), and how many leads to skip.
Request
curl -G \
  https://app.dealport.com/api/v1/projects/3f6a2d18-7c4e-4b09-8e15-6d2a9c0b7f41/leads \
  -d limit=10 \
  -H "Authorization: Bearer dp_live_…"
Response
{
  "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.

ParameterWhat it does
stateWhat it does:Two-letter state code, such as IL.
qWhat it does:How the company's name starts.
naicsWhat it does:Comma-separated. Six digits match exactly; fewer match every code that starts with them, such as 6216.
min_revenue, max_revenueWhat it does:Dollars; 1M and 250k also work. revenue=filed keeps only filed revenue.
min_employees, max_employeesWhat it does:Headcount range.
care_typeWhat 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_operatedWhat it does:true keeps organizations with an active state health license, enrolled in Medicare, or a Medicare agency its owners run.
owner_contactWhat it does:true keeps companies with an owner's phone or email on file.
limit, cursorWhat it does:Page size, at most 50, and the next_cursor from the last page.
Request
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_…"
Response
{
  "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.

Request
curl https://app.dealport.com/api/v1/records/8c1e0f4a-3b7d-4e52-9a61-2f0d7c9b5e13 \
  -H "Authorization: Bearer dp_live_…"
Response
{
  "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.

ParameterWhat it does
boroughWhat it does:Required: MN, BK, QN, BX or SI.
min_unitsWhat it does:10 by default.
qWhat it does:Part of the address or the owner's name.
loan_due_byWhat it does:A year: buildings whose current loan likely comes due by then, soonest first.
loan_holderWhat it does:agency (Fannie Mae or Freddie Mac), cmbs or bank.
signalWhat it does:rent_stabilized, dob_penalties, housing_court, tax_lien or ll97.
limit, cursorWhat it does:Page size and the next_cursor from the last page.
Request
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_…"
Response
{
  "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.

Request
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"}'
Response
{
  "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.

Request
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"}'
Response
{ "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.

Request
curl https://app.dealport.com/api/v1/balance \
  -H "Authorization: Bearer dp_live_…"
Response
{ "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.

ToolWhat it does
list_projectsWhat it does:Your Projects, with how many qualified and how many await review. Free.
project_leadsWhat 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_companiesWhat it does:The same filters as Search companies.
search_buildingsWhat it does:NYC buildings, with the same filters as Search NYC buildings.
get_recordWhat it does:A company or building in full.
find_contactWhat it does:An owner's phone and email.
research_company, get_researchWhat it does:Start a research, then read it.
account_balanceWhat it does:Your credits. Free.

Connect Claude

  1. 1In Claude, open Settings → Connectors and choose Add custom connector.
  2. 2Name it Dealport, with the URL https://app.dealport.com/api/mcp, and add it.
  3. 3Choose Connect and sign in with your Dealport email. If you're in more than one workspace, choose the one this connection uses.
  4. 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.

Command
claude mcp add --transport http dealport https://app.dealport.com/api/mcp