{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Scholar Scraper With Institution & Journal Data",
    "description": "Scrape Google Scholar with institution and journal data, including authors, affiliations, publications, citations, journal names, and publication details. Ideal for academic research, researcher discovery, citation analysis, institutional analysis, and scholarly intelligence.",
    "version": "0.2",
    "x-build-id": "5u28VNSLQmu4D8bwj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/simpleapi~google-scholar-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-simpleapi-google-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/simpleapi~google-scholar-scraper/runs": {
      "post": {
        "operationId": "runs-sync-simpleapi-google-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/simpleapi~google-scholar-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-simpleapi-google-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": {
          "researchTopics": {
            "title": "🔬 Research Topics / Scholar URLs",
            "type": "array",
            "description": "Bulk list of search keywords (e.g. \"Tomato Shelf Life Prediction\") OR full Google Scholar URLs. One per line. Provide this OR 🏛️ Institution Targets below (or both).",
            "items": {
              "type": "string"
            }
          },
          "searchQueries": {
            "title": "🔎 Search Queries / Scholar URLs (legacy alias)",
            "type": "array",
            "description": "Legacy alias for 🔬 Research Topics above — kept for backward compatibility with existing input JSON. Same behavior; use Research Topics for new runs.",
            "items": {
              "type": "string"
            }
          },
          "papersPerTopic": {
            "title": "📊 Papers per topic / institution",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of papers to fetch per research topic or institution. Real enforced cap is 5000."
          },
          "maxItems": {
            "title": "📊 Max items per query (legacy alias)",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Legacy alias for 📊 Papers per topic / institution above.",
            "default": 10
          },
          "resultFilter": {
            "title": "🧰 Result filter",
            "enum": [
              "all",
              "has_pdf",
              "open_access",
              "recent_5_years"
            ],
            "type": "string",
            "description": "Restrict results by availability or recency. 🔓 Open access only now checks OpenAlex's real is_oa flag (distinct from 📄 Has PDF link)."
          },
          "filter": {
            "title": "🧰 Result filter (legacy alias)",
            "enum": [
              "all",
              "has_pdf",
              "open_access",
              "recent_5_years"
            ],
            "type": "string",
            "description": "Legacy alias for 🧰 Result filter above.",
            "default": "all"
          },
          "publishedFrom": {
            "title": "🕐 Published from (year)",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "Keep only papers published in this year or later. Example: 2020 keeps everything published in 2020 or later."
          },
          "newerThan": {
            "title": "🕐 Newer than / year (legacy alias)",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "Legacy alias for 🕐 Published from above."
          },
          "publishedTo": {
            "title": "🕒 Published to (year)",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "Keep only papers published in this year or earlier. Example: 2024 keeps everything published in 2024 or earlier."
          },
          "olderThan": {
            "title": "🕒 Older than / year (legacy alias)",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "Legacy alias for 🕒 Published to above."
          },
          "rankBy": {
            "title": "🔃 Rank results by",
            "enum": [
              "relevance",
              "cited_by_count"
            ],
            "type": "string",
            "description": "How to order the final results. Most cited first now sorts before truncating to the item cap, so it reflects the full fetched+filtered set."
          },
          "sortBy": {
            "title": "🔃 Sort results by (legacy alias)",
            "enum": [
              "relevance",
              "cited_by_count"
            ],
            "type": "string",
            "description": "Legacy alias for 🔃 Rank results by above.",
            "default": "relevance"
          },
          "publicationType": {
            "title": "📑 Publication type",
            "enum": [
              "any",
              "journal",
              "conference",
              "book",
              "preprint"
            ],
            "type": "string",
            "description": "Restrict to a specific publication type."
          },
          "articleType": {
            "title": "📑 Article type (legacy alias)",
            "enum": [
              "any",
              "journal",
              "conference",
              "book",
              "preprint"
            ],
            "type": "string",
            "description": "Legacy alias for 📑 Publication type above.",
            "default": "any"
          },
          "institutionTargets": {
            "title": "🏛️ Institution Targets (name / ROR ID / OpenAlex ID)",
            "type": "array",
            "description": "Institution names (e.g. \"Stanford University\"), ROR IDs (e.g. https://ror.org/00f54p054), or OpenAlex Institution IDs (e.g. I97018004). Each is resolved and expanded into that institution's full works list, with institution-level stats (h-index, works count, country, international-collaboration signal) attached to every row. One per line. Optional — combine with or use instead of 🔬 Research Topics.",
            "items": {
              "type": "string"
            }
          },
          "enableJournalAnalytics": {
            "title": "📰 Attach journal / venue quality metrics",
            "type": "boolean",
            "description": "For every result, resolve its journal/venue via OpenAlex Sources and attach journalHIndex, journal2yrMeanCitedness (impact-factor-equivalent), journalWorksCount, journalIsOA/journalIsInDOAJ, and journalApcUsd (article-processing charge). One extra request per unique venue, cached per run.",
            "default": true
          },
          "debugMode": {
            "title": "🐞 Enable debug dumps",
            "type": "boolean",
            "description": "Store a dump of every API response into the default key-value store so you can inspect what was fetched. Useful for troubleshooting."
          },
          "enableDebugDumps": {
            "title": "🐞 Enable debug dumps (legacy alias)",
            "type": "boolean",
            "description": "Legacy alias for 🐞 Enable debug dumps above.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy Configuration",
            "type": "object",
            "description": "By default the actor connects directly. If a request hits a temporary hiccup or rate-limit, it auto-escalates through alternate proxy tiers (with retries). Once escalated, that tier stays sticky for the rest of the run.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}