{
  "openapi": "3.0.1",
  "info": {
    "title": "Semantic Scholar Scraper: Papers, Citations & Influence",
    "description": "Search 200M+ papers on Semantic Scholar and get clean metadata: abstracts, AI-written TLDR summaries, citation and influential-citation counts, open-access PDF links and DOI/arXiv/PubMed IDs. One capped, de-duplicated run.",
    "version": "0.0",
    "x-build-id": "d8XpxeRP5WK1MuHzg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/arman-bd~semantic-scholar-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-arman-bd-semantic-scholar-scraper",
        "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/arman-bd~semantic-scholar-scraper/runs": {
      "post": {
        "operationId": "runs-sync-arman-bd-semantic-scholar-scraper",
        "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/arman-bd~semantic-scholar-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-arman-bd-semantic-scholar-scraper",
        "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": {
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "Free-text searches, one per entry. the same thing you would type into semanticscholar.org. Plain keywords work best; there is no field syntax and no boolean operators. Each query is paginated separately and results are merged.",
            "items": {
              "type": "string"
            }
          },
          "paperIds": {
            "title": "Paper IDs",
            "type": "array",
            "description": "Fetch specific papers instead of, or alongside, searching. Accepts a 40-character Semantic Scholar ID, a bare or prefixed DOI (10.18653/v1/N19-1423), an arXiv ID (arXiv:1706.03762), PMID:19872477, or a full doi.org / arxiv.org / semanticscholar.org URL. An identifier Semantic Scholar does not know is named in RUN_SUMMARY.failures, never returned as an empty row. Named papers are fetched before any search runs.",
            "items": {
              "type": "string"
            }
          },
          "fields": {
            "title": "Extra fields to fetch",
            "type": "array",
            "description": "Optional fields added to every record. Core metadata (IDs, title, year, venue, citation counts) is always included. Unticking the heavy ones (abstract, TLDR, authors) makes responses smaller, which matters most on large runs.",
            "items": {
              "type": "string",
              "enum": [
                "abstract",
                "tldr",
                "authors",
                "openAccessPdf",
                "fieldsOfStudy",
                "publicationTypes",
                "journal"
              ],
              "enumTitles": [
                "Abstract",
                "TLDR summary",
                "Authors",
                "Open-access PDF",
                "Fields of study",
                "Publication types",
                "Journal details"
              ]
            },
            "default": [
              "abstract",
              "tldr",
              "authors",
              "openAccessPdf",
              "fieldsOfStudy",
              "publicationTypes",
              "journal"
            ]
          },
          "includeCitations": {
            "title": "Include citing papers",
            "type": "boolean",
            "description": "Add a 'citations' array to each record listing the papers that cite it (ID, title, year, citation count). Semantic Scholar returns at most the first 1,000 citing papers per record and the payload grows fast, so leave this off unless you are building a citation graph.",
            "default": false
          },
          "year": {
            "title": "Publication year",
            "type": "string",
            "description": "Restrict searches by publication year: a single year ('2021'), a closed range ('2015-2020'), or an open one ('2020-' for 2020 onwards, '-2015' for everything up to 2015). Ignored for direct paper lookups."
          },
          "minCitationCount": {
            "title": "Minimum citations",
            "minimum": 0,
            "type": "integer",
            "description": "Drop search hits below this citation count. Useful for cutting a broad query down to work that has actually been picked up. 0 keeps everything.",
            "default": 0
          },
          "openAccessOnly": {
            "title": "Open access only",
            "type": "boolean",
            "description": "Keep only papers Semantic Scholar has a downloadable PDF for. Turn this on when the point of the run is to collect full texts rather than metadata.",
            "default": false
          },
          "maxResults": {
            "title": "Max papers per run",
            "minimum": 1,
            "maximum": 999,
            "type": "integer",
            "description": "Total papers this run may save, across every search query and paper lookup together, and therefore the most you can be charged for. The cap is shared out between the requests, not given to each one: three queries at 60 return 60 rows in total, not 180. Relevance search reaches 999 papers per query, so 999 is the ceiling here too. Values outside 1-999 are refused rather than treated as unlimited.",
            "default": 100
          },
          "apiKey": {
            "title": "Semantic Scholar API key",
            "type": "string",
            "description": "Optional, and worth setting for anything large. A key gives the run its own allowance at Semantic Scholar, so a long run finishes sooner and is far less likely to leave a query in RUN_SUMMARY.failures. Free from semanticscholar.org/product/api."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}