### Request Example for /list Endpoint Source: https://scholarapi.net/docs/api Example of a cURL request to the /list endpoint, showcasing various query parameters for filtering publications. Replace YOUR_SECRET_TOKEN with your actual API key. ```curl curl 'https://scholarapi.net/api/v1/list?q=graphene&indexed_after=2025-01-15T10%3A30%3A05Z&indexed_before=2025-01-15T10%3A30%3A05Z&published_after=2024-01-01&published_before=2025-01-01&has_text=null&has_pdf=null&limit=100' \ --header 'X-API-Key: YOUR_SECRET_TOKEN' ``` -------------------------------- ### Send Request (Curl) Source: https://scholarapi.net/docs/api Example of sending a request using Curl. This is useful for testing API endpoints directly from the command line. ```bash curl ``` -------------------------------- ### Send Request (Control) Source: https://scholarapi.net/docs/api Example of sending a request using a control input. This might be used in interactive environments or specific client implementations. ```text ctrlControl ↵Enter ``` -------------------------------- ### Get Publication Text Source: https://scholarapi.net/docs/api Retrieves the full plain-text content of a publication. ```APIDOC ## GET /text/{id} ### Description Returns the full plain-text content of the publication extracted from its PDF or web page. Depending on the source, it may or may not include the title, abstract, etc., in addition to the publication's body. ### Method GET ### Endpoint /text/{id} ### Parameters #### Path Parameters - **id** (string) - Required - ScholarAPI internal identifier for the publication. ### Request Example ```shell curl https://scholarapi.net/api/v1/text/846a45fc \ --header 'X-API-Key: YOUR_SECRET_TOKEN' ``` ### Response #### Success Response (200) Full plain-text content of the publication. text/plain ``` -------------------------------- ### Get Publication PDF Source: https://scholarapi.net/docs/api Retrieves the full binary PDF for a given publication ID. ```APIDOC ## GET /pdf/{id} ### Description Returns the full binary PDF for the publication. ### Method GET ### Endpoint /pdf/{id} ### Parameters #### Path Parameters - **id** (string) - Required - ScholarAPI internal identifier for the publication. ### Request Example ```shell curl https://scholarapi.net/api/v1/pdf/846a45fc \ --header 'X-API-Key: YOUR_SECRET_TOKEN' ``` ### Response #### Success Response (200) PDF file of the publication. application/pdf ``` -------------------------------- ### Retrieve Publication PDF Source: https://scholarapi.net/docs/api Use this endpoint to get the full binary PDF for a specific publication using its ScholarAPI internal identifier. ```shell curl https://scholarapi.net/api/v1/pdf/846a45fc \ --header 'X-API-Key: YOUR_SECRET_TOKEN' ``` -------------------------------- ### Get Multiple Publications Text Source: https://scholarapi.net/docs/api Retrieves plain-text content for up to a hundred publications at once. ```APIDOC ## GET /texts/{ids} ### Description Returns plain-text content for up to a hundred (100) publications at once. Pass IDs as a comma-separated list in the `ids` path parameter, e.g., `/texts/96f3e91,846a45f`. The response includes a `results` list with plain text strings for all requested IDs in the same order. If a publication is not found or full text is unavailable, the corresponding entry is `null`. ### Method GET ### Endpoint /texts/{ids} ### Parameters #### Path Parameters - **ids** (string) - Required - Publication IDs to retrieve as plain text (max 100), supplied as a comma-separated list, e.g., `/texts/96f3e91,846a45f`. ### Request Example ```shell curl https://scholarapi.net/api/v1/texts/96f3e91,846a45f \ --header 'X-API-Key: YOUR_SECRET_TOKEN' ``` ### Response #### Success Response (200) Plain-text content for all retrievable IDs (with per-id errors when applicable). application/json ```json { "results": [ "Magic-angle graphene superlattices: a new platform for...\n\nThe electronic structure of graphene is characterized by...\n", null ] } ``` ``` -------------------------------- ### GET /search Source: https://scholarapi.net/docs/api Retrieves a list of publications matching the search query. Supports filtering by publication date, indexing date, and presence of text or PDF. ```APIDOC ## GET /search ### Description Retrieves a list of publications matching the search query. Supports filtering by publication date, indexing date, and presence of text or PDF. ### Method GET ### Endpoint /api/v1/search ### Parameters #### Query Parameters - **q** (string) - Required - The search query. - **cursor** (string) - Optional - A cursor for paginating results. - **indexed_after** (string) - Optional - Filter results indexed after this date (ISO 8601 format). - **indexed_before** (string) - Optional - Filter results indexed before this date (ISO 8601 format). - **published_after** (string) - Optional - Filter results published after this date (YYYY-MM-DD format). - **published_before** (string) - Optional - Filter results published before this date (YYYY-MM-DD format). - **has_text** (boolean) - Optional - Filter results that have associated text. - **has_pdf** (boolean) - Optional - Filter results that have an associated PDF. - **limit** (integer) - Optional - The maximum number of results to return (default: 100). ### Request Example ```shell curl 'https://scholarapi.net/api/v1/search?q=graphene&cursor=AoE%2FH4ANVGVzdDo2NDBhZDIxNw%3D%3D&indexed_after=2025-01-15T10%3A30%3A05Z&indexed_before=2025-01-15T10%3A30%3A05Z&published_after=2024-01-01&published_before=2025-01-01&has_text=null&has_pdf=null&limit=100' \ --header 'X-API-Key: YOUR_SECRET_TOKEN' ``` ### Response #### Success Response (200) - **results** (array) - A list of publication objects. - **id** (string) - Unique identifier for the publication. - **title** (string) - The title of the publication. - **authors** (array) - A list of author names. - **abstract** (string) - The abstract of the publication. - **journal** (string) - The name of the journal. - **journal_issue** (string) - The issue number of the journal. - **journal_pages** (string) - The page numbers of the publication. - **published_date** (string) - The publication date (YYYY-MM-DD). - **published_date_raw** (string) - The raw publication date string. - **indexed_at** (string) - The date and time the publication was indexed. - **has_text** (boolean) - Indicates if the publication has associated text. - **has_pdf** (boolean) - Indicates if the publication has an associated PDF. - **url** (string) - The URL to the publication. - **next_cursor** (string) - A cursor for fetching the next page of results. #### Response Example ```json { "results": [ { "id": "6d0b618", "title": "Spin-valley protected Kramers pair in bilayer graphene", "authors": [ "Artem O. Denisov", "Veronika Reckova", "Solenn Cances" ], "abstract": "The intrinsic valley degree of freedom makes bilayer graphene a unique platform for semiconductor qubits...\n", "journal": "Journal of Immunology", "journal_issue": "12", "journal_pages": "45-52", "published_date": "2025-01-10", "published_date_raw": "2025-01-10", "indexed_at": "2025-01-15T10:31:12.456Z", "has_text": true, "has_pdf": true, "url": "https://journal.example.org/article/6d0b618" } ], "next_cursor": "AoE/H4ANVGVzdDo2NDBhZDIxNw==" } ``` ### Error Handling - **400** Bad Request - **401** Unauthorized - **402** Insufficient credits - **403** Invalid key, expired, or insufficient privileges - **429** Too many requests - **500** Unexpected server error ``` -------------------------------- ### List Publications with Multiple Queries Source: https://scholarapi.net/docs/api Demonstrates how to use multiple 'q' parameters for OR logic in publication searches. Clients will URL-encode spaces and quotes when sending requests. ```http ?q=graphene&q="carbon nanotubes" ``` -------------------------------- ### Multiple OR Queries Source: https://scholarapi.net/docs/api Demonstrates how to use multiple 'q' parameters for OR logic in search queries. Clients will URL-encode spaces and quotes when sending requests. ```http ?q=graphene&q="carbon nanotubes" ``` ```http ?q=graphene OR "carbon nanotubes" ``` -------------------------------- ### Search Publications with cURL Source: https://scholarapi.net/docs/api Use this cURL command to query the /search endpoint. Replace YOUR_SECRET_TOKEN with your actual API key. Parameters like `q`, `cursor`, `indexed_after`, `indexed_before`, `published_after`, `published_before`, `has_text`, `has_pdf`, and `limit` can be adjusted to refine your search. ```shell curl 'https://scholarapi.net/api/v1/search?q=graphene&cursor=AoE%2FH4ANVGVzdDo2NDBhZDIxNw%3D%3D&indexed_after=2025-01-15T10%3A30%3A05Z&indexed_before=2025-01-15T10%3A30%3A05Z&published_after=2024-01-01&published_before=2025-01-01&has_text=null&has_pdf=null&limit=100' \ --header 'X-API-Key: YOUR_SECRET_TOKEN' ``` -------------------------------- ### Retrieve Multiple Publication Plain Texts Source: https://scholarapi.net/docs/api Fetches plain-text content for up to 100 publications at once by providing a comma-separated list of IDs. Returns null for publications not found or unavailable. ```shell curl https://scholarapi.net/api/v1/texts/96f3e91,846a45f \ --header 'X-API-Key: YOUR_SECRET_TOKEN' ``` -------------------------------- ### Search Publications Source: https://scholarapi.net/docs/api Returns IDs and metadata records (abstracts included) of the most relevant publications matching one or more keywords (`q`) or phrases. The search covers full text (if available), plus title, abstract, and author names. Results are ordered by decreasing relevance. Multiple `q` parameters are OR-ed. At least one `q` parameter is required. The result list is capped at 100 by default, which can be adjusted with the `limit` parameter up to 1,000. To continue paging through results, pass back the `next_cursor` value as `cursor` in the next call until `next_cursor` is null. Omit `cursor` in the first call. Use `indexed_after` to fetch only papers indexed after a timestamp (e.g., for continuous monitoring); or a combination of `indexed_after` and `indexed_before` (or `published_after` and `published_before`) to retrieve results from a particular time range. ```APIDOC ## GET /search ### Description Performs a relevance search for publications based on keywords, phrases, and various filtering criteria. ### Method GET ### Endpoint /search ### Parameters #### Query Parameters - **q** (array string[]) - Required - Keyword, multi-word, or phrase filter. Multiple `q` parameters are OR-ed. - **cursor** (string) - Optional - Opaque pagination cursor returned as `next_cursor` by `/search`. Use it to continue the same query where the previous call stopped. Omit this parameter in the first call. - **indexed_after** (string) - Optional - Only return records indexed strictly after this ISO-8601 / RFC3339 UTC timestamp (e.g., `2025-01-15T10:30:05Z`). - **indexed_before** (string) - Optional - Only return records indexed strictly before this ISO-8601 / RFC3339 UTC timestamp (e.g., `2025-01-15T10:30:05Z`). - **published_after** (string) - Optional - Only return records with `published_date` on or after this ISO-8601 date (e.g., `2024-01-01`). - **published_before** (string) - Optional - Only return records with `published_date` strictly before this ISO-8601 date (e.g., `2025-01-01`). - **has_text** (boolean | null) - Optional - If `true`, only return publications whose full plain text is available. If `false`, only return publications without full plain text. If `null` (default), return both types. - **has_pdf** (boolean | null) - Optional - If `true`, only return publications whose PDF is available. If `false`, only return publications without a PDF. If `null` (default), return both types. - **limit** (integer) - Optional - Maximum number of records to return. Defaults to 100, max 1000. ### Request Example ``` GET /search?q=graphene&q="carbon nanotubes"&limit=10 ``` ### Response #### Success Response (200) List of most relevant publications matching the query. #### Error Responses - **400**: Invalid input - **401**: Missing or malformed API key ``` -------------------------------- ### List Publications with Query Parameters Source: https://scholarapi.net/docs/api Retrieves a list of publications. Supports filtering by query, indexed date range, and publication date range, with a default limit of 100. ```http GET https://scholarapi.net/api/v1/list --header 'X-API-Key: YOUR_SECRET_TOKEN' --query "q=graphene" --query "indexed_after=2025-01-15T10:30:05Z" --query "indexed_before=2025-01-15T10:30:05Z" --query "published_after=2024-01-01" --query "published_before=2025-01-01" --query "limit=100" ``` -------------------------------- ### Search Response Schema Source: https://scholarapi.net/docs/api This is the JSON schema for a successful response from the /search endpoint. It includes a list of `results`, each containing publication details, and a `next_cursor` for pagination. ```json { "results": [ { "id": "6d0b618", "title": "Spin-valley protected Kramers pair in bilayer graphene", "authors": [ "Artem O. Denisov", "Veronika Reckova", "Solenn Cances" ], "abstract": "The intrinsic valley degree of freedom makes bilayer graphene a unique platform for semiconductor qubits...\n", "journal": "Journal of Immunology", "journal_issue": "12", "journal_pages": "45-52", "published_date": "2025-01-10", "published_date_raw": "2025-01-10", "indexed_at": "2025-01-15T10:31:12.456Z", "has_text": true, "has_pdf": true, "url": "https://journal.example.org/article/6d0b618" } ], "next_cursor": "AoE/H4ANVGVzdDo2NDBhZDIxNw==" } ``` -------------------------------- ### /list Source: https://scholarapi.net/docs/api Retrieves a list of publications in the order they were indexed. Supports various status codes for different response scenarios. ```APIDOC ## GET /list ### Description Lists publications in indexing order. This endpoint returns a paginated list of scholarly articles. ### Method GET ### Endpoint /list ### Parameters None explicitly documented for this endpoint. ### Request Example GET /list ### Response #### Success Response (200) - **results** (array) - An array of publication objects. - **id** (string) - Unique identifier for the publication. - **title** (string) - The title of the publication. - **authors** (array of strings) - List of authors. - **abstract** (string) - A summary of the publication. - **journal** (string) - The name of the journal. - **journal_issn** (array of strings) - ISSNs of the journal. - **journal_issue** (string) - The issue number. - **journal_pages** (string) - Page range of the publication. - **doi** (string) - Digital Object Identifier. - **published_date** (string) - Publication date in YYYY-MM-DD format. - **published_date_raw** (string) - Raw publication date string. - **indexed_at** (string) - Timestamp when the publication was indexed. - **has_text** (boolean) - Indicates if the full text is available. - **has_pdf** (boolean) - Indicates if a PDF version is available. - **url** (string) - URL to the publication. - **next_indexed_after** (string) - Timestamp for fetching the next batch of results. #### Response Example { "results": [ { "id": "846a45f", "title": "Paraneoplastic pemphigus case study", "authors": [ "E. R. Novak" ], "abstract": "Case report on autoimmune blistering disorders...", "journal": "Clinical Immunology", "journal_issn": [ "1521-6616" ], "journal_issue": "3", "journal_pages": "12-18", "doi": "10.1016/j.clim.2023.109245", "published_date": "2023-09-14", "published_date_raw": "2023-09-14", "indexed_at": "2024-03-01T12:30:45.123Z", "has_text": true, "has_pdf": true, "url": "https://clinical.example.com/paper/846a45f" } ], "next_indexed_after": "2024-03-01T12:30:45.123Z" } ### Status Codes - 200: OK - 400: Bad Request - 401: Unauthorized - 402: Payment Required - 403: Forbidden - 429: Too Many Requests - 500: Internal Server Error ``` -------------------------------- ### Retrieve Publication Plain Text Source: https://scholarapi.net/docs/api Extracts the full plain-text content of a publication. This can include the title, abstract, and body, depending on the source. ```shell curl https://scholarapi.net/api/v1/text/846a45fc \ --header 'X-API-Key: YOUR_SECRET_TOKEN' ``` -------------------------------- ### List Publications Schema Source: https://scholarapi.net/docs/api This is the schema for the /list endpoint, which returns a list of publications in indexing order. It includes details such as title, authors, abstract, journal information, and publication date. ```json { "results": [ { "id": "846a45f", "title": "Paraneoplastic pemphigus case study", "authors": [ "E. R. Novak" ], "abstract": "Case report on autoimmune blistering disorders...", "journal": "Clinical Immunology", "journal_issn": [ "1521-6616" ], "journal_issue": "3", "journal_pages": "12-18", "doi": "10.1016/j.clim.2023.109245", "published_date": "2023-09-14", "published_date_raw": "2023-09-14", "indexed_at": "2024-03-01T12:30:45.123Z", "has_text": true, "has_pdf": true, "url": "https://clinical.example.com/paper/846a45f" } ], "next_indexed_after": "2024-03-01T12:30:45.123Z" } ``` -------------------------------- ### List Publications Source: https://scholarapi.net/docs/api Retrieves a list of publications with their IDs and metadata, including abstracts. This endpoint is suitable for exhaustive searches or data ingestion, offering filtering by date, keywords, and other constraints. Results are sorted by `indexed_at` in ascending order. ```APIDOC ## GET /list ### Description Returns IDs and metadata records (abstracts included) of matching publications, sorted by `indexed_at` ascending (oldest first), for exhaustive search or ingestion. Publications can be filtered by date, keyword(s) (`q`), and other constraints. Up to 100 results are returned by default, which can be adjusted with the `limit` parameter up to 1,000. This endpoint is similar to `/search`, but the `q` parameter is optional and items are sorted by `indexed_at` rather than relevance, making it suitable for a systematic scan of all records. Use the last received `indexed_at` as a cursor in `indexed_after` to retrieve the next page of results. ### Method GET ### Endpoint /list ### Parameters #### Query Parameters - **q** (array string[]) - Optional - Keyword, multi-word, or phrase filter. Only the publications matching this filter are included in the results. Multi-word queries without quotes are treated as loose keyword matches. Quotes denote phrase matching. Logical operators and parentheses inside the query are supported. Keywords are searched for in the title, abstract, author names, and article's full body. Multiple queries can be supplied as a repeated parameter (OR logic). - **indexed_after** (string) - Optional - Only return records indexed _strictly after_ this ISO-8601 / RFC3339 UTC timestamp (the string must end with `Z`). It may include fractional seconds. - **indexed_before** (string) - Optional - Only return records indexed _strictly before_ this ISO-8601 / RFC3339 UTC timestamp (the string must end with `Z`). It may include fractional seconds. - **published_after** (string) - Optional - Only return records with `published_date` _on or after_ this ISO-8601 date (`YYYY-MM-DD`). If `published_date` is missing in a record, `indexed_at` is used instead for comparison. - **published_before** (string) - Optional - Only return records with `published_date` _strictly before_ this ISO-8601 date (`YYYY-MM-DD`). If `published_date` is missing in a record, `indexed_at` is used instead for comparison. - **has_text** (boolean | null) - Optional - If `true`, only return publications whose full plain text is available. If `false`, only return publications _without_ full plain text. If `null` (default), return both types of records. - **has_pdf** (boolean | null) - Optional - If `true`, only return publications whose PDF is available. If `false`, only return publications without a PDF. If `null` (default), return both types of records. - **limit** (integer) - Optional - Maximum number of records to return. Minimum: 1, Maximum: 1000, Default: 100. ### Request Example ```shell curl 'https://scholarapi.net/api/v1/list?q=graphene&indexed_after=2025-01-15T10%3A30%3A05Z&indexed_before=2025-01-15T10%3A30%3A05Z&published_after=2024-01-01&published_before=2025-01-01&has_text=null&has_pdf=null&limit=100' \ --header 'X-API-Key: YOUR_SECRET_TOKEN' ``` ### Response #### Success Response (200) List of publications in indexing order. application/json #### Error Responses - **400**: Invalid input - **401**: Missing or malformed API key - **402**: Insufficient credits - **403**: Invalid key, expired, or insufficient privileges - **429**: Too many requests - **500**: Unexpected server error ``` -------------------------------- ### List Publications Source: https://scholarapi.net/docs/api Searches for publications based on various criteria. ```APIDOC ## GET /list ### Description Searches for publications based on query parameters. ### Method GET ### Endpoint /list ### Parameters #### Query Parameters - **q** (string) - Optional - Search query. - **indexed_after** (string) - Optional - Filter by index date after this timestamp (ISO 8601 format). - **indexed_before** (string) - Optional - Filter by index date before this timestamp (ISO 8601 format). - **published_after** (string) - Optional - Filter by publication date after this date (YYYY-MM-DD format). - **published_before** (string) - Optional - Filter by publication date before this date (YYYY-MM-DD format). - **limit** (integer) - Optional - Maximum number of results to return (default 100). ### Authentication Requires an API Key. - **X-API-Key**: Your ScholarAPI key. ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.