{
  "openapi": "3.0.1",
  "info": {
    "title": "Literature Search: Google Scholar Alternative + BibTeX",
    "description": "Search 250M+ scholarly papers by topic or seed papers, filter by year, citations, type and open access, screen every result for retractions, attach legal open-access PDFs, and export a ranked reading list, BibTeX, RIS, CSV and Excel. Built on OpenAlex, Crossref and Unpaywall. No scraping.",
    "version": "0.1",
    "x-build-id": "kyjdC9G8gUXUu5EnM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/pandadad0214~literature-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-pandadad0214-literature-search",
        "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/pandadad0214~literature-search/runs": {
      "post": {
        "operationId": "runs-sync-pandadad0214-literature-search",
        "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/pandadad0214~literature-search/run-sync": {
      "post": {
        "operationId": "run-sync-pandadad0214-literature-search",
        "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",
        "properties": {
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "Topic or Boolean query. Use quotes for phrases and AND / OR / NOT in capitals, e.g. \"retrieval augmented generation\" AND (clinical OR medicine) NOT survey. Leave empty to explore around seed papers only."
          },
          "searchIn": {
            "title": "Search in",
            "enum": [
              "titleAbstract",
              "title",
              "fullText"
            ],
            "type": "string",
            "description": "Title and abstract is the most precise (like a database search). Full text also matches papers that only mention your terms in the body.",
            "default": "titleAbstract"
          },
          "seedDois": {
            "title": "Seed papers (DOIs)",
            "type": "array",
            "description": "Optional. Start from papers you already trust. Combine with a query to search inside that network, or use alone. Up to 50 DOIs.",
            "items": {
              "type": "string"
            }
          },
          "seedMode": {
            "title": "Seed mode",
            "enum": [
              "citing",
              "references",
              "related"
            ],
            "type": "string",
            "description": "Which papers around the seeds to return.",
            "default": "citing"
          },
          "yearFrom": {
            "title": "From year",
            "minimum": 1500,
            "maximum": 2100,
            "type": "integer",
            "description": "Earliest publication year (inclusive)."
          },
          "yearTo": {
            "title": "To year",
            "minimum": 1500,
            "maximum": 2100,
            "type": "integer",
            "description": "Latest publication year (inclusive)."
          },
          "openAccessOnly": {
            "title": "Open access only",
            "type": "boolean",
            "description": "Only return papers with a free, legal full-text copy.",
            "default": false
          },
          "minCitations": {
            "title": "Minimum citations",
            "minimum": 0,
            "type": "integer",
            "description": "Only return papers cited at least this many times (OpenAlex counts).",
            "default": 0
          },
          "types": {
            "title": "Document types",
            "type": "array",
            "description": "Leave empty for all paper types (peer reviews, errata, retraction notices and abstracts-only records are always left out unless you pick them here).",
            "items": {
              "type": "string",
              "enum": [
                "article",
                "review",
                "conference-paper",
                "preprint",
                "book-chapter",
                "book",
                "dissertation",
                "dataset",
                "report",
                "letter",
                "editorial",
                "book-review",
                "standard",
                "software",
                "other"
              ],
              "enumTitles": [
                "Journal article",
                "Review",
                "Conference paper",
                "Preprint",
                "Book chapter",
                "Book",
                "Dissertation / thesis",
                "Dataset",
                "Report",
                "Letter",
                "Editorial",
                "Book review",
                "Standard",
                "Software",
                "Other"
              ]
            }
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Optional two-letter language code, e.g. en, de, es."
          },
          "retractedPapers": {
            "title": "Retracted papers",
            "enum": [
              "flag",
              "exclude"
            ],
            "type": "string",
            "description": "Flag keeps retracted papers in the results, marked FIX, so you know to avoid them (they are charged as returned papers). Exclude drops them before they are returned (not charged).",
            "default": "flag"
          },
          "sortBy": {
            "title": "Sort results by",
            "enum": [
              "relevance",
              "citations",
              "newest",
              "oldest"
            ],
            "type": "string",
            "description": "Order of the dataset. The reading list is always ranked by reading score (relevance plus field-normalised citation impact).",
            "default": "relevance"
          },
          "maxResults": {
            "title": "Maximum papers",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "You pay per returned paper, so this also caps the cost ($0.003 x papers).",
            "default": 100
          },
          "readingListSize": {
            "title": "Reading list length",
            "minimum": 5,
            "maximum": 500,
            "type": "integer",
            "description": "How many top papers go into the ranked READING_LIST file. All papers are still in the dataset and exports.",
            "default": 25
          },
          "citationStyle": {
            "title": "Citation style",
            "enum": [
              "apa",
              "mla",
              "chicago",
              "harvard",
              "ieee",
              "vancouver"
            ],
            "type": "string",
            "description": "Style for the citation column and the CITATIONS file. Formatted by citeproc-js with the official CSL style.",
            "default": "apa"
          },
          "includeAbstracts": {
            "title": "Include abstracts",
            "type": "boolean",
            "description": "Add the abstract where OpenAlex has one (some publishers withhold them).",
            "default": true
          },
          "checkUnpaywall": {
            "title": "Find open-access PDFs (Unpaywall)",
            "type": "boolean",
            "description": "Look up the best legal open-access copy of each paper.",
            "default": true
          },
          "openAlexApiKey": {
            "title": "Your OpenAlex API key (optional)",
            "type": "string",
            "description": "Optional. A free key from openalex.org gives you your own daily budget for very large or frequent searches. Stored encrypted; never logged."
          },
          "contactEmail": {
            "title": "Contact email for API etiquette (optional)",
            "type": "string",
            "description": "Sent to Crossref and Unpaywall as the polite-pool contact. Leave empty to use ours."
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}