{
  "openapi": "3.0.1",
  "info": {
    "title": "Unofficial GuideStar / ProPublica Nonprofit Scraper",
    "description": "Access detailed nonprofit data from ProPublica's Nonprofit Explorer. For grant researchers, fundraising teams, and due diligence professionals who need accurate nonprofit financials without manual lookup. Unofficial tool, not affiliated with or endorsed by Candid, GuideStar, or ProPublica, Inc.",
    "version": "1.0",
    "x-build-id": "2MPSf0E4csg0BvPd9"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~guidestar-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-guidestar-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~guidestar-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-guidestar-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~guidestar-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-guidestar-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": {
          "searchQuery": {
            "title": "Organization name or keyword",
            "type": "string",
            "description": "Keyword search for organization name, alternate name, or city. Leave empty to search all organizations using letter-based enumeration for maximum coverage."
          },
          "maxItems": {
            "title": "Maximum nonprofits",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of nonprofits to collect per run."
          },
          "state": {
            "title": "State",
            "pattern": "^[A-Z]{2}$",
            "minLength": 2,
            "maxLength": 2,
            "type": "string",
            "description": "Two-letter US state code (e.g., CA, TX, NY, FL, IL, PA, OH, GA, NC, MI). Leave empty for all states."
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "City name to filter results (e.g., New York, Los Angeles, Chicago). Leave empty for all cities."
          },
          "nteeCategory": {
            "title": "NTEE Category",
            "enum": [
              "",
              "A",
              "B",
              "C",
              "D",
              "E",
              "F",
              "G",
              "H",
              "I",
              "J",
              "K",
              "L",
              "M",
              "N",
              "O",
              "P",
              "Q",
              "R",
              "S",
              "T",
              "U",
              "V",
              "W",
              "X",
              "Y",
              "Z"
            ],
            "type": "string",
            "description": "National Taxonomy category letter (A-Z). Examples: A=Arts, B=Education, C=Environment, D=Animal, E=Health, P=Human Services. Leave empty for all categories."
          },
          "subsectionCode": {
            "title": "501(c) Subsection Code",
            "enum": [
              "",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8",
              "9",
              "10",
              "13",
              "14",
              "19"
            ],
            "type": "string",
            "description": "Tax-exempt subsection. Common values: 3=Charitable, 4=Social Welfare, 5=Labor/Agricultural, 6=Business Leagues, 7=Social/Recreational."
          },
          "minRevenue": {
            "title": "Min Annual Revenue",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum annual revenue in USD. Filter organizations by revenue size. Leave empty for no minimum."
          },
          "maxRevenue": {
            "title": "Max Annual Revenue",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum annual revenue in USD. Filter organizations by revenue size. Leave empty for no maximum."
          },
          "minAssets": {
            "title": "Min Total Assets",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum total assets in USD. Filter organizations by asset size. Leave empty for no minimum."
          },
          "maxAssets": {
            "title": "Max Total Assets",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum total assets in USD. Filter organizations by asset size. Leave empty for no maximum."
          },
          "hasRecentFiling": {
            "title": "Has Recent 990 Filing",
            "type": "boolean",
            "description": "Filter to only include organizations with recent Form 990 filings (within last 3 years).",
            "default": false
          },
          "minFilingYear": {
            "title": "Min Filing Year",
            "minimum": 1990,
            "maximum": 2030,
            "type": "integer",
            "description": "Minimum year of most recent filing (e.g., 2020). Leave empty for no minimum."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}