CFPB 1071 Compliance: How Entity Verification API Supports Small Business Reporting

September 23, 2026 9 min read
CFPB 1071small business entity verificationKYB compliancebusiness entity APISecretary of State lookupsmall business lendingregulatory complianceentity verification

CFPB 1071 Compliance: How Entity Verification API Supports Small Business Reporting

The Consumer Financial Protection Bureau's Section 1071 rule — formally amending the Equal Credit Opportunity Act (ECOA) — is one of the most consequential regulatory mandates facing U.S. lenders since Dodd-Frank. Financial institutions that originate covered credit products to small businesses must now collect, validate, and report a substantial set of data fields for every application. Among the most operationally demanding requirements is confirming that each applicant is a legitimate, active business entity. That is where CFPB 1071 small business entity verification becomes mission-critical.

This guide explains what Section 1071 demands, how it intersects with existing KYB, FinCEN BOI, and BSA obligations, and how automated Secretary of State lookups via the OpenSOSData API help compliance teams scale efficiently without sacrificing accuracy.

What Section 1071 Actually Requires

Section 1071 of Dodd-Frank directed the CFPB to collect data about small business credit applications to expose potential discrimination and facilitate fair-lending enforcement. The final rule (effective March 2023, with phased compliance dates) requires covered financial institutions to gather more than 20 data points per application, including:

Critically, lenders cannot simply accept what an applicant self-reports. Regulators and examiners expect institutions to demonstrate that the business data on file is verified. Unverified or stale records expose lenders to fair-lending scrutiny, examination findings, and potential civil money penalties.

The KYB and BOI Overlay

Section 1071 does not exist in isolation. Lenders must simultaneously satisfy:

All three frameworks converge on a single operational need: a reliable, machine-readable source of truth for business entity data. Secretary of State (SOS) records are that source. They are the authoritative government database for entity formation, status, and registered agent information in all 50 states.

Start Verifying Entities from $0.10 per Lookup

Live lookups from $0.10, as low as $0.0314 with volume. Pay as you go.

Create Free Account

Why Manual SOS Lookups Break Down at Scale

Many compliance teams still rely on analysts manually checking individual state SOS portals. That approach has serious deficiencies in a Section 1071 world:

API-driven entity verification solves all of these problems simultaneously.

How OpenSOSData Supports CFPB 1071 Compliance

OpenSOSData provides a REST API that queries official Secretary of State records across all 50 U.S. states, Washington D.C., Puerto Rico, and the U.S. Virgin Islands — covering more than 34 million business entities. A single POST request returns structured JSON with the fields your compliance workflow needs:

These fields map directly to Section 1071 data collection requirements and support the KYB risk scoring that BSA/AML programs require.

Pricing That Scales With Your Volume

OpenSOSData uses a pay-as-you-go model with no monthly minimums:

Lookup Type Standard Price Volume Price (lowest tier)
Live lookup (real-time SOS query) $0.10 per call As low as $0.0314 per call
Cached lookup (recent SOS snapshot) $0.01 per call As low as $0.00314 per call

For Section 1071 purposes, live lookups are recommended at the point of application decisioning to ensure the entity status is current. Cached lookups are cost-effective for bulk portfolio reviews or preliminary screening.

Practical Code Example: Verifying a Small Business Applicant

The following Python example shows how a lending operations team can verify a small business applicant's entity status at the point of application intake. The cache_preference parameter is set to live_only to ensure real-time SOS data for regulatory documentation.

import requests
import json

# OpenSOSData API endpoint
API_URL = "https://api.opensosdata.com/v1/lookup"

# Your API key from https://app.opensosdata.com
API_KEY = "your_api_key_here"

# Small business applicant details from the 1071 application form
applicant = {
    "entity_name": "Sunrise Bakery LLC",
    "state": "TX"  # State of formation reported by the applicant
}

# Build the request payload
# Use cache_preference: live_only for regulatory-grade verification
payload = {
    "entity_name": applicant["entity_name"],
    "state": applicant["state"],
    "cache_preference": "live_only"  # Ensures real-time Secretary of State data
}

headers = {
    "x-api-key": API_KEY,
    "Content-Type": "application/json"
}

# Send verification request to OpenSOSData
response = requests.post(API_URL, headers=headers, json=payload)

if response.status_code == 200:
    data = response.json()

    # Extract key fields for 1071 data collection and KYB record
    entity_name   = data.get("entity_name")
    entity_type   = data.get("entity_type")       # e.g., "Limited Liability Company"
    entity_status = data.get("status")            # e.g., "Active"
    formation_date = data.get("formation_date")   # Supports "time in business" field
    state_id      = data.get("entity_id")         # State-issued entity number
    reg_agent     = data.get("registered_agent")  # Registered agent name
    reg_address   = data.get("registered_address")

    print(f"Entity Name:      {entity_name}")
    print(f"Type:             {entity_type}")
    print(f"Status:           {entity_status}")
    print(f"Formation Date:   {formation_date}")
    print(f"State Entity ID:  {state_id}")
    print(f"Registered Agent: {reg_agent}")
    print(f"Agent Address:    {reg_address}")

    # Flag non-active entities for compliance review before proceeding
    if entity_status and entity_status.lower() != "active":
        print(f"WARNING: Entity status is '{entity_status}' — flag for compliance review.")

else:
    print(f"API Error {response.status_code}: {response.text}")

This pattern can be embedded directly into your loan origination system (LOS) or compliance middleware. Every response should be logged with a timestamp and the raw JSON stored in the application file — providing the auditable evidence trail that examiners look for.

Mapping API Response Fields to Section 1071 Data Points

Section 1071 Data Field OpenSOSData Response Field Compliance Use
Business legal name entity_name Confirms applicant-reported name matches SOS record
State of organization state (from request context) Validates state of formation for ECOA reporting
Entity type entity_type Supports ownership structure analysis for BOI CDD
Time in business formation_date Derived directly from SOS filing date
Active/in-business status status KYB risk signal — dissolved entities are automatic flags
Registered agent / address registered_agent, registered_address Supports BSA address verification and AML due diligence verification and OFAC screening

Integration Best Practices for Compliance Teams

1. Verify at Application Intake, Not Just Onboarding

Section 1071 data collection begins when the application is received. Triggering an entity verification call at intake — before any credit decision — ensures your data set is accurate from day one and prevents costly retroactive corrections.

2. Store the Raw API Response

Do not just store parsed fields. Retain the full JSON response with the timestamp. This constitutes your verification record and demonstrates to examiners that the data came from an authoritative, real-time source rather than applicant self-certification.

3. Use Live Lookups for Decisioning, Cached for Batch Screening

Set cache_preference: live_only for individual applications at the point of decision. Use cache_preference: cache_first for periodic portfolio reviews where speed and cost matter more than real-time precision. See the full parameter reference at opensosdata.com/docs.

4. Build Automated Flags for Non-Active Entities

Any entity with a status other than "Active" should automatically route to a compliance analyst queue. Dissolved, revoked, or administratively suspended entities represent elevated BSA and fraud risk and should not proceed through normal origination without senior review.

Frequently Asked Questions

Does CFPB Section 1071 require entity verification, or just data collection?

Section 1071 requires collection of specific data fields, but CFPB examination procedures and existing BSA/AML obligations effectively require that collected data be verified. Submitting unverified or inaccurate data in the annual HMDA-style 1071 report exposes institutions to fair-lending findings and potential penalties. Entity verification via SOS lookups is the industry standard method for satisfying this expectation.

Which entity types are covered under Section 1071?

The rule covers applications for business credit from small businesses, defined as entities with gross annual revenues of $5 million or less in the preceding fiscal year. This includes LLCs, corporations, partnerships, sole proprietorships, and other legal structures. Entity type determination — critical for BOI and CDD purposes — is directly returned by the OpenSOSData API.

How does OpenSOSData handle entities registered in multiple states?

Many businesses are formed in one state (e.g., Delaware) but registered as a foreign entity in the state where they operate. OpenSOSData covers all 50 states, D.C., Puerto Rico, and the U.S. Virgin Islands, so you can query both the state of formation and any states of foreign qualification. This is important for accurate KYB profiling and understanding true operational jurisdiction.

What is the difference between live and cached lookups for compliance purposes?

Live lookups query the Secretary of State's authoritative database in real time, returning current entity status. Cached lookups return a recent snapshot from OpenSOSData's indexed database, which is faster and cheaper but may not reflect changes made in the past few days. For Section 1071 and KYB purposes, live lookups at the point of application are strongly recommended. Cached lookups at $0.01 (as low as $0.00314 at volume) are appropriate for preliminary screening or portfolio monitoring.

Can this API satisfy FinCEN's Customer Due Diligence (CDD) rule for legal entity customers?

OpenSOSData provides the foundational layer of entity verification required under FinCEN's CDD rule — confirming entity name, status, type, and registered agent. It does not directly provide beneficial ownership information (which must still be collected from the applicant under existing CDD rules and confirmed against FinCEN's BOI database where applicable). However, accurate entity verification is the prerequisite step before any BOI collection can be meaningfully validated.

How quickly can we integrate OpenSOSData into our loan origination system?

The API uses standard REST/JSON conventions with a single POST endpoint at https://api.opensosdata.com/v1/lookup. Most development teams complete a working integration in one to two days. Full documentation is available at opensosdata.com/docs, and you can create a pay-as-you-go account immediately at app.opensosdata.com with no minimum commitment.

What happens if a business name search returns multiple results?

The API returns the best-matched results based on the name and state provided. Compliance workflows should implement a human review step when multiple possible matches are returned, or use the state entity ID (if available from the applicant) as a more precise lookup parameter. Storing the state-issued entity ID in your LOS going forward eliminates ambiguity for future lookups and is considered a best practice for 1071 record-keeping.

Getting Started

Section 1071 compliance is no longer a future obligation — phased compliance deadlines are active, and examination cycles are beginning. Institutions that automate entity verification now will be better positioned for both regulatory review and operational efficiency as small business lending volumes grow.

To explore the full API capability, review the OpenSOSData documentation or create a free account and run your first lookup today. With pay-as-you-go pricing starting at $0.10 per live query and no monthly fees, there is no barrier to getting started.

Visit opensosdata.com to learn more about how the platform supports KYB, BSA, and CFPB 1071 compliance workflows across all 50 states.

Start Verifying Entities from $0.10 per Lookup

Live lookups from $0.10, as low as $0.0314 with volume. Pay as you go.

Create Free Account
Written by the OpenSOSData team, experts in US Secretary of State data and business entity verification APIs.