{
  "openapi": "3.0.1",
  "info": {
    "title": "PLOS Journals Scraper",
    "description": "Scrapes PLOS ONE search results and returns each article as a flat row with title, authors, abstract, publication date, and DOI. Drive it by search filters or a direct URL.",
    "version": "1.0",
    "x-build-id": "P1Zu90hfARMYkMN1r"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~plos-journals-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-plos-journals-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/parseforge~plos-journals-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-plos-journals-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/parseforge~plos-journals-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-plos-journals-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": {
          "maxItems": {
            "title": "Maximum articles",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of articles to collect per run."
          },
          "startUrl": {
            "title": "PLOS article URLs",
            "type": "string",
            "description": "Direct PLOS search URL to scrape (mutually exclusive with search filters). Must include filterJournals=PLoSONE parameter. Example: https://journals.plos.org/ploscompbiol/search?filterJournals=PLoSONE&q=genetics&page=1"
          },
          "searchQuery": {
            "title": "Search term for articles",
            "type": "string",
            "description": "Search query string. Only works when using search filters (not with startUrl). Example: 'genetics'"
          },
          "subjectArea": {
            "title": "Subject Area",
            "enum": [
              "Biology and life sciences",
              "Medicine and health sciences",
              "Social sciences",
              "Psychology",
              "Research and analysis methods",
              "Neuroscience",
              "Medical conditions",
              "Anatomy",
              "Developmental psychology",
              "Pervasive developmental disorders",
              "Neurology",
              "Autism spectrum disorder",
              "Physical sciences",
              "People and places",
              "Cognitive science",
              "Cognitive psychology",
              "Population groupings",
              "Developmental neuroscience",
              "Neurodevelopmental disorders",
              "Organisms",
              "Biochemistry",
              "Physiology",
              "Genetics",
              "Age groups",
              "Autism",
              "Eukaryota",
              "Behavior",
              "Families",
              "Children",
              "Zoology",
              "Cell biology",
              "Mental health and psychiatry",
              "Animals",
              "Mathematics",
              "Perception",
              "Computer and information sciences",
              "Sociology",
              "Engineering and technology",
              "Epidemiology",
              "Developmental biology",
              "Diagnostic medicine",
              "Emotions",
              "Sensory perception",
              "Imaging techniques",
              "Mathematical and statistical techniques",
              "Chemistry",
              "Proteins",
              "Gene expression",
              "Cellular types",
              "Statistics",
              "Medical risk factors",
              "Statistical methods",
              "Animal cells",
              "Clinical medicine",
              "Learning and memory",
              "Animal studies",
              "Experimental organism systems",
              "Molecular biology",
              "Health care",
              "Genomics",
              "Vertebrates",
              "Cognition",
              "Molecular biology techniques",
              "Invertebrates",
              "Model organisms",
              "Neuropsychiatric disorders",
              "Head",
              "Neuroimaging",
              "Radiology and imaging",
              "Diagnostic radiology",
              "Animal behavior",
              "Pathology and laboratory medicine",
              "Animal models",
              "Arthropoda",
              "Brain",
              "Research design",
              "Amniotes",
              "Physics",
              "Geographical locations",
              "Cardiology",
              "Microbiology",
              "Mammals",
              "Cognitive neuroscience",
              "Nucleic acids",
              "Computational biology",
              "Brain mapping",
              "Entomology",
              "Insects",
              "Chemical compounds",
              "Vision",
              "Public and occupational health",
              "Infectious diseases",
              "Earth sciences",
              "Pathogens",
              "Memory",
              "Cardiovascular diseases",
              "Cardiovascular medicine",
              "Medical microbiology",
              "Ecology and environmental sciences",
              "Magnetic resonance imaging"
            ],
            "type": "string",
            "description": "Filter by subject area. Only works when using search filters (not with startUrl)."
          },
          "author": {
            "title": "Author",
            "type": "string",
            "description": "Filter by author name. Only works when using search filters (not with startUrl). Example: 'Wei Zhang'"
          },
          "publicationDateFrom": {
            "title": "Publication Date From",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Start date for publication date range (YYYY-MM-DD format). Only works when using search filters (not with startUrl)."
          },
          "publicationDateTo": {
            "title": "Publication Date To",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "End date for publication date range (YYYY-MM-DD format). Only works when using search filters (not with startUrl)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}