Puerto Rico Business Entity Search API: Complete Developer Guide
When compliance teams and developers think about U.S. business entity verification, Puerto Rico often slips through the cracks. That's a costly oversight. Puerto Rico is a U.S. territory with its own Department of State business registry, thousands of active corporations and LLCs, and full exposure to federal compliance requirements under the Bank Secrecy Act (BSA) and FinCEN's beneficial ownership rules. If your KYB (Know Your Business) workflow doesn't cover Puerto Rico, you're leaving a regulatory gap that examiners and auditors will find.
This guide walks developers and compliance engineers through everything they need to know about querying Puerto Rico business entity data programmatically — including live API examples using the OpenSOSData REST API, regulatory context, and practical integration patterns.
Why Puerto Rico Business Entity Data Matters for U.S. Compliance
Puerto Rico is an unincorporated U.S. territory. Businesses formed there are subject to federal laws, including BSA obligations enforced by FinCEN. Financial institutions, fintechs, and payment processors onboarding Puerto Rico-registered entities must treat them with the same KYB rigor applied to Delaware LLCs or California corporations.
Key regulatory drivers include:
- FinCEN Beneficial Ownership Information (BOI) Rule: Under the Corporate Transparency Act, most small U.S. entities — including those formed in Puerto Rico — must report beneficial owners to FinCEN. Verifying that a Puerto Rico entity exists, is active, and matches reported information is a foundational KYB step.
- BSA Customer Due Diligence (CDD) Rule: Banks and covered financial institutions must verify the identity of legal entity customers, including confirming the entity's formation jurisdiction and standing. Puerto Rico entities are not exempt.
- OFAC Sanctions Screening: Sanctions screening tools need accurate entity names and registered agent data. A stale or incorrect entity name from Puerto Rico's registry can cause false positives or — worse — false negatives.
- State Licensing and Lending: Lenders and money service businesses operating in Puerto Rico must verify counterparty entity status before extending credit or processing transactions.
Without a reliable Puerto Rico business entity search API, compliance teams are stuck with manual lookups on the Puerto Rico Department of State portal — a slow, unscalable process that introduces human error into your onboarding pipeline.
What the OpenSOSData API Returns for Puerto Rico Entities
The OpenSOSData API covers all 50 U.S. states plus Washington D.C., Puerto Rico, and the U.S. Virgin Islands — more than 34 million business entities in total. For every Puerto Rico entity lookup, the API returns:
- Entity Name — the official registered name on file with the Puerto Rico Department of State
- Entity Type — corporation, LLC, partnership, nonprofit, etc.
- Entity ID — the Puerto Rico state-assigned registration number
- Status — active, inactive, dissolved, revoked, or other jurisdiction-specific statuses
- Formation Date — the date the entity was formally registered
- Registered Agent Name and Address — critical for service of process and compliance verification
This structured data plugs directly into KYB workflows, CRM enrichment pipelines, and compliance dashboards without additional parsing overhead.
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 AccountAPI Endpoint and Authentication
All lookups use a single POST endpoint:
POST https://api.opensosdata.com/v1/lookup
Authentication is via API key passed in the request header. You can generate your key by signing up at app.opensosdata.com. Full parameter documentation is available at opensosdata.com/docs/.
The key request parameter to understand is cache_preference, which controls data freshness:
live_only— fetches directly from the Puerto Rico registry in real time (most current data, slightly higher latency)cache_first— returns cached data if available, falls back to live lookup if notcache_only— returns cached data only; fastest and cheapest option, suited for bulk re-verification
Practical Code Example: Puerto Rico Entity Lookup with Python
The following Python example demonstrates a live lookup for a Puerto Rico business entity. This pattern is commonly used in KYB onboarding flows where fresh data is required before account approval.
import requests
import json
# Your OpenSOSData API key from app.opensosdata.com
API_KEY = "your_api_key_here"
# API endpoint
ENDPOINT = "https://api.opensosdata.com/v1/lookup"
# Request headers including authorization
headers = {
"Content-Type": "application/json",
"x-api-key": API_KEY
}
# Payload: searching for a Puerto Rico entity by name
# Use "PR" as the state code for Puerto Rico
payload = {
"entity_name": "Caribbean Holdings LLC",
"state": "PR",
"cache_preference": "live_only" # Force a fresh registry lookup
}
# Send the POST request
response = requests.post(ENDPOINT, headers=headers, json=payload)
# Handle the response
if response.status_code == 200:
data = response.json()
print("Entity Name:", data.get("entity_name"))
print("Entity Type:", data.get("entity_type"))
print("Entity ID:", data.get("entity_id"))
print("Status:", data.get("status"))
print("Formation Date:", data.get("formation_date"))
print("Registered Agent:", data.get("registered_agent_name"))
print("Registered Agent Address:", data.get("registered_agent_address"))
else:
print(f"Error {response.status_code}: {response.text}")
For compliance workflows where you're re-verifying a large batch of existing customers, switch cache_preference to cache_only to minimize cost and latency. For initial onboarding where regulatory accuracy is paramount, always use live_only.
cURL Example for Quick Testing
# Puerto Rico business entity lookup via cURL
# Replace YOUR_API_KEY with your actual key from app.opensosdata.com
curl -X POST https://api.opensosdata.com/v1/lookup \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"entity_name": "Caribbean Holdings LLC",
"state": "PR",
"cache_preference": "live_only"
}'
Pricing: Live vs. Cached Puerto Rico Lookups
OpenSOSData uses transparent, pay-as-you-go pricing with no monthly minimums. The table below summarizes costs for Puerto Rico entity queries:
| Lookup Type | Standard Rate | Volume Rate (lowest) | Best Use Case |
|---|---|---|---|
Live Lookup (live_only) |
$0.10 per query | $0.0314 per query | Initial KYB onboarding, high-stakes approvals |
Cached Lookup (cache_only) |
$0.01 per query | $0.00314 per query | Bulk re-verification, portfolio monitoring |
Cache-First (cache_first) |
$0.01–$0.10 | Varies | Balanced workflows with mixed freshness needs |
For teams running large-scale compliance operations across all U.S. jurisdictions, the volume pricing tiers make continuous monitoring of Puerto Rico entities cost-effective at scale.
Integration Patterns for Compliance Teams
Pattern 1: Onboarding Gate
Trigger a live_only Puerto Rico entity lookup at the point of KYB submission. If the entity returns as inactive, dissolved, or not found, flag the application for manual review before proceeding to OFAC screening and beneficial ownership collection.
Pattern 2: Ongoing Portfolio Monitoring
Schedule a nightly batch job using cache_first to re-verify all active Puerto Rico entities in your customer portfolio. If a cached record is stale beyond your policy threshold (e.g., 30 days), the API automatically falls back to a live lookup. This keeps your records current without paying live lookup rates for every entity every night.
Pattern 3: BOI Cross-Reference
When a customer submits a FinCEN BOI report referencing a Puerto Rico entity, use the API to confirm the entity name and formation date match exactly. Name discrepancies between self-reported BOI data and the official registry record are a common compliance red flag.
Common Puerto Rico Entity Status Values
Understanding status values returned by the Puerto Rico Department of State is essential for compliance decisioning:
- Active / Good Standing — Entity is current on filings and fees; proceed with normal onboarding.
- Inactive — Entity has lapsed annual filings; elevated risk, requires further review.
- Dissolved — Entity has been formally terminated; should not be onboarded as an active business customer.
- Revoked — Authority to operate has been revoked by the registry; treat as high-risk.
- In Liquidation — Entity is in the process of winding down; flag for compliance review.
Frequently Asked Questions
Is Puerto Rico treated as a U.S. state for KYB and BSA compliance purposes?
Puerto Rico is a U.S. territory, not a state, but federal laws including the Bank Secrecy Act and FinCEN's CDD Rule apply to financial institutions operating there. Businesses formed in Puerto Rico are also subject to Corporate Transparency Act beneficial ownership reporting requirements. For practical compliance purposes, treat Puerto Rico entities with the same KYB rigor as any U.S. state-registered entity.
What state code should I use for Puerto Rico in the OpenSOSData API?
Use the standard U.S. postal abbreviation PR as the state code in your API request payload. The OpenSOSData API supports all 50 states plus D.C., Puerto Rico, and the U.S. Virgin Islands. See the full parameter reference at opensosdata.com/docs/.
When should I use live_only vs. cache_only for Puerto Rico lookups?
Use live_only during initial customer onboarding, loan approvals, or any compliance decision where data freshness is critical and regulatory risk is high. Use cache_only for bulk re-verification of existing customers where cost efficiency matters more than real-time accuracy. Use cache_first as a balanced default for most operational monitoring workflows.
How does the OpenSOSData API handle entities not found in the Puerto Rico registry?
If a business name search returns no matching entity, the API returns an appropriate not-found response with a clear status code. This result itself is compliance-relevant — it may indicate a fraudulent entity name, a formation in a different jurisdiction, or a data entry error in the customer's submitted information. Not-found responses should trigger a manual review step in your KYB workflow.
Can I search by entity ID instead of business name for Puerto Rico entities?
Yes. The OpenSOSData API supports lookups by entity ID (registration number) as well as by business name. When a customer provides their Puerto Rico Department of State registration number, querying by ID produces more precise results and eliminates potential name-matching ambiguity. Refer to the documentation for the exact parameter structure.
Is there a free tier or trial available before committing to paid lookups?
You can sign up at app.opensosdata.com to access the API. OpenSOSData operates on a pay-as-you-go model with no monthly minimums, making it easy to test Puerto Rico lookups in your development environment with minimal upfront cost. Live lookups start at $0.10 per query, and cached lookups at $0.01 per query, with volume discounts available as usage scales.
Does the API return registered agent information for Puerto Rico entities?
Yes. Each successful lookup returns the registered agent's name and address on file with the Puerto Rico Department of State. Registered agent data is particularly valuable for service of process validation, sanctions screening name normalization, and verifying that an entity maintains a legitimate operational presence in Puerto Rico.
Getting Started
Integrating Puerto Rico business entity verification into your compliance stack is straightforward with the OpenSOSData API. The single POST endpoint, flexible cache_preference parameter, and consistent response schema across all 50 states plus territories make it easy to add Puerto Rico coverage to an existing U.S. KYB workflow with minimal code changes.
To get started: create your account at app.opensosdata.com, review the full API reference at opensosdata.com/docs/, and explore the broader coverage and capabilities at opensosdata.com. With pay-as-you-go pricing and no setup fees, you can have Puerto Rico entity lookups running in production within the hour.