Delaware Corporations Search — DE Entity Data API
NexGenData · @nexgendata
Delaware Corporations Search is a NexGenData tool that returns one row per Delaware entity from the Delaware Division of Corporations registry with entity name, file number, formation date, entity kind and type, residency, and registered agent name, address and phone.
About
🏛️ Delaware Corporations Search Scraper — Live Delaware Division of Corporations entity-registry lookup
Delaware Corporations Search is a NexGenData tool that returns one row per Delaware entity from the Delaware Division of Corporations registry with entity name, file number, formation date, entity kind and type, residency, and registered agent name, address and phone.
Delaware corporation search and Delaware entity search as an API.
The Delaware Corporations Search Scraper queries the Delaware Division of Corporations' public entity-search system (the canonical registry for Delaware corporations, LLCs, LPs and statutory trusts). Pass entity names and/or Delaware file numbers; receive each matching entity as clean JSON — entity name, file number, formation date, entity kind and type, residency, and registered agent name, address and phone — live from the official source. Useful for KYC, due-diligence, fund formation and confirming that a Delaware entity exists under the name or file number you were given.
What you get
Exact vs starts-with. Delaware's name search returns entities whose names begin with what you type, and it ignores the legal suffix: "Stripe, Inc." brings back STRIPE 5 DELAWARE L.P., STRIPED BASS FOUNDATION and so on. A row is labelled exact only when its registry name equals your name, ignoring case and punctuation and treating Inc./Incorporated, Corp./Corporation and LLC/L.L.C. as the same suffix (INC and LLC are different entities; a name typed without a suffix matches any suffix). Everything else is starts-with. Delaware lists at most 50 entities per name, so for a common name the exact entity may not be among them; then search by file number. With exactOnly: true only exact rows are delivered. Without it, every name on your list is searched first and each name's exact match(es) come at the top, then starts-with rows in list order up to maxEntities.
One record per matching Delaware entity, with exactly these fields:
| Field | Meaning |
|---|---|
entity_name | Registered entity name, exactly as spelled in the registry |
file_number | Delaware file number (the registry's canonical identifier) |
search_query | The entity name or file number you submitted that produced this record |
search_type | entity_name or file_number |
match_mode | Describes the row. exact — the registry name is the name you asked for (see below); starts-with — Delaware listed it because it begins with your name; broadened — your name had no Delaware match at all, so the row came from a fallback search (legal suffix stripped, then the most distinctive word). File-number lookups are always exact. |
requested_name | The name you asked for. |
requested_name_normalized | Your name with case, punctuation and the suffix normalised (e.g. stripe inc), for filtering. |
state_of_formation | Always DE |
source | icis.corp.delaware.gov |
incorporation_date | Incorporation / formation date as the registry shows it (3/26/2007) |
incorporation_date_iso | The same date as YYYY-MM-DD (2007-03-26), for sorting and filtering |
entity_kind | Corporation, Limited Liability Company, Limited Partnership, … |
entity_type | Registry entity type (for example General) |
residency | Domestic or Foreign |
registered_agent_name | Registered agent of record |
registered_agent_address | Agent street address |
registered_agent_city, registered_agent_county, registered_agent_state, registered_agent_postal_code, registered_agent_phone | Agent location and phone as listed |
detail_status | ok — the entity-detail fields above were read from the registry for this row; any other value (skipped_time_budget, transport_…, detail_page_not_recognized, not_requested) means they are null on this row and why |
Every row is the registry's search-results line plus the public Entity Details view for that entity (added in 0.0.33). The entity-detail fields are the free, public part of the registry only — the actor does not return entity status, last annual-report year, stock details or tax information (Delaware sells those separately as a paid status report), and a row whose detail view could not be read is still delivered with its detail_status explaining why.
Input
| Key | Type | Meaning |
|---|---|---|
entityNames | array of strings | Entity-name searches. Delaware matches names that begin with your text (punctuation ignored) and returns at most 50 matches per name — narrow the name if you get exactly 50. |
fileNumbers | array of strings | Delaware file numbers (digits only, e.g. "4056247"). Exact lookup: one entity or no match. |
queries | array of strings | Legacy alias of entityNames, kept for backward compatibility. Prefer entityNames. |
entityName, companyName, query, search, searchTerm, keyword, name (and plurals) | string or array | Also accepted as aliases of entityNames — a comma-separated string works too. fileNumber / file_numbers alias fileNumbers. |
maxEntities | integer 1–2000 (default 50) | Ceiling on unique entities delivered per run, counted by file number after de-duplication. A ceiling, not a promise: an exact search that matches one entity delivers one record. When the ceiling is reached the run stops early and says so in its status message. |
exactOnly | boolean (default false) | When Delaware has no entity matching a name exactly, the actor retries with the legal suffix removed and then with the most distinctive word, and delivers those registry rows labelled match_mode: "broadened" at the normal per-record rate — so a search for "Acme Widgets Holdings Inc." that Delaware cannot match still shows you every Delaware entity matching "Acme Widgets Holdings" or "Widgets". Set true for a strict yes/no on the exact name and no broadened rows. |
Whitespace is normalized and duplicate searches run once. Order of results follows your input order, then Delaware's result order. At least one valid entity name or file number is required; otherwise the run fails with no records.
Schema stability
New fields may be added over time (they appear as new keys; older runs will not have them). Existing fields are not renamed or removed without a major-version bump. search_type was added in 0.0.22; match_mode and requested_name in 0.0.29; the entity-detail fields (incorporation_date … detail_status) in 0.0.33.
Compliance
- Reads public, unauthenticated pages of the Delaware Division of Corporations search, the same way a browser does.
- Requests use the platform's residential proxy for retries, with bounded concurrency.
- You are responsible for ensuring your downstream use complies with the source's terms and applicable law.
- No credentials for the target site are collected, stored or transmitted.
About NexGenData
SEO: 🏛️ Delaware Corp Search Scraper — DE Registry Lookup API
Run it on a schedule
This is a lookup tool for names and file numbers you already have, so a weekly run over a fixed watchlist suits most KYC and due-diligence work. Registry records change slowly: between runs you may see a new entity appear under a name you search (names match by prefix), or a change in the registered agent details on an existing entity. Daily runs are supported if you need to catch new entities under a name sooner. The actor removes duplicates within a run but has no new-only mode, so de-duplicate across runs downstream on file_number. Send each run's results onward with a webhook, Google Sheets, Zapier, Make or the Bytewells API.
FAQ
Why use this instead of the official Delaware Division of Corporations search?
The Delaware site is free but built for one search at a time in a browser. This actor runs many names and file numbers in one go, reads the public Entity Details view for each match, and returns everything as flat JSON, CSV or Excel. It retries blocked searches, removes duplicates, and fails with zero rows rather than handing you a silently incomplete dataset. It needs no login or API key.
What does a typical run cost?
One flat monthly price, with a free trial; there is no per-row charge. Bytewells bills compute separately from your prepaid credit, by memory and run time.
How do I check whether a Delaware company exists?
Put the name in entityNames or the Delaware file number in fileNumbers. A file-number lookup returns one entity or no match. A name search returns entities whose names begin with your text, up to 50 per name. Set exactOnly to true if you want a strict yes or no on the exact name, with no broadened fallback rows.
Does it return entity status or annual report details?
No. It returns the free public part of the registry: entity name, file number, incorporation date, entity kind and type, residency, and registered agent name, address and phone. Delaware sells entity status, last annual-report year, stock and tax details separately as a paid status report, and the actor does not return those.
Can I get a list of newly formed Delaware companies?
Not directly. The actor looks up names and file numbers you supply. It does not browse the registry by formation date. Each row does include incorporation_date_iso, so you can sort or filter the entities your searches return.
What does "broadened" mean in the results?
When Delaware has no exact match for a name, the actor retries with the legal suffix removed and then with the most distinctive word, and labels those rows match_mode: "broadened". Rows from your search as typed are labelled exact. Each broadened row also carries contains_all_words (true when the registry name has every word of the name you asked for), so you can filter loose matches yourself.
How it is billed on Bytewells
One flat monthly price for this actor, with a free trial to start. There is no charge per row, per result or per run from us.
Compute is billed separately by Bytewells from your prepaid credit, by memory and run time (per second). If a run uses the platform's proxy, Bytewells adds that traffic to the same run's compute bill.
Run it from the API
Bytewells speaks the same API as Apify, so curl or apify-client work with the Bytewells address and your Bytewells API key.
curl -X POST "https://bytewells.com/api/v2/acts/nexgendata~delaware-corporations-search-scraper/runs" \
-H "Authorization: Bearer YOUR_BYTEWELLS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"entityNames": ["Stripe"], "maxEntities": 5}'
# when the run has finished, read its rows:
curl -H "Authorization: Bearer YOUR_BYTEWELLS_API_KEY" \
"https://bytewells.com/api/v2/actor-runs/RUN_ID/dataset/items"
from apify_client import ApifyClient
client = ApifyClient("YOUR_BYTEWELLS_API_KEY", api_url="https://bytewells.com/api")
run = client.actor("nexgendata/delaware-corporations-search-scraper").call(run_input={'entityNames': ['Stripe'], 'maxEntities': 5})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)
Contact
Questions, a source that changed, or a field you need: [email protected]
Input
Preview of the input form. Rent the Actor to fill it in and start runs from the console.
Fields
entityNamesEntity name strings to search. Delaware matches names that BEGIN with the text you give (punctuation ignored): 'Stripe' matches 'STRIPE 5 DELAWARE L.P.', 'STRIPE-A-LOT, INC.', etc. Delaware returns at most 50 matches per name search — narrow the name if you see exactly 50. One string = one search; duplicates are removed.
fileNumbersDelaware file numbers (digits only, e.g. 4056247). Each is an exact file-number lookup on the registry and returns that single entity, or no match. Duplicates are removed.
queriesBackward-compatible alias: treated exactly like entityNames (entity-name searches). Prefer entityNames for new integrations.
maxEntitiesUpper limit on UNIQUE entities delivered in this run (1–2000), counted by file number after de-duplication. It is a ceiling, not a promise: an exact search that matches one entity delivers one record. When the cap is reached the run stops early and reports it. Each delivered entity is one dataset row.
exactOnlyOff by default. When true, only rows whose registry name equals your name are delivered (case and punctuation ignored; Inc./Incorporated, Corp./Corporation, LLC/L.L.C. count as the same suffix, INC and LLC do not). Starts-with rows and broadened fallback rows are never delivered. If Delaware's first 50 results hold no exact match, the run delivers 0 rows (start fee only) and says so; search by file number instead.
API
Bytewells speaks the Apify API. Existing integrations keep working: point apify-client at https://bytewells.com/api and use your Bytewells API token (Console → Settings → API access). The Actor ID is nexgendata/delaware-corporations-search-scraper (or nexgendata~delaware-corporations-search-scraper in URLs).
JavaScript · apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.BYTEWELLS_TOKEN,
baseUrl: 'https://bytewells.com/api',
});
const input = {
"entityNames": [
"Stripe"
],
"maxEntities": 5
};
const run = await client.actor('nexgendata/delaware-corporations-search-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);Python · apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["BYTEWELLS_TOKEN"], api_url="https://bytewells.com/api")
run_input = {
"entityNames": [
"Stripe"
],
"maxEntities": 5
}
run = client.actor("nexgendata/delaware-corporations-search-scraper").call(run_input=run_input)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)HTTP · curl
curl -X POST "https://bytewells.com/api/v2/acts/nexgendata~delaware-corporations-search-scraper/runs" \
-H "Authorization: Bearer $BYTEWELLS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"entityNames":["Stripe"],"maxEntities":5}'Runs are billed as compute from your credit balance. Paid Actors need an active rental or trial; otherwise the API answers 402 rental-required.
Related
More Actors from the same publisher.
Lead Enrichment — Enrich Leads with Emails, Phones & Tech
NexGenData · @nexgendata
Lead Enrichment is a NexGenData tool that returns emails, phone numbers, social profiles and tech stack per company from each company's own website.
BusinessMarketingLead generation$19/mo1-day free trialPR Newswire Scraper — Press Releases by Company, Topic & Date
NexGenData · @nexgendata
PR Newswire Scraper is a NexGenData tool that returns press releases with headline, summary, issuing company, dates, category, country, stock tickers, article URL and optional full body text from PR Newswire.
BusinessMarketingLead generation$49/mo3-day free trialWappalyzer Alternative — Tech Stack Detector & BuiltWith API
NexGenData · @nexgendata
Tech stack lookup by URL: Wappalyzer & BuiltWith Alternative, a NexGenData tool, returns the technologies a website uses, grouped by category from the website's own pages.
Developer toolsBusinessMarketing$19/mo1-day free trialASX Announcements Scraper — Australian Company Disclosures
NexGenData · @nexgendata
ASX Announcements Scraper is a NexGenData tool that returns company announcements with ticker, headline, type and source PDF link from the Australian Securities Exchange.
$29/mo3-day free trialBilibili Video Search by Keyword · B站视频搜索 (No Login)
NexGenData · @nexgendata
Bilibili Video Search is a NexGenData tool that returns videos with BV-id, title, uploader, plays, likes and danmaku from Bilibili keyword search.
$19/mo1-day free trialLinkedIn Jobs Scraper — No Login, by Keyword & Location
NexGenData · @nexgendata
LinkedIn Jobs Scraper is a NexGenData tool that returns job listings with title, company, salary and posting date from public LinkedIn job pages.
$29/mo3-day free trial