{
  "openapi": "3.0.1",
  "info": {
    "title": "NASA Reports Scraper",
    "description": "Access NASA’s Technical Reports Server (NTRS) with an automated scraper that collects scientific papers, conference proceedings, journal articles, and research reports. Provides structured metadata for researchers, scientists, and academics needing large-scale access to NASA’s technical publications",
    "version": "0.1",
    "x-build-id": "zNaKrQf4dFcOwcsQQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~nasa-reports-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-nasa-reports-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~nasa-reports-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-nasa-reports-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~nasa-reports-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-nasa-reports-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": {
          "startUrl": {
            "title": "Start URL",
            "type": "string",
            "description": "Direct URL to scrape (not fully supported - NASA NTRS uses POST API). Use API filters instead for better results."
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 100. Paid users: Optional, max 1,000,000"
          },
          "searchQuery": {
            "title": "Search Query",
            "type": "string",
            "description": "General search query to find reports. Use this OR startUrl above, not both."
          },
          "title": {
            "title": "Title",
            "type": "string",
            "description": "Filter by report title"
          },
          "author": {
            "title": "Author",
            "type": "string",
            "description": "Filter by author name (e.g., 'Smith, John')"
          },
          "organization": {
            "title": "Organization",
            "type": "string",
            "description": "Filter by organization (e.g., 'NASA Ames Research Center')"
          },
          "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)."
          },
          "dateAcquiredFrom": {
            "title": "Date Acquired From",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Start date for date acquired range (YYYY-MM-DD format). Only works when using search filters (not with startUrl)."
          },
          "dateAcquiredTo": {
            "title": "Date Acquired To",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "End date for date acquired range (YYYY-MM-DD format). Only works when using search filters (not with startUrl)."
          },
          "documentType": {
            "title": "Document Type",
            "enum": [
              "Video",
              "Other - Other",
              "Contractor or Grantee Report",
              "Accepted Manuscript (Version with final changes)",
              "Technical Publication (TP)",
              "Poster",
              "Other - NASA Technical Note (TN)",
              "Other - Patent",
              "Accepted Manuscript",
              "Conference Proceedings",
              "Version of Record",
              "Abstract",
              "Preprint (Draft being sent to journal)",
              "Other - NASA Tech Brief",
              "Technical Memorandum (TM)",
              "Presentation",
              "Other",
              "Contractor Report (CR)",
              "Reprint (Version printed in journal)",
              "Conference Paper"
            ],
            "type": "string",
            "description": "Filter by document type. Only works when using search filters (not with startUrl)."
          },
          "center": {
            "title": "Center",
            "enum": [
              "Ames Research Center",
              "Armstrong Flight Research Center",
              "Glenn Research Center",
              "Goddard Space Flight Center",
              "Headquarters",
              "Jet Propulsion Laboratory",
              "Johnson Space Center",
              "Kennedy Space Center",
              "Langley Research Center",
              "Legacy CDMS",
              "Marshall Space Flight Center",
              "Stennis Space Center",
              "Wallops Flight Facility",
              "White Sands Test Facility"
            ],
            "type": "string",
            "description": "Filter by NASA center. Only works when using search filters (not with startUrl)."
          },
          "subjectCategory": {
            "title": "Subject Category",
            "type": "string",
            "description": "Filter by subject category (e.g., 'Astrophysics', 'Aerodynamics')"
          },
          "reportNumbers": {
            "title": "Report Numbers",
            "type": "string",
            "description": "Filter by report number (e.g., 'NASA-TM-2023-123456')"
          },
          "fundingNumbers": {
            "title": "Funding Numbers",
            "type": "string",
            "description": "Filter by funding number (e.g., 'NNX07AD99G')"
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Filter by keywords (comma-separated)"
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "Best Match",
              "Date Descending",
              "Date Ascending",
              "Title Ascending",
              "Title Descending"
            ],
            "type": "string",
            "description": "Sort order for search results. Only works when using search filters (not with startUrl).",
            "default": "Best Match"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}