> For a complete page index of the Captain API documentation, fetch https://docs.filesearch.dev/llms.txt?excludeSpec=true

# Search Scientific Sources

GET https://api.filesearch.dev/v2/datasets/scientific/sources/search

Search supported scientific sources and return scrapeable source URLs. Use datasets to scope search to one or more dataset keys. Results are returned in the standard dataset search response shape.

Reference: https://docs.filesearch.dev/reference/datasets/scientific/sources/search-scientific-sources

## Request

### Query parameters

- `q` (string, required) — Search query.
- `limit` (integer, optional, default: 10) — Maximum number of sources to return.
- `datasets` (V2DatasetsScientificSourcesSearchGetParametersDatasetsSchema, optional, nullable) — Dataset scope. Supports repeated query params and comma-separated values.

## Response

### 200

Successful Response

- `query` (string, required)
- `datasets_searched` (list of string, optional)
- `errors` (map from string to string, optional)
- `results` (list of DatasetSearchResult, optional)
- `results_by_dataset` (map from string to list of DatasetSearchResult, optional)
- `total_results` (integer, optional, default: 0)

## Types

### V2DatasetsScientificSourcesSearchGetParametersDatasetsSchema

- list of string
- string

### DatasetSearchResult

Individual search result from a dataset search

- `title` (string, required)
- `url` (string, required)
- `author` (string, optional, nullable) — Article author/byline if available
- `date` (string, optional, nullable) — Publication date if available
- `snippet` (string, optional, nullable) — Text snippet from the search result
- `source` (string, optional, nullable) — Source display name

## Examples

**Response**

```json
{
  "query": "PARP inhibitors BRCA",
  "datasets_searched": [
    "scientificamerican",
    "fda_press"
  ],
  "errors": {},
  "results": [
    {
      "title": "Pfizer eyes earlier Talzenna use after phase 3 prostate cancer win",
      "url": "https://www.fiercepharma.com/pharma/pfizer-eyes-earlier-talzenna-use-after-phases-3-prostate-cancer-win",
      "author": "Angus Liu",
      "date": "03/19/2026, 07:00 AM, +0000 UTC",
      "snippet": null,
      "source": "Fierce Pharma"
    },
    {
      "title": "New discovery could open up PARP inhibitors to more cancer patients",
      "url": "https://www.fiercebiotech.com/research/new-pathway-could-open-up-parp-inhibitors-to-more-patients",
      "author": "Amirah Al Idrus, Amirah Al",
      "date": "07/24/2019, 07:00 AM, +0000 UTC",
      "snippet": null,
      "source": "Fierce Biotech"
    }
  ],
  "results_by_dataset": {
    "scientificamerican": [],
    "fda_press": [],
    "biopharma_dive": [
      {
        "title": "J&J data support earlier use of combo pill in prostate cancer",
        "url": "https://www.biopharmadive.com/news/johnson-johnson-akeega-prostate-cancer-hrr-brca-asco/749561/",
        "author": "Jonathan Gardner",
        "date": "06/03/2025, 07:00 AM, +0000 UTC",
        "snippet": null,
        "source": "BioPharma Dive"
      },
      {
        "title": "Lynparza hits a ‘home run,’ putting pressure on other PARP inhibitors",
        "url": "https://www.biopharmadive.com/news/lynparza-first-line-maintenance-ovarian-parp-astrazeneca-merck/540266/",
        "author": "Jacob Bell",
        "date": "10/22/2018, 07:00 AM, +0000 UTC",
        "snippet": null,
        "source": "BioPharma Dive"
      }
    ],
    "fierce_biotech": [
      {
        "title": "New discovery could open up PARP inhibitors to more cancer patients",
        "url": "https://www.fiercebiotech.com/research/new-pathway-could-open-up-parp-inhibitors-to-more-patients",
        "author": "Amirah Al Idrus, Amirah Al",
        "date": "07/24/2019, 07:00 AM, +0000 UTC",
        "snippet": null,
        "source": "Fierce Biotech"
      },
      {
        "title": "AACR: AstraZeneca next-gen PARP inhibitor gives 'bang for your buck' over firstcomers",
        "url": "https://www.fiercebiotech.com/biotech/aacr-24-astrazeneca-next-gen-parp-inhibitor-gives-bang-your-buck-over-firstcomers",
        "author": "Annalee Armstrong",
        "date": "04/09/2024, 07:00 AM, +0000 UTC",
        "snippet": null,
        "source": "Fierce Biotech"
      }
    ],
    "fierce_pharma": [
      {
        "title": "Pfizer eyes earlier Talzenna use after phase 3 prostate cancer win",
        "url": "https://www.fiercepharma.com/pharma/pfizer-eyes-earlier-talzenna-use-after-phases-3-prostate-cancer-win",
        "author": "Angus Liu",
        "date": "03/19/2026, 07:00 AM, +0000 UTC",
        "snippet": null,
        "source": "Fierce Pharma"
      },
      {
        "title": "ASCO: J&J's Akeega gives PARP a novel prostate cancer win, but FDA path in patient subset unclear",
        "url": "https://www.fiercepharma.com/pharma/jjs-akeega-gives-parp-novel-prostate-cancer-win-fda-path-patient-subset-unclear",
        "author": "Angus Liu",
        "date": "06/03/2025, 07:00 AM, +0000 UTC",
        "snippet": null,
        "source": "Fierce Pharma"
      }
    ]
  },
  "total_results": 10
}
```

**SDK Code**

```python Python REST
import requests

BASE_URL = "https://api.filesearch.dev"
API_KEY = "your_api_key"

headers = {"Authorization": f"Bearer {API_KEY}"}

response = requests.get(
    f"{BASE_URL}/v2/datasets/scientific/sources/search",
    headers=headers,
    params={"q": "PARP inhibitors BRCA"},
    timeout=75.0
)
print(response.json())
```

```typescript TypeScript REST
const BASE_URL = "https://api.filesearch.dev";
const API_KEY = "your_api_key";

const response = await fetch(`${BASE_URL}/v2/datasets/scientific/sources/search?q=PARP%20inhibitors%20BRCA`, {
    method: "GET",
    headers: { "Authorization": `Bearer ${API_KEY}` }
});
console.log(await response.json());
```