Discover/njportal API
live

njportal APInjportal.com

Search New Jersey Division of Revenue business records by name or entity ID. Returns entity type, city, incorporation date, and registration status.

This API takes change requests — .
Endpoint health
monitored
search_by_entity_id
search_by_name
Checks pendingself-healing
Endpoints
2
Updated
2h ago

What is the njportal API?

The njportal.com API provides 2 endpoints for querying New Jersey Division of Revenue and Enterprise Services business entity records. The search_by_name endpoint accepts a partial business name (minimum 2 characters) and returns all matching entities at once, while search_by_entity_id performs an exact lookup by the 10-digit NJ entity ID. Each result includes entity identification, type, city, and incorporation date.

This call costs2 credits / call— charged only on success
Try it
Business name to search for (partial match, minimum 2 characters). A wildcard is automatically appended. Use '%' as an explicit wildcard within the name.
api.parse.bot/scraper/164fd953-fc56-4eb0-895d-70627b4d4e52/<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/164fd953-fc56-4eb0-895d-70627b4d4e52/search_by_name?business_name=Acme' \
  -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 njportal-com-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: NJ business entity search — search by name, then look up by ID."""
from parse_apis.njportal_com_api import NJPortal, InputFormatInvalid

client = NJPortal()

# Search for businesses matching a name prefix; cap total items fetched.
for biz in client.businesses.search(business_name="Acme", limit=5):
    print(biz.business_name, biz.city, biz.business_type)

# Drill into the first result and look it up by its entity ID.
hit = client.businesses.search(business_name="Acme", limit=1).first()
if hit is not None:
    try:
        detail = client.businesses.lookup(entity_id=hit.entity_id, limit=1).first()
    except InputFormatInvalid as e:
        print("Invalid entity ID format:", e.message)
    else:
        if detail is not None:
            print(detail.entity_id, detail.business_name, detail.incorporated_date)

print("exercised: businesses.search / businesses.lookup")
All endpoints · 2 totalmissing one? ·

Search NJ business records by business name using partial match. A wildcard is automatically appended to the search term by the upstream system. Returns all matching entities in a single response with no server-side pagination — all results are returned at once. The search requires at least 2 characters. Use '%' within the name as an explicit wildcard. Typical queries return tens to hundreds of results; very broad searches can return several hundred.

Input
ParamTypeDescription
business_namerequiredstringBusiness name to search for (partial match, minimum 2 characters). A wildcard is automatically appended. Use '%' as an explicit wildcard within the name.
Response
{
  "type": "object",
  "fields": {
    "query": "The business name search term that was submitted",
    "total": "Total number of matching business entities",
    "results": "Array of matching business entity records"
  },
  "sample": {
    "data": {
      "query": "Acme",
      "total": 464,
      "results": [
        {
          "city": "PATERSON",
          "entity_id": "0100449680",
          "business_name": "ACME & DORF DOOR CORP.",
          "business_type": "Domestic Profit Corporation",
          "incorporated_date": "4/25/1990",
          "business_type_code": "DP"
        },
        {
          "city": null,
          "entity_id": "0100185096",
          "business_name": "ACME & DORF METAL DOOR CORP. OF N.J., INC.",
          "business_type": "Domestic Profit Corporation",
          "incorporated_date": "1/3/1983",
          "business_type_code": "DP"
        },
        {
          "city": "PATERSON",
          "entity_id": "0450281815",
          "business_name": "ACME & DORF METAL DOORS LLC",
          "business_type": "Domestic Limited Liability Company",
          "incorporated_date": "6/21/2018",
          "business_type_code": "LLC"
        }
      ]
    },
    "status": "success"
  }
}

About the njportal API

Endpoints and Parameters

The search_by_name endpoint takes a business_name parameter (minimum 2 characters) and queries the NJ Division of Revenue business name index with a wildcard automatically appended to the search term. The response includes a query field echoing the submitted term, a total count of matched records, and a results array containing all matching business entity records. There is no server-side pagination — every match is returned in a single response, which means broad search terms may return large result sets.

The search_by_entity_id endpoint accepts an entity_id parameter, which must be the full 10-digit numeric identifier assigned by the NJ Division of Revenue. Leading zeros are significant and must be preserved (for example, 0100449680). This endpoint returns either zero or one matching entity, along with the searched entity_id and a total field indicating whether a match was found.

Response Fields

Both endpoints return business entity records inside a results array. Each record includes the entity's identification details, its legal entity type (such as corporation or LLC), the city of record, and the incorporation or registration date. These fields reflect the data held in the NJ Division of Revenue's public business registry.

Coverage and Scope

Coverage is limited to entities registered with the New Jersey Division of Revenue and Enterprise Services. The data reflects the publicly searchable business name registry maintained at njportal.com. Only registered NJ entities appear; businesses from other states or unregistered entities are not included.

Reliability & maintenance

The njportal API is a managed, monitored endpoint for njportal.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when njportal.com 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 njportal.com 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.

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 that a business name is already registered in New Jersey before filing a new entity
  • Look up the incorporation date and entity type of a known NJ business by partial name
  • Retrieve the official entity ID for a New Jersey business to use in downstream compliance checks
  • Cross-reference a 10-digit NJ entity ID against public registration records for due diligence
  • Enumerate all entities sharing a common name prefix to identify related or similarly named companies
  • Build an internal directory of NJ-registered vendors filtered by city or entity type
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 NJ Division of Revenue offer an official developer API for business entity data?+
No public developer API is documented by the NJ Division of Revenue and Enterprise Services for programmatic business name searches. The official search interface is the web form at njportal.com/DOR/BusinessNameSearch.
What does search_by_name return when there are many matches?+
The endpoint returns all matching records in a single response with no pagination. A total field gives the count and results holds every matched entity. Very short or common search terms can produce large result sets since all matches are delivered at once.
Why must leading zeros be preserved in the entity_id parameter?+
NJ entity IDs are 10-digit identifiers where leading zeros are part of the identifier itself. Omitting them will result in a no-match response (total: 0) even if the underlying entity exists.
Does the API return registered agent information, officer names, or filing documents?+
Not currently. The API returns entity identification, entity type, city, and incorporation date. Registered agent details, officer or member names, and associated documents are not included in the response fields. You can fork this API on Parse and revise it to add endpoints targeting those data points if they are available in the source registry.
Can I search for businesses in other US states using these endpoints?+
No. Coverage is limited to entities registered with the New Jersey Division of Revenue and Enterprise Services. Records from other states are not included. You can fork this API on Parse and revise it to point at equivalent public registries for other states.
Page content last updated . Spec covers 2 endpoints from njportal.com.
Related APIs in Government PublicSee all →