Skip to main content

483 Investigator Intelligence

Access FDA investigator profiles and inspection patterns based on public records.

Tier Access

Required Tier: Starter+ (Starter, Pro, Enterprise)

Rate limits apply per tier — see Rate Limits for details.

GET /v1/483/investigators

List investigator profiles with filtering, sorting, and pagination.

Request

GET https://api.ctwise.ai/v1/483/investigators?min_inspections=10&sort_by=total_inspections&limit=20
X-Api-Key: YOUR_API_KEY

Query Parameters

ParameterTypeRequiredDescription
min_inspectionsintegerNoMinimum number of inspections (default: 0)
product_typestringNoFilter by product type (matches against investigator's top product types)
sort_bystringNoSort by: total_inspections, oai_rate, facilities_inspected, name (default: total_inspections)
limitintegerNoMaximum results to return (default: 20, max: 100)
offsetintegerNoNumber of results to skip (default: 0)

Response

{
"results": [
{
"investigator_name": "J. Smith",
"total_inspections": 147,
"oai_rate": 0.231,
"facilities_inspected": 89,
"top_product_types": ["Sterile Injectables", "Oral Solids", "APIs"],
"top_cfrs": [
{"cfr": "21 CFR 211.160", "count": 42},
{"cfr": "21 CFR 211.192", "count": 38},
{"cfr": "21 CFR 211.100", "count": 31}
]
},
{
"investigator_name": "A. Johnson",
"total_inspections": 98,
"oai_rate": 0.204,
"facilities_inspected": 64,
"top_product_types": ["Biologics", "Sterile Injectables"],
"top_cfrs": [
{"cfr": "21 CFR 211.22", "count": 28},
{"cfr": "21 CFR 211.113", "count": 25}
]
}
],
"total": 2,
"offset": 0,
"limit": 20,
"filters_applied": {
"min_inspections": 10,
"product_type": null,
"sort_by": "total_inspections"
},
"query_metadata": {
"execution_time_ms": 120
}
}

Response Fields

FieldTypeDescription
resultsarrayArray of investigator profiles
results[].investigator_namestringInvestigator name from public FDA records
results[].total_inspectionsintegerTotal inspections in CTWise database
results[].oai_ratenumberOAI classification rate (0.0-1.0)
results[].facilities_inspectedintegerNumber of unique facilities inspected
results[].top_product_typesstring[]Most common product types inspected
results[].top_cfrsarrayMost frequently cited CFR references
results[].top_cfrs[].cfrstringCFR reference (e.g., "21 CFR 211.160")
results[].top_cfrs[].countintegerNumber of times cited
totalintegerTotal results matching filters
offsetintegerCurrent offset
limitintegerPage size
filters_appliedobjectApplied search filters
query_metadataobjectExecution metadata

GET /v1/483/investigators/{name}

Get detailed profile for a specific FDA investigator by name. Case-insensitive lookup.

Request

GET https://api.ctwise.ai/v1/483/investigators/J.%20Smith
X-Api-Key: YOUR_API_KEY

Path Parameters

ParameterTypeRequiredDescription
namestringYesInvestigator name (URL-encoded, case-insensitive)

Response

{
"investigator_name": "J. Smith",
"total_inspections": 147,
"oai_rate": 0.231,
"facilities_inspected": 89,
"top_product_types": ["Sterile Injectables", "Oral Solids", "APIs"],
"top_cfrs": [
{"cfr": "21 CFR 211.160", "count": 42},
{"cfr": "21 CFR 211.192", "count": 38},
{"cfr": "21 CFR 211.100", "count": 31}
],
"query_metadata": {
"execution_time_ms": 85
}
}

Examples

List Investigators

curl -X GET "https://api.ctwise.ai/v1/483/investigators?min_inspections=20&sort_by=oai_rate&limit=10" \
-H "X-Api-Key: YOUR_API_KEY"

Get Investigator by Name

curl -X GET "https://api.ctwise.ai/v1/483/investigators/J.%20Smith" \
-H "X-Api-Key: YOUR_API_KEY"

Filter by Product Type

curl -X GET "https://api.ctwise.ai/v1/483/investigators?product_type=sterile+injectables&min_inspections=10" \
-H "X-Api-Key: YOUR_API_KEY"

Python Example - Investigator Profile

import requests

API_KEY = "your_api_key"
BASE_URL = "https://api.ctwise.ai/v1"

# List investigators with high OAI rates
response = requests.get(
f"{BASE_URL}/483/investigators",
headers={"X-Api-Key": API_KEY},
params={
"min_inspections": 20,
"sort_by": "oai_rate",
"limit": 10
}
)

data = response.json()
print(f"Found {data['total']} investigators with 20+ inspections\n")

for inv in data['results']:
print(f"{inv['investigator_name']}")
print(f" Inspections: {inv['total_inspections']}")
print(f" OAI Rate: {inv['oai_rate']:.1%}")
print(f" Facilities: {inv['facilities_inspected']}")
if inv.get('top_cfrs'):
print(f" Top Citation: {inv['top_cfrs'][0]['cfr']} ({inv['top_cfrs'][0]['count']}x)")
print()

Python Example - Inspection Preparation

import requests

API_KEY = "your_api_key"
BASE_URL = "https://api.ctwise.ai/v1"

# Find investigators for your product type
response = requests.get(
f"{BASE_URL}/483/investigators",
headers={"X-Api-Key": API_KEY},
params={
"product_type": "sterile injectables",
"min_inspections": 30,
"sort_by": "total_inspections",
"limit": 10
}
)

investigators = response.json()['results']

print("FDA Investigators - Sterile Injectables")
print("=" * 60)

for inv in investigators:
print(f"\n{inv['investigator_name']}")
print(f" Inspections: {inv['total_inspections']} | OAI Rate: {inv['oai_rate']:.1%}")

if inv.get('top_cfrs'):
print(" Top CFR Citations:")
for cfr in inv['top_cfrs'][:3]:
print(f" {cfr['cfr']} ({cfr['count']}x)")

if inv.get('top_product_types'):
print(f" Product Types: {', '.join(inv['top_product_types'])}")

print("\n" + "=" * 60)
print("Preparation Tips:")
print(" 1. Review top citation areas for investigators in your product type")
print(" 2. Conduct self-inspection focused on common deficiency categories")
print(" 3. Prepare documentation for high-frequency CFR citations")

JavaScript Example

const API_KEY = 'your_api_key';
const BASE_URL = 'https://api.ctwise.ai/v1';

// Get investigators sorted by OAI rate
const response = await fetch(
`${BASE_URL}/483/investigators?min_inspections=20&sort_by=oai_rate&limit=10`,
{
headers: { 'X-Api-Key': API_KEY }
}
);

const data = await response.json();

console.log(`${data.total} Investigators (20+ inspections)\n`);

data.results.forEach((inv, idx) => {
console.log(`${idx + 1}. ${inv.investigator_name}`);
console.log(` OAI Rate: ${(inv.oai_rate * 100).toFixed(1)}%`);
console.log(` Inspections: ${inv.total_inspections}`);
if (inv.top_product_types) {
console.log(` Products: ${inv.top_product_types.join(', ')}`);
}
});

Error Responses

Investigator Not Found

{
"error": "Investigator 'John Doe' not found",
"status_code": 404
}

Status: 404 Not Found

Invalid API Key

{
"message": "Unauthorized"
}

Status: 401 Unauthorized

Performance

MetricTarget
List response time< 2 seconds
Detail response time< 2 seconds
Data freshnessUpdated weekly (via intelligence pipeline)
Caching5-minute Lambda-level cache
Timeout30 seconds

Important Disclaimers

  1. Public Records Only: All investigator data is compiled from publicly available FDA 483 forms and establishment inspection reports. No confidential FDA information is used.

  2. Informational Purpose: This data is intended for informational and research purposes only. It does not represent:

    • Official FDA investigator assignments
    • Investigator qualifications or certifications
    • FDA inspection scheduling or planning
    • Individual investigator performance evaluations
  3. Privacy: Investigator names may be abbreviated as they appear in public FDA records.

  4. No Prediction: Past inspection patterns do not guarantee future inspector assignment or inspection outcomes.

  5. Ethical Use: This data should be used to improve compliance programs, not to target or profile individual investigators.

  6. Data Limitations:

    • Based only on inspections resulting in FDA 483s
    • Limited to data available in public FDA databases
    • Investigator profiling depends on name fields being populated in source data

Appropriate Uses:

  • Understand common citation categories for inspection preparation
  • Benchmark your facility's citation profile against industry patterns
  • Tailor inspection readiness training to likely focus areas
  • Analyze compliance trends by product type

Inappropriate Uses:

  • Attempting to influence inspector assignment
  • Profiling individual investigators for adversarial purposes
  • Making assumptions about future inspection outcomes