# FDA 510(k) Summary References - Source Evidence (`caroling_crocodile/fda-510k-summary-references`) Actor

Extract cited 510(k) numbers from FDA summary PDFs, with page evidence and referenced-device metadata. No FDA API key required.

- **URL**: https://apify.com/caroling_crocodile/fda-510k-summary-references.md
- **Developed by:** [surya Venugopal](https://apify.com/caroling_crocodile) (community)
- **Categories:** Business, Developer tools
- **Security:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$20.00 / 1,000 fda summary extracteds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## FDA 510(k) Summary References - Page Evidence and Device Metadata

Find the 510(k) numbers cited inside official FDA summary PDFs without manually copying them out of each document.

Enter a K number, or search recent clearances by product code and company. Get cited K numbers, page numbers, surrounding text, official source links, and the corresponding device/applicant metadata from openFDA when available.

Useful for medtech competitive research, reviewing device submission histories, and preparing a source-backed list of references for human review.

### Example input

```json
{
  "kNumbers": ["K261874"],
  "maxResults": 1
}
```

Or search a product-code segment:

```json
{
  "productCode": "LLZ",
  "maxResults": 10
}
```

### Output

Each source-clearance row contains device/applicant details, decision date, product code, official PDF link, extraction status, and a `references` array with page/text evidence and referenced-device metadata. Export JSON for the full evidence structure.

### Pricing

$0.02 per successfully parsed summary ($20 per 1,000), including summaries with zero cited numbers. Missing or unparseable PDFs are clearly marked and do not incur the `summary-extracted` event charge. Platform charges may still apply.

### Verified example

The official summary for Syneris PACS K261874 cites ONIS-PACS K181318 on PDF pages 5-7. A sample run returns that citation, surrounding text, and the referenced device's FDA metadata. A citation alone does not establish its regulatory role.

### Coverage and interpretation

Cited K numbers are not automatically confirmed predicates. Verify each relationship in the linked FDA summary. No OCR is included, so scanned pages and unusual formatting may hide references. This tool uses FDA publications for research and does not make medical, safety, or regulatory determinations.

# Actor input Schema

## `kNumbers` (type: `array`):

Up to 20 numbers such as K261874. When supplied, date, company and product-code filters are ignored.

## `productCode` (type: `string`):

Optional three-letter code, for example LLZ (radiological image-processing systems).

## `applicant` (type: `string`):

Optional quoted phrase matched by openFDA. This is not an exact legal-entity match.

## `fromDate` (type: `string`):

Inclusive YYYY-MM-DD. Defaults to 90 days before today. Ignored when exact K numbers are supplied.

## `toDate` (type: `string`):

Inclusive YYYY-MM-DD. Defaults to today. Ignored when exact K numbers are supplied.

## `maxResults` (type: `integer`):

1-100 source clearances, newest first. Each successfully parsed summary is one billable event, even when it contains no other K numbers.

## Actor input object example

```json
{
  "kNumbers": [],
  "productCode": "LLZ",
  "maxResults": 10
}
```

# Actor output Schema

## `results` (type: `string`):

One row per source clearance. Export JSON to preserve nested references and page evidence. Unavailable summaries are reported with an explicit status.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "productCode": "LLZ",
    "maxResults": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("caroling_crocodile/fda-510k-summary-references").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "productCode": "LLZ",
    "maxResults": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("caroling_crocodile/fda-510k-summary-references").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "productCode": "LLZ",
  "maxResults": 10
}' |
apify call caroling_crocodile/fda-510k-summary-references --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,caroling_crocodile/fda-510k-summary-references"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/V2YqQOQi9nQcxb0KY/builds/qzyJyHCnjUbeBBf6O/openapi.json
