> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# API

> API reference for Semantic Scholar: every `semanticscholar.api.*` operation with input and output types.

Every `semanticscholar.api.*` operation is listed below with parameter shapes and return types from the plugin Zod schemas.

> [!NOTE]
>
> **New to Corsair?** See [API access](https://docs.corsair.dev/concepts/api.md), [authentication](https://docs.corsair.dev/concepts/auth.md), and [error handling](https://docs.corsair.dev/concepts/error-handling).

## Authors

### batchGet

`authors.batchGet`

Retrieve details for up to 1000 authors in one request

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.authors.batchGet({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `ids` | `string[]` | Yes | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> (
>   {
>     authorId?: string | null,
>     externalIds?: Record<string, any> | null,
>     url?: string | null,
>     name?: string | null,
>     affiliations?: string[] | null,
>     homepage?: string | null,
>     paperCount?: number | null,
>     citationCount?: number | null,
>     hIndex?: number | null,
>     papers?: {
>       paperId?: string | null,
>       corpusId?: string | number | null,
>       externalIds?: Record<string, any> | null,
>       url?: string | null,
>       title?: string | null,
>       abstract?: string | null,
>       venue?: string | null,
>       publicationVenue?: {
>       } | null,
>       year?: number | null,
>       referenceCount?: number | null,
>       citationCount?: number | null,
>       influentialCitationCount?: number | null,
>       isOpenAccess?: boolean | null,
>       openAccessPdf?: {
>         url?: string | null,
>         status?: string | null,
>         license?: string | null,
>         disclaimer?: string | null
>       } | null,
>       fieldsOfStudy?: string[] | null,
>       s2FieldsOfStudy?: {
>       }[] | null,
>       publicationTypes?: string[] | null,
>       publicationDate?: string | null,
>       journal?: {
>       } | null,
>       authors?: {
>         authorId?: string | null,
>         name?: string | null
>       }[] | null,
>       citations?: {
>       }[] | null,
>       references?: {
>       }[] | null,
>       embedding?: {
>         model?: string | null,
>         vector?: number[] | null
>       } | null,
>       tldr?: {
>         model?: string | null,
>         text?: string | null
>       } | null
>     }[] | null
>   } | null
> )[]
> ```

***

### get

`authors.get`

Retrieve details about an author by Semantic Scholar author ID

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.authors.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `authorId` | `string` | Yes | Semantic Scholar author ID |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `authorId` | `string \| null` | No | — |
| `externalIds` | `Record<string, any> \| null` | No | — |
| `url` | `string \| null` | No | — |
| `name` | `string \| null` | No | — |
| `affiliations` | `string[] \| null` | No | — |
| `homepage` | `string \| null` | No | — |
| `paperCount` | `number \| null` | No | — |
| `citationCount` | `number \| null` | No | — |
| `hIndex` | `number \| null` | No | — |
| `papers` | `object[] \| null` | No | — |

> [accordion] papers full type
>
> ```ts theme={null}
> {
>   paperId?: string | null,
>   corpusId?: string | number | null,
>   externalIds?: Record<string, any> | null,
>   url?: string | null,
>   title?: string | null,
>   abstract?: string | null,
>   venue?: string | null,
>   publicationVenue?: {
>   } | null,
>   year?: number | null,
>   referenceCount?: number | null,
>   citationCount?: number | null,
>   influentialCitationCount?: number | null,
>   isOpenAccess?: boolean | null,
>   openAccessPdf?: {
>     url?: string | null,
>     status?: string | null,
>     license?: string | null,
>     disclaimer?: string | null
>   } | null,
>   fieldsOfStudy?: string[] | null,
>   s2FieldsOfStudy?: {
>   }[] | null,
>   publicationTypes?: string[] | null,
>   publicationDate?: string | null,
>   journal?: {
>   } | null,
>   authors?: {
>     authorId?: string | null,
>     name?: string | null
>   }[] | null,
>   citations?: {
>   }[] | null,
>   references?: {
>   }[] | null,
>   embedding?: {
>     model?: string | null,
>     vector?: number[] | null
>   } | null,
>   tldr?: {
>     model?: string | null,
>     text?: string | null
>   } | null
> }[] | null
> ```

***

### listPapers

`authors.listPapers`

List papers written by an author with offset pagination

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.authors.listPapers({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `authorId` | `string` | Yes | Semantic Scholar author ID |
| `offset` | `number` | No | — |
| `limit` | `number` | No | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |
| `publicationDateOrYear` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | No | — |
| `offset` | `number` | No | — |
| `next` | `number \| string \| null` | No | — |
| `token` | `string \| null` | No | — |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   paperId?: string | null,
>   corpusId?: string | number | null,
>   externalIds?: Record<string, any> | null,
>   url?: string | null,
>   title?: string | null,
>   abstract?: string | null,
>   venue?: string | null,
>   publicationVenue?: {
>   } | null,
>   year?: number | null,
>   referenceCount?: number | null,
>   citationCount?: number | null,
>   influentialCitationCount?: number | null,
>   isOpenAccess?: boolean | null,
>   openAccessPdf?: {
>     url?: string | null,
>     status?: string | null,
>     license?: string | null,
>     disclaimer?: string | null
>   } | null,
>   fieldsOfStudy?: string[] | null,
>   s2FieldsOfStudy?: {
>   }[] | null,
>   publicationTypes?: string[] | null,
>   publicationDate?: string | null,
>   journal?: {
>   } | null,
>   authors?: {
>     authorId?: string | null,
>     name?: string | null
>   }[] | null,
>   citations?: {
>   }[] | null,
>   references?: {
>   }[] | null,
>   embedding?: {
>     model?: string | null,
>     vector?: number[] | null
>   } | null,
>   tldr?: {
>     model?: string | null,
>     text?: string | null
>   } | null
> }[]
> ```

***

### search

`authors.search`

Search authors by name

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.authors.search({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | Yes | — |
| `offset` | `number` | No | — |
| `limit` | `number` | No | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | No | — |
| `offset` | `number` | No | — |
| `next` | `number \| string \| null` | No | — |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   authorId?: string | null,
>   externalIds?: Record<string, any> | null,
>   url?: string | null,
>   name?: string | null,
>   affiliations?: string[] | null,
>   homepage?: string | null,
>   paperCount?: number | null,
>   citationCount?: number | null,
>   hIndex?: number | null,
>   papers?: {
>     paperId?: string | null,
>     corpusId?: string | number | null,
>     externalIds?: Record<string, any> | null,
>     url?: string | null,
>     title?: string | null,
>     abstract?: string | null,
>     venue?: string | null,
>     publicationVenue?: {
>     } | null,
>     year?: number | null,
>     referenceCount?: number | null,
>     citationCount?: number | null,
>     influentialCitationCount?: number | null,
>     isOpenAccess?: boolean | null,
>     openAccessPdf?: {
>       url?: string | null,
>       status?: string | null,
>       license?: string | null,
>       disclaimer?: string | null
>     } | null,
>     fieldsOfStudy?: string[] | null,
>     s2FieldsOfStudy?: {
>     }[] | null,
>     publicationTypes?: string[] | null,
>     publicationDate?: string | null,
>     journal?: {
>     } | null,
>     authors?: {
>       authorId?: string | null,
>       name?: string | null
>     }[] | null,
>     citations?: {
>     }[] | null,
>     references?: {
>     }[] | null,
>     embedding?: {
>       model?: string | null,
>       vector?: number[] | null
>     } | null,
>     tldr?: {
>       model?: string | null,
>       text?: string | null
>     } | null
>   }[] | null
> }[]
> ```

***

## Datasets

### get

`datasets.get`

Get download links for a dataset in a release

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.datasets.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `releaseId` | `string` | Yes | — |
| `datasetName` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string \| null` | No | — |
| `description` | `string \| null` | No | — |
| `README` | `string \| null` | No | — |
| `files` | `string[]` | No | — |

***

### getDiffs

`datasets.getDiffs`

Get incremental dataset diffs between two releases

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.datasets.getDiffs({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `startReleaseId` | `string` | Yes | — |
| `endReleaseId` | `string` | Yes | — |
| `datasetName` | `string` | Yes | — |

**Output:** `object[] \| object`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   fromRelease?: string | null,
>   toRelease?: string | null,
>   updateFiles?: string[] | null,
>   deleteFiles?: string[] | null
> }[] | {
>   diffs: {
>     fromRelease?: string | null,
>     toRelease?: string | null,
>     updateFiles?: string[] | null,
>     deleteFiles?: string[] | null
>   }[]
> }
> ```

***

### getRelease

`datasets.getRelease`

Retrieve dataset release metadata

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.datasets.getRelease({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `releaseId` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `release_id` | `string \| null` | No | — |
| `releaseId` | `string \| null` | No | — |
| `datasets` | `object[] \| null` | No | — |

> [accordion] datasets full type
>
> ```ts theme={null}
> {
> }[] | null
> ```

***

### listReleases

`datasets.listReleases`

List available Semantic Scholar dataset releases

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.datasets.listReleases({});
```

**Input:** *empty object*

**Output:** `string[] \| object`

> [accordion] Output full type
>
> ```ts theme={null}
> string[] | {
>   releaseIds: string[]
> }
> ```

***

## Papers

### autocomplete

`papers.autocomplete`

Suggest paper query completions for a partial query

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.papers.autocomplete({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `matches` | `object[]` | Yes | — |

> [accordion] matches full type
>
> ```ts theme={null}
> {
>   id: string,
>   title: string,
>   authorsYear?: string | null
> }[]
> ```

***

### batchGet

`papers.batchGet`

Retrieve details for up to 500 papers in one request

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.papers.batchGet({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `ids` | `string[]` | Yes | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> (
>   {
>     paperId?: string | null,
>     corpusId?: string | number | null,
>     externalIds?: Record<string, any> | null,
>     url?: string | null,
>     title?: string | null,
>     abstract?: string | null,
>     venue?: string | null,
>     publicationVenue?: {
>     } | null,
>     year?: number | null,
>     referenceCount?: number | null,
>     citationCount?: number | null,
>     influentialCitationCount?: number | null,
>     isOpenAccess?: boolean | null,
>     openAccessPdf?: {
>       url?: string | null,
>       status?: string | null,
>       license?: string | null,
>       disclaimer?: string | null
>     } | null,
>     fieldsOfStudy?: string[] | null,
>     s2FieldsOfStudy?: {
>     }[] | null,
>     publicationTypes?: string[] | null,
>     publicationDate?: string | null,
>     journal?: {
>     } | null,
>     authors?: {
>       authorId?: string | null,
>       name?: string | null
>     }[] | null,
>     citations?: {
>     }[] | null,
>     references?: {
>     }[] | null,
>     embedding?: {
>       model?: string | null,
>       vector?: number[] | null
>     } | null,
>     tldr?: {
>       model?: string | null,
>       text?: string | null
>     } | null
>   } | null
> )[]
> ```

***

### get

`papers.get`

Retrieve details about a paper by Semantic Scholar-supported ID

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.papers.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `paperId` | `string` | Yes | Semantic Scholar paper ID, CorpusId:\<id>, DOI:\<doi>, ARXIV:\<id>, PMID:\<id>, PMCID:\<id>, ACL:\<id>, MAG:\<id>, or URL:\<url> |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `paperId` | `string \| null` | No | — |
| `corpusId` | `string \| number \| null` | No | — |
| `externalIds` | `Record<string, any> \| null` | No | — |
| `url` | `string \| null` | No | — |
| `title` | `string \| null` | No | — |
| `abstract` | `string \| null` | No | — |
| `venue` | `string \| null` | No | — |
| `publicationVenue` | `object \| null` | No | — |
| `year` | `number \| null` | No | — |
| `referenceCount` | `number \| null` | No | — |
| `citationCount` | `number \| null` | No | — |
| `influentialCitationCount` | `number \| null` | No | — |
| `isOpenAccess` | `boolean \| null` | No | — |
| `openAccessPdf` | `object \| null` | No | — |
| `fieldsOfStudy` | `string[] \| null` | No | — |
| `s2FieldsOfStudy` | `object[] \| null` | No | — |
| `publicationTypes` | `string[] \| null` | No | — |
| `publicationDate` | `string \| null` | No | — |
| `journal` | `object \| null` | No | — |
| `authors` | `object[] \| null` | No | — |
| `citations` | `object[] \| null` | No | — |
| `references` | `object[] \| null` | No | — |
| `embedding` | `object \| null` | No | — |
| `tldr` | `object \| null` | No | — |

> [accordion] publicationVenue full type
>
> ```ts theme={null}
> {
> } | null
> ```

> [accordion] openAccessPdf full type
>
> ```ts theme={null}
> {
>   url?: string | null,
>   status?: string | null,
>   license?: string | null,
>   disclaimer?: string | null
> } | null
> ```

> [accordion] s2FieldsOfStudy full type
>
> ```ts theme={null}
> {
> }[] | null
> ```

> [accordion] journal full type
>
> ```ts theme={null}
> {
> } | null
> ```

> [accordion] authors full type
>
> ```ts theme={null}
> {
>   authorId?: string | null,
>   name?: string | null
> }[] | null
> ```

> [accordion] citations full type
>
> ```ts theme={null}
> {
> }[] | null
> ```

> [accordion] references full type
>
> ```ts theme={null}
> {
> }[] | null
> ```

> [accordion] embedding full type
>
> ```ts theme={null}
> {
>   model?: string | null,
>   vector?: number[] | null
> } | null
> ```

> [accordion] tldr full type
>
> ```ts theme={null}
> {
>   model?: string | null,
>   text?: string | null
> } | null
> ```

***

### listAuthors

`papers.listAuthors`

List authors for a paper with offset pagination

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.papers.listAuthors({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `paperId` | `string` | Yes | Semantic Scholar paper ID, CorpusId:\<id>, DOI:\<doi>, ARXIV:\<id>, PMID:\<id>, PMCID:\<id>, ACL:\<id>, MAG:\<id>, or URL:\<url> |
| `offset` | `number` | No | — |
| `limit` | `number` | No | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | No | — |
| `offset` | `number` | No | — |
| `next` | `number \| string \| null` | No | — |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   authorId?: string | null,
>   externalIds?: Record<string, any> | null,
>   url?: string | null,
>   name?: string | null,
>   affiliations?: string[] | null,
>   homepage?: string | null,
>   paperCount?: number | null,
>   citationCount?: number | null,
>   hIndex?: number | null,
>   papers?: {
>     paperId?: string | null,
>     corpusId?: string | number | null,
>     externalIds?: Record<string, any> | null,
>     url?: string | null,
>     title?: string | null,
>     abstract?: string | null,
>     venue?: string | null,
>     publicationVenue?: {
>     } | null,
>     year?: number | null,
>     referenceCount?: number | null,
>     citationCount?: number | null,
>     influentialCitationCount?: number | null,
>     isOpenAccess?: boolean | null,
>     openAccessPdf?: {
>       url?: string | null,
>       status?: string | null,
>       license?: string | null,
>       disclaimer?: string | null
>     } | null,
>     fieldsOfStudy?: string[] | null,
>     s2FieldsOfStudy?: {
>     }[] | null,
>     publicationTypes?: string[] | null,
>     publicationDate?: string | null,
>     journal?: {
>     } | null,
>     authors?: {
>       authorId?: string | null,
>       name?: string | null
>     }[] | null,
>     citations?: {
>     }[] | null,
>     references?: {
>     }[] | null,
>     embedding?: {
>       model?: string | null,
>       vector?: number[] | null
>     } | null,
>     tldr?: {
>       model?: string | null,
>       text?: string | null
>     } | null
>   }[] | null
> }[]
> ```

***

### listCitations

`papers.listCitations`

List papers that cite a paper with offset pagination

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.papers.listCitations({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `paperId` | `string` | Yes | Semantic Scholar paper ID, CorpusId:\<id>, DOI:\<doi>, ARXIV:\<id>, PMID:\<id>, PMCID:\<id>, ACL:\<id>, MAG:\<id>, or URL:\<url> |
| `offset` | `number` | No | — |
| `limit` | `number` | No | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `offset` | `number` | No | — |
| `next` | `number \| string \| null` | No | — |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   contexts?: string[] | null,
>   intents?: string[] | null,
>   isInfluential?: boolean | null,
>   citingPaper?: {
>     paperId?: string | null,
>     corpusId?: string | number | null,
>     externalIds?: Record<string, any> | null,
>     url?: string | null,
>     title?: string | null,
>     abstract?: string | null,
>     venue?: string | null,
>     publicationVenue?: {
>     } | null,
>     year?: number | null,
>     referenceCount?: number | null,
>     citationCount?: number | null,
>     influentialCitationCount?: number | null,
>     isOpenAccess?: boolean | null,
>     openAccessPdf?: {
>       url?: string | null,
>       status?: string | null,
>       license?: string | null,
>       disclaimer?: string | null
>     } | null,
>     fieldsOfStudy?: string[] | null,
>     s2FieldsOfStudy?: {
>     }[] | null,
>     publicationTypes?: string[] | null,
>     publicationDate?: string | null,
>     journal?: {
>     } | null,
>     authors?: {
>       authorId?: string | null,
>       name?: string | null
>     }[] | null,
>     citations?: {
>     }[] | null,
>     references?: {
>     }[] | null,
>     embedding?: {
>       model?: string | null,
>       vector?: number[] | null
>     } | null,
>     tldr?: {
>       model?: string | null,
>       text?: string | null
>     } | null
>   } | null
> }[]
> ```

***

### listReferences

`papers.listReferences`

List references cited by a paper with offset pagination

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.papers.listReferences({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `paperId` | `string` | Yes | Semantic Scholar paper ID, CorpusId:\<id>, DOI:\<doi>, ARXIV:\<id>, PMID:\<id>, PMCID:\<id>, ACL:\<id>, MAG:\<id>, or URL:\<url> |
| `offset` | `number` | No | — |
| `limit` | `number` | No | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `offset` | `number` | No | — |
| `next` | `number \| string \| null` | No | — |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   contexts?: string[] | null,
>   intents?: string[] | null,
>   isInfluential?: boolean | null,
>   citedPaper?: {
>     paperId?: string | null,
>     corpusId?: string | number | null,
>     externalIds?: Record<string, any> | null,
>     url?: string | null,
>     title?: string | null,
>     abstract?: string | null,
>     venue?: string | null,
>     publicationVenue?: {
>     } | null,
>     year?: number | null,
>     referenceCount?: number | null,
>     citationCount?: number | null,
>     influentialCitationCount?: number | null,
>     isOpenAccess?: boolean | null,
>     openAccessPdf?: {
>       url?: string | null,
>       status?: string | null,
>       license?: string | null,
>       disclaimer?: string | null
>     } | null,
>     fieldsOfStudy?: string[] | null,
>     s2FieldsOfStudy?: {
>     }[] | null,
>     publicationTypes?: string[] | null,
>     publicationDate?: string | null,
>     journal?: {
>     } | null,
>     authors?: {
>       authorId?: string | null,
>       name?: string | null
>     }[] | null,
>     citations?: {
>     }[] | null,
>     references?: {
>     }[] | null,
>     embedding?: {
>       model?: string | null,
>       vector?: number[] | null
>     } | null,
>     tldr?: {
>       model?: string | null,
>       text?: string | null
>     } | null
>   } | null
> }[]
> ```

***

### matchTitle

`papers.matchTitle`

Find the closest paper title match for a query

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.papers.matchTitle({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | Yes | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   paperId?: string | null,
>   corpusId?: string | number | null,
>   externalIds?: Record<string, any> | null,
>   url?: string | null,
>   title?: string | null,
>   abstract?: string | null,
>   venue?: string | null,
>   publicationVenue?: {
>   } | null,
>   year?: number | null,
>   referenceCount?: number | null,
>   citationCount?: number | null,
>   influentialCitationCount?: number | null,
>   isOpenAccess?: boolean | null,
>   openAccessPdf?: {
>     url?: string | null,
>     status?: string | null,
>     license?: string | null,
>     disclaimer?: string | null
>   } | null,
>   fieldsOfStudy?: string[] | null,
>   s2FieldsOfStudy?: {
>   }[] | null,
>   publicationTypes?: string[] | null,
>   publicationDate?: string | null,
>   journal?: {
>   } | null,
>   authors?: {
>     authorId?: string | null,
>     name?: string | null
>   }[] | null,
>   citations?: {
>   }[] | null,
>   references?: {
>   }[] | null,
>   embedding?: {
>     model?: string | null,
>     vector?: number[] | null
>   } | null,
>   tldr?: {
>     model?: string | null,
>     text?: string | null
>   } | null,
>   matchScore: number
> }[]
> ```

***

### relevanceSearch

`papers.relevanceSearch`

Deprecated alias for paper relevance search; use papers.search for new code

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.papers.relevanceSearch({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | Yes | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |
| `publicationTypes` | `string` | No | — |
| `openAccessPdf` | `boolean` | No | — |
| `minCitationCount` | `number` | No | — |
| `publicationDateOrYear` | `string` | No | — |
| `year` | `string` | No | — |
| `venue` | `string` | No | — |
| `fieldsOfStudy` | `string` | No | — |
| `offset` | `number` | No | — |
| `limit` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | No | — |
| `offset` | `number` | No | — |
| `next` | `number \| string \| null` | No | — |
| `token` | `string \| null` | No | — |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   paperId?: string | null,
>   corpusId?: string | number | null,
>   externalIds?: Record<string, any> | null,
>   url?: string | null,
>   title?: string | null,
>   abstract?: string | null,
>   venue?: string | null,
>   publicationVenue?: {
>   } | null,
>   year?: number | null,
>   referenceCount?: number | null,
>   citationCount?: number | null,
>   influentialCitationCount?: number | null,
>   isOpenAccess?: boolean | null,
>   openAccessPdf?: {
>     url?: string | null,
>     status?: string | null,
>     license?: string | null,
>     disclaimer?: string | null
>   } | null,
>   fieldsOfStudy?: string[] | null,
>   s2FieldsOfStudy?: {
>   }[] | null,
>   publicationTypes?: string[] | null,
>   publicationDate?: string | null,
>   journal?: {
>   } | null,
>   authors?: {
>     authorId?: string | null,
>     name?: string | null
>   }[] | null,
>   citations?: {
>   }[] | null,
>   references?: {
>   }[] | null,
>   embedding?: {
>     model?: string | null,
>     vector?: number[] | null
>   } | null,
>   tldr?: {
>     model?: string | null,
>     text?: string | null
>   } | null
> }[]
> ```

***

### search

`papers.search`

Search papers by relevance with optional publication filters

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.papers.search({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | Yes | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |
| `publicationTypes` | `string` | No | — |
| `openAccessPdf` | `boolean` | No | — |
| `minCitationCount` | `number` | No | — |
| `publicationDateOrYear` | `string` | No | — |
| `year` | `string` | No | — |
| `venue` | `string` | No | — |
| `fieldsOfStudy` | `string` | No | — |
| `offset` | `number` | No | — |
| `limit` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | No | — |
| `offset` | `number` | No | — |
| `next` | `number \| string \| null` | No | — |
| `token` | `string \| null` | No | — |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   paperId?: string | null,
>   corpusId?: string | number | null,
>   externalIds?: Record<string, any> | null,
>   url?: string | null,
>   title?: string | null,
>   abstract?: string | null,
>   venue?: string | null,
>   publicationVenue?: {
>   } | null,
>   year?: number | null,
>   referenceCount?: number | null,
>   citationCount?: number | null,
>   influentialCitationCount?: number | null,
>   isOpenAccess?: boolean | null,
>   openAccessPdf?: {
>     url?: string | null,
>     status?: string | null,
>     license?: string | null,
>     disclaimer?: string | null
>   } | null,
>   fieldsOfStudy?: string[] | null,
>   s2FieldsOfStudy?: {
>   }[] | null,
>   publicationTypes?: string[] | null,
>   publicationDate?: string | null,
>   journal?: {
>   } | null,
>   authors?: {
>     authorId?: string | null,
>     name?: string | null
>   }[] | null,
>   citations?: {
>   }[] | null,
>   references?: {
>   }[] | null,
>   embedding?: {
>     model?: string | null,
>     vector?: number[] | null
>   } | null,
>   tldr?: {
>     model?: string | null,
>     text?: string | null
>   } | null
> }[]
> ```

***

### searchBulk

`papers.searchBulk`

Bulk search papers with token pagination and optional sorting

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.papers.searchBulk({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | No | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |
| `publicationTypes` | `string` | No | — |
| `openAccessPdf` | `boolean` | No | — |
| `minCitationCount` | `number` | No | — |
| `publicationDateOrYear` | `string` | No | — |
| `year` | `string` | No | — |
| `venue` | `string` | No | — |
| `fieldsOfStudy` | `string` | No | — |
| `token` | `string` | No | — |
| `sort` | `paperId \| paperId:asc \| paperId:desc \| publicationDate \| publicationDate:asc \| publicationDate:desc \| citationCount \| citationCount:asc \| citationCount:desc` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `total` | `number` | No | — |
| `offset` | `number` | No | — |
| `next` | `number \| string \| null` | No | — |
| `token` | `string \| null` | No | — |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   paperId?: string | null,
>   corpusId?: string | number | null,
>   externalIds?: Record<string, any> | null,
>   url?: string | null,
>   title?: string | null,
>   abstract?: string | null,
>   venue?: string | null,
>   publicationVenue?: {
>   } | null,
>   year?: number | null,
>   referenceCount?: number | null,
>   citationCount?: number | null,
>   influentialCitationCount?: number | null,
>   isOpenAccess?: boolean | null,
>   openAccessPdf?: {
>     url?: string | null,
>     status?: string | null,
>     license?: string | null,
>     disclaimer?: string | null
>   } | null,
>   fieldsOfStudy?: string[] | null,
>   s2FieldsOfStudy?: {
>   }[] | null,
>   publicationTypes?: string[] | null,
>   publicationDate?: string | null,
>   journal?: {
>   } | null,
>   authors?: {
>     authorId?: string | null,
>     name?: string | null
>   }[] | null,
>   citations?: {
>   }[] | null,
>   references?: {
>   }[] | null,
>   embedding?: {
>     model?: string | null,
>     vector?: number[] | null
>   } | null,
>   tldr?: {
>     model?: string | null,
>     text?: string | null
>   } | null
> }[]
> ```

***

## Recommendations

### forPaper

`recommendations.forPaper`

Get recommended papers for one source paper

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.recommendations.forPaper({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `paperId` | `string` | Yes | Semantic Scholar paper ID, CorpusId:\<id>, DOI:\<doi>, ARXIV:\<id>, PMID:\<id>, PMCID:\<id>, ACL:\<id>, MAG:\<id>, or URL:\<url> |
| `from` | `recent \| all-cs` | No | — |
| `limit` | `number` | No | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `recommendedPapers` | `object[]` | Yes | — |

> [accordion] recommendedPapers full type
>
> ```ts theme={null}
> {
>   paperId?: string | null,
>   corpusId?: string | number | null,
>   externalIds?: Record<string, any> | null,
>   url?: string | null,
>   title?: string | null,
>   abstract?: string | null,
>   venue?: string | null,
>   publicationVenue?: {
>   } | null,
>   year?: number | null,
>   referenceCount?: number | null,
>   citationCount?: number | null,
>   influentialCitationCount?: number | null,
>   isOpenAccess?: boolean | null,
>   openAccessPdf?: {
>     url?: string | null,
>     status?: string | null,
>     license?: string | null,
>     disclaimer?: string | null
>   } | null,
>   fieldsOfStudy?: string[] | null,
>   s2FieldsOfStudy?: {
>   }[] | null,
>   publicationTypes?: string[] | null,
>   publicationDate?: string | null,
>   journal?: {
>   } | null,
>   authors?: {
>     authorId?: string | null,
>     name?: string | null
>   }[] | null,
>   citations?: {
>   }[] | null,
>   references?: {
>   }[] | null,
>   embedding?: {
>     model?: string | null,
>     vector?: number[] | null
>   } | null,
>   tldr?: {
>     model?: string | null,
>     text?: string | null
>   } | null
> }[]
> ```

***

### fromPaperLists

`recommendations.fromPaperLists`

Get paper recommendations from positive and optional negative paper examples

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.recommendations.fromPaperLists({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `positivePaperIds` | `string[]` | Yes | — |
| `negativePaperIds` | `string[]` | No | — |
| `limit` | `number` | No | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `recommendedPapers` | `object[]` | Yes | — |

> [accordion] recommendedPapers full type
>
> ```ts theme={null}
> {
>   paperId?: string | null,
>   corpusId?: string | number | null,
>   externalIds?: Record<string, any> | null,
>   url?: string | null,
>   title?: string | null,
>   abstract?: string | null,
>   venue?: string | null,
>   publicationVenue?: {
>   } | null,
>   year?: number | null,
>   referenceCount?: number | null,
>   citationCount?: number | null,
>   influentialCitationCount?: number | null,
>   isOpenAccess?: boolean | null,
>   openAccessPdf?: {
>     url?: string | null,
>     status?: string | null,
>     license?: string | null,
>     disclaimer?: string | null
>   } | null,
>   fieldsOfStudy?: string[] | null,
>   s2FieldsOfStudy?: {
>   }[] | null,
>   publicationTypes?: string[] | null,
>   publicationDate?: string | null,
>   journal?: {
>   } | null,
>   authors?: {
>     authorId?: string | null,
>     name?: string | null
>   }[] | null,
>   citations?: {
>   }[] | null,
>   references?: {
>   }[] | null,
>   embedding?: {
>     model?: string | null,
>     vector?: number[] | null
>   } | null,
>   tldr?: {
>     model?: string | null,
>     text?: string | null
>   } | null
> }[]
> ```

***

## Snippets

### searchText

`snippets.searchText`

Search text snippets within Semantic Scholar papers

**Risk:** `read`

```ts theme={null}
await corsair.semanticscholar.api.snippets.searchText({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | Yes | — |
| `fields` | `string` | No | Comma-separated Semantic Scholar fields parameter |
| `limit` | `number` | No | — |
| `publicationTypes` | `string` | No | — |
| `openAccessPdf` | `boolean` | No | — |
| `minCitationCount` | `number` | No | — |
| `insertedBefore` | `string` | No | — |
| `publicationDateOrYear` | `string` | No | — |
| `year` | `string` | No | — |
| `venue` | `string` | No | — |
| `fieldsOfStudy` | `string` | No | — |
| `authors` | `string` | No | — |
| `paperIds` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   score: number,
>   paper: {
>     corpusId?: string | number | null,
>     title?: string | null,
>     authors?: string[] | null,
>     openAccessInfo?: {
>     } | null
>   },
>   snippet: {
>   }
> }[]
> ```

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.