New Business Lists

Home / Developers

Webhook and API

Every paid plan can push each list to a URL you choose. The All-states plan adds a JSON API.

Webhook

Add an https URL on your settings page. With each list we POST JSON with the same rows as the CSV:

{"list_date": "2026-10-05", "since": "2026-09-28", "until": "2026-10-04",
 "count": 212, "rows": [{"state": "FL", "document_number": "L26000000000",
 "entity_name": "...", "mailing_address1": "...", ...}]}

Each request carries X-NBL-Signature: sha256=<hex>, the HMAC-SHA256 of the raw body with the webhook secret shown on your settings page. Up to 5,000 rows per list are sent in the webhook; the CSV link always has everything.

Google Sheets

Paste this into Extensions, Apps Script in your sheet, deploy it as a web app (execute as you, access: anyone), and use its URL as your webhook:

function doPost(e) {
  var data = JSON.parse(e.postData.contents);
  var sh = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
  if (!data.rows.length) return ContentService.createTextOutput("ok");
  var cols = Object.keys(data.rows[0]);
  if (sh.getLastRow() === 0) sh.appendRow(cols);
  sh.getRange(sh.getLastRow() + 1, 1, data.rows.length, cols.length)
    .setValues(data.rows.map(function (r) { return cols.map(function (c) { return r[c]; }); }));
  return ContentService.createTextOutput("ok");
}

API (All-states plan)

GET https://newbusinesslists.com/newbiz/v1/filings?key=YOUR_KEY&state=FL&since=2026-09-21&until=2026-09-27
GET ...&county=12086    (optional 5-digit county FIPS)

Returns {"count": n, "rows": [...]} with the CSV columns, for up to 31 days of published filings per request. Your key is on your settings page.