{
  "openapi": "3.0.1",
  "info": {
    "title": "NIH Research Grants & Funding Scraper",
    "description": "Scrape NIH research grants: project title, abstract, principal investigators, organization, award and total cost, institute, activity code, dates and terms. Filter by keyword, PI, organization, state or year. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "c7LSgpX1Dc30XCFii"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~usa-nih-reporter-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-usa-nih-reporter-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/scrapers_lat~usa-nih-reporter-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-usa-nih-reporter-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/scrapers_lat~usa-nih-reporter-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-usa-nih-reporter-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": {
          "maxProjects": {
            "title": "Max Projects To Scrape",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of research funding records to collect across the whole run. Optional."
          },
          "textQuery": {
            "title": "Keyword",
            "type": "string",
            "description": "Optional. Free-text search across project title, abstract and research terms (for example 'crispr gene editing', 'alzheimer', 'vaccine')."
          },
          "piNames": {
            "title": "Principal Investigator Names",
            "type": "array",
            "description": "Optional. One or more investigator names (any part of the name), for example 'Doudna' or 'Jennifer Doudna'.",
            "items": {
              "type": "string"
            }
          },
          "orgNames": {
            "title": "Organization Names",
            "type": "array",
            "description": "Optional. One or more funded organizations, for example 'Stanford University' or 'Broad Institute'.",
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "Organization States",
            "type": "array",
            "description": "Optional. Two-letter US state codes of the funded organization, for example 'CA', 'MA', 'NY'.",
            "items": {
              "type": "string"
            }
          },
          "fiscalYears": {
            "title": "Fiscal Years",
            "type": "array",
            "description": "Optional. One or more fiscal years, for example '2024', '2023'.",
            "items": {
              "type": "string"
            }
          },
          "activityCodes": {
            "title": "Activity Codes",
            "type": "array",
            "description": "Optional. NIH activity codes (award types) to include, for example 'R01', 'R21', 'F32', 'U01'.",
            "items": {
              "type": "string"
            }
          },
          "orgCountry": {
            "title": "Organization Country",
            "type": "string",
            "description": "Optional. Full country name of the funded organization, for example 'UNITED STATES'."
          },
          "withAiSummary": {
            "title": "AI plain-language summary (paid add-on)",
            "type": "boolean",
            "description": "Off by default. When on, generates a 2-3 sentence summary from each grant's abstract (skipped when none). Requires a paid Apify plan. Billed only when a summary is produced.",
            "default": false
          },
          "withAiKeywords": {
            "title": "AI keywords (paid add-on)",
            "type": "boolean",
            "description": "Off by default. When on, extracts 5-10 topical keywords per grant. Requires a paid Apify plan. Billed only when keywords are produced.",
            "default": false
          },
          "withAiField": {
            "title": "AI field classification (paid add-on)",
            "type": "boolean",
            "description": "Off by default. When on, classifies each grant's research field/discipline. Requires a paid Apify plan. Billed only when a classification is produced.",
            "default": false
          },
          "withAiExtract": {
            "title": "AI structured extract (paid add-on)",
            "type": "boolean",
            "description": "Off by default. When on, extracts a structured grant profile per project (aims, approach, expected outcomes) from its abstract. Requires a paid Apify plan. Billed only when structured data is produced.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}