Discover/NY API
live

NY APIappext20.dos.ny.gov

Search New York State UCC filings by debtor name or filing number. Retrieve lien details, parties, filing history, and status via 3 structured endpoints.

This API takes change requests — .
Endpoint health
verified 2h ago
search_by_filing_number
search_by_debtor_name
get_filing_detail
3/3 passing latest checkself-healing
Endpoints
3
Updated
2h ago

What is the NY API?

This API provides programmatic access to New York State Uniform Commercial Code (UCC) public filings through 3 endpoints. Use search_by_debtor_name to find filings tied to an individual or organization, search_by_filing_number to look up a specific lien, and get_filing_detail to retrieve the full record including all debtors, secured parties, and complete filing history with amendments and continuations.

This call costs2 credits / call— charged only on success
Try it
The UCC filing/lien number to search for (e.g. '201306030311234').
api.parse.bot/scraper/bebb3602-31a1-4f72-83b5-8cc63386731c/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/bebb3602-31a1-4f72-83b5-8cc63386731c/search_by_filing_number?filing_number=201306030311234' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace appext20-dos-ny-gov-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: NY UCC Filing Search — search filings, drill into detail."""
from parse_apis.appext20_dos_ny_gov_api import NYUCCFilings, DebtorType, SearchLogic, InputFormatInvalid

client = NYUCCFilings()

# Search for organization filings by name, cap total items.
for summary in client.filing_summaries.search_by_name(
    debtor_type=DebtorType.ORGANIZATION,
    organization_name="Chase",
    search_logic=SearchLogic.STANDARD,
    limit=5,
):
    print(summary.lien_number, summary.debtor_name, summary.lien_status)

# Drill into the first hit's full detail via the summary→detail navigation.
hit = client.filing_summaries.search_by_name(
    debtor_type=DebtorType.ORGANIZATION,
    organization_name="Chase",
    limit=1,
).first()

if hit is not None:
    filing = hit.details()
    print("Lien:", filing.lien_number, "Status:", filing.status, "Type:", filing.lien_type)

    for debtor in filing.debtors:
        print("  Debtor:", debtor.debtor_name, debtor.debtor_address)

    for party in filing.secured_parties:
        print("  Secured party:", party.secured_party_name, party.secured_party_address)

    for event in filing.filing_history:
        print("  History:", event.filing_number, event.filing_type, event.filing_action)

# Search by filing number directly; handle invalid input gracefully.
try:
    result = client.filing_summaries.search_by_number(
        filing_number="201306030311234", limit=1
    ).first()
except InputFormatInvalid as e:
    print("Bad filing number format:", e.message)
    result = None

if result is not None:
    detail = result.details()
    print("Direct lookup:", detail.lien_number, detail.status)

print("exercised: search_by_name / search_by_number / details")
All endpoints · 3 totalmissing one? ·

Search UCC filings by lien/filing number. Returns matching filings with summary information including lien number, debtor name, filing date, lapse date, and status. Each result includes a lien_id that can be passed to get_filing_detail for full information. One page of up to 10 results is returned per call.

Input
ParamTypeDescription
filing_numberrequiredstringThe UCC filing/lien number to search for (e.g. '201306030311234').
Response
{
  "type": "object",
  "fields": {
    "filings": "array of filing summary objects with lien_number, lien_id, serial_number, lien_subtype, debtor_name, debtor_address, debtor_type, filing_date, lapse_date, lien_status",
    "total_pages": "integer, total number of pages",
    "total_records": "integer, total number of matching filings"
  },
  "sample": {
    "data": {
      "filings": [
        {
          "lien_id": "1936661",
          "lapse_date": "1/1/9999 12:00:00 AM",
          "debtor_name": "CHASE",
          "debtor_type": "Organization",
          "filing_date": "6/3/2013 4:30:00 PM",
          "lien_number": "201306030311234",
          "lien_status": "Active",
          "lien_subtype": null,
          "serial_number": null,
          "debtor_address": "3415 VISION DRIVE, COLUMBUS, OH, 43219 - 6009, USA"
        }
      ],
      "total_pages": 1,
      "total_records": 1
    },
    "status": "success"
  }
}

About the NY API

Searching UCC Filings

The search_by_filing_number endpoint accepts a lien/filing number (e.g. 201306030311234) and returns matching filing summaries. Each result includes lien_number, lien_id, debtor_name, debtor_address, debtor_type, filing date, lapse date, and current status. The lien_id returned here is the key input for fetching full detail records.

The search_by_debtor_name endpoint supports searching by individual or organization. For individuals, supply last_name (required), with optional first_name and middle_name to narrow results. For organizations, provide organization_name. The debtor_type parameter switches between modes, and search_logic controls match behavior. Results are paginated at 10 per page; the page parameter retrieves subsequent pages, and total_records and total_pages tell you how many results exist.

Filing Detail

get_filing_detail takes a lien_id from any search result and returns the complete filing record. Response fields include lien_type, lien_number, serial_number, date_filed, lapse_date, status, and subtype. The debtors array provides per-debtor fields including organization_id, organization_type, and organization_jurisdiction. The secured_parties array lists each party's name, address, and type. The filing_history array covers the full lifecycle — initial filing plus any amendments, continuations, and terminations — each entry carrying filing_number, filing_type, filing_action, filing_status, and date_filed.

Coverage and Scope

All data reflects New York State UCC filings held by the NY Department of State. Filing numbers follow the state's assigned format. Lapse dates reflect the standard five-year UCC lien term unless a continuation has been filed, which will appear in the filing_history array.

Reliability & maintenanceVerified

The NY API is a managed, monitored endpoint for appext20.dos.ny.gov — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when appext20.dos.ny.gov changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official appext20.dos.ny.gov API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Verify whether a business or individual has active UCC liens before extending credit
  • Monitor lien status changes — active vs. inactive — for due diligence workflows
  • Retrieve all secured parties for a debtor to map creditor exposure
  • Track filing history including amendments and terminations for a specific lien
  • Build a lien search tool for commercial real estate or asset-based lending platforms
  • Cross-reference organization_id and organization_jurisdiction fields with other business registry data
  • Identify upcoming lapse dates across a portfolio of tracked lien numbers
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does the NY Department of State provide an official developer API for UCC filings?+
No. The NY Department of State's UCC public search at appext20.dos.ny.gov is a web-based interface with no published REST or developer API. This Parse API exposes that data in structured JSON form.
What does get_filing_detail return beyond what the search endpoints provide?+
The search endpoints return summary fields — lien_number, lien_id, debtor_name, and basic address. get_filing_detail adds the full debtors array (with organization_id, organization_type, and jurisdiction), the secured_parties array, and the complete filing_history covering every amendment, continuation, and termination associated with that lien.
Does search_by_debtor_name support partial or fuzzy name matching?+
The search_logic parameter controls how name matching works. The underlying source supports a limited set of matching modes (such as exact or starts-with logic), but the specific options depend on what the NY DOS system accepts. Testing with different search_logic values against a known debtor name is the most reliable way to determine which mode fits your use case.
Are UCC filings from other states included?+
No. The API covers only filings on record with the New York Department of State. Filings from other state UCC registries are not included. You can fork this API on Parse and revise it to add endpoints targeting other state UCC search portals.
Can I retrieve collateral description or financing statement text from a filing?+
Not currently. The API returns lien metadata, debtor and secured party records, and filing history, but collateral descriptions or the full text of financing statements are not exposed in the current response fields. You can fork the API on Parse and revise it to add an endpoint that retrieves that additional document content.
Page content last updated . Spec covers 3 endpoints from appext20.dos.ny.gov.
Related APIs in Government PublicSee all →