# Human CRISPR Cas9 Research Evidence (`tolvan/harmoney-human-crispr-cas9-research`) Actor

Collects normalized, source-linked public CRISPR/Cas9 evidence involving humans from ClinicalTrials.gov and PubMed for research workflows only.

- **URL**: https://apify.com/tolvan/harmoney-human-crispr-cas9-research.md
- **Developed by:** [Jesper Tolvers](https://apify.com/tolvan) (community)
- **Categories:** AI, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 research evidence records

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Human CRISPR/Cas9 Research Evidence

A bounded Apify Actor that collects and normalizes public evidence about CRISPR/Cas9 research involving humans from authoritative APIs:

- ClinicalTrials.gov v2 API
- PubMed / NCBI E-utilities

### Safety and scope

Research indexing only. This Actor does **not** provide medical advice, diagnose anyone, recommend treatments, rank clinics, collect patient PII, or generate clinical conclusions. Every record links to its authoritative source. Abstracts, when enabled, are copied from PubMed rather than invented or summarized.

### Input

- `query`: additional research terms; CRISPR/Cas9 and human constraints are always applied.
- `sources`: `clinicaltrials`, `pubmed`, or both.
- `maxItems`: hard output cap, 1–100.
- `fromDate`, `toDate`: optional inclusive `YYYY-MM-DD` bounds.
- `trialStatuses`: optional ClinicalTrials.gov statuses such as `RECRUITING`.
- `includePubMedAbstracts`: include source abstracts when available.
- `ncbiToolEmail`: optional NCBI contact metadata; never emitted to output or logs.

Example:

```json
{
  "query": "sickle cell disease",
  "sources": ["clinicaltrials", "pubmed"],
  "maxItems": 20,
  "fromDate": "2022-01-01",
  "trialStatuses": ["RECRUITING", "ACTIVE_NOT_RECRUITING"],
  "includePubMedAbstracts": true
}
````

### Output

One normalized dataset row per study/article, deduplicated by authoritative source ID. Records include source URL, dates, provenance, structured trial or bibliographic fields, and the research-only disclaimer. `OUTPUT_SUMMARY` records counts, source coverage, and honest limitations.

### Local verification

```bash
npm ci
npm test
npm run build
apify validate-schema .actor/input_schema.json
apify run --purge --input '{"query":"sickle cell disease","maxItems":6}'
```

### Source and API limits

The Actor uses only fixed HTTPS endpoints on `clinicaltrials.gov` and `eutils.ncbi.nlm.nih.gov`, preventing user-controlled URL fetching. Public API availability, indexing lag, and NCBI rate limits can affect coverage. Human relevance must still be checked in each linked primary record.

# Actor input Schema

## `query` (type: `string`):

Additional human CRISPR/Cas9 research terms. The Actor always constrains collection to CRISPR/Cas9 and human-related evidence.

## `sources` (type: `array`):

Authoritative public sources to query.

## `maxItems` (type: `integer`):

Hard cap for normalized output records across all selected sources.

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

Optional inclusive lower date bound in YYYY-MM-DD format. Applied to study start/last update dates and PubMed publication dates where available.

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

Optional inclusive upper date bound in YYYY-MM-DD format.

## `trialStatuses` (type: `array`):

Optional ClinicalTrials.gov overall statuses to include. Leave empty for all statuses.

## `includePubMedAbstracts` (type: `boolean`):

If enabled, stores abstracts returned by NCBI. The Actor never fabricates summaries when abstracts are unavailable.

## `ncbiToolEmail` (type: `string`):

Optional email sent to NCBI E-utilities as contact metadata. Do not enter secrets.

## Actor input object example

```json
{
  "query": "CRISPR Cas9 human gene editing",
  "sources": [
    "clinicaltrials",
    "pubmed"
  ],
  "maxItems": 25,
  "trialStatuses": [],
  "includePubMedAbstracts": true
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("tolvan/harmoney-human-crispr-cas9-research").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("tolvan/harmoney-human-crispr-cas9-research").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call tolvan/harmoney-human-crispr-cas9-research --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=tolvan/harmoney-human-crispr-cas9-research",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Human CRISPR Cas9 Research Evidence",
        "description": "Collects normalized, source-linked public CRISPR/Cas9 evidence involving humans from ClinicalTrials.gov and PubMed for research workflows only.",
        "version": "1.0",
        "x-build-id": "vjYSRCOOnLqkoxdXL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/tolvan~harmoney-human-crispr-cas9-research/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-tolvan-harmoney-human-crispr-cas9-research",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/tolvan~harmoney-human-crispr-cas9-research/runs": {
            "post": {
                "operationId": "runs-sync-tolvan-harmoney-human-crispr-cas9-research",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/tolvan~harmoney-human-crispr-cas9-research/run-sync": {
            "post": {
                "operationId": "run-sync-tolvan-harmoney-human-crispr-cas9-research",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "query"
                ],
                "properties": {
                    "query": {
                        "title": "Research query",
                        "type": "string",
                        "description": "Additional human CRISPR/Cas9 research terms. The Actor always constrains collection to CRISPR/Cas9 and human-related evidence.",
                        "default": "CRISPR Cas9 human gene editing"
                    },
                    "sources": {
                        "title": "Sources",
                        "type": "array",
                        "description": "Authoritative public sources to query.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "clinicaltrials",
                                "pubmed"
                            ],
                            "enumTitles": [
                                "ClinicalTrials.gov",
                                "PubMed"
                            ]
                        },
                        "default": [
                            "clinicaltrials",
                            "pubmed"
                        ]
                    },
                    "maxItems": {
                        "title": "Maximum dataset items",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Hard cap for normalized output records across all selected sources.",
                        "default": 25
                    },
                    "fromDate": {
                        "title": "From date",
                        "type": "string",
                        "description": "Optional inclusive lower date bound in YYYY-MM-DD format. Applied to study start/last update dates and PubMed publication dates where available."
                    },
                    "toDate": {
                        "title": "To date",
                        "type": "string",
                        "description": "Optional inclusive upper date bound in YYYY-MM-DD format."
                    },
                    "trialStatuses": {
                        "title": "ClinicalTrials.gov statuses",
                        "type": "array",
                        "description": "Optional ClinicalTrials.gov overall statuses to include. Leave empty for all statuses.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "includePubMedAbstracts": {
                        "title": "Include PubMed abstracts",
                        "type": "boolean",
                        "description": "If enabled, stores abstracts returned by NCBI. The Actor never fabricates summaries when abstracts are unavailable.",
                        "default": true
                    },
                    "ncbiToolEmail": {
                        "title": "NCBI contact email",
                        "type": "string",
                        "description": "Optional email sent to NCBI E-utilities as contact metadata. Do not enter secrets."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
