{
  "openapi": "3.0.1",
  "info": {
    "title": "GuideStar / ProPublica Nonprofit Scraper",
    "description": "Find public nonprofit profiles by EIN or search phrase and return ProPublica IRS 990 data, financial metrics, filing history, and GuideStar profile links. No login required. $0.005 per record.",
    "version": "1.2",
    "x-build-id": "dyIEnNibAl5hcZd6s"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/muhammadafzal~guidestar-propublica-nonprofit-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-muhammadafzal-guidestar-propublica-nonprofit-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/muhammadafzal~guidestar-propublica-nonprofit-scraper/runs": {
      "post": {
        "operationId": "runs-sync-muhammadafzal-guidestar-propublica-nonprofit-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/muhammadafzal~guidestar-propublica-nonprofit-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-muhammadafzal-guidestar-propublica-nonprofit-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": {
          "searchQueries": {
            "title": "Nonprofit search phrases",
            "type": "array",
            "description": "Use this when you want to discover nonprofits by name, alias, or city through ProPublica Nonprofit Explorer. Enter phrases such as 'food bank' or 'New York arts'. Defaults to 'nonprofit'. This is not a general web search or a GuideStar account search.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            },
            "default": [
              "nonprofit"
            ]
          },
          "eins": {
            "title": "Exact EINs",
            "type": "array",
            "description": "Use this when you already know the nonprofit Employer Identification Number and want an exact ProPublica organization lookup. Accepts 7 to 9 digits, with or without a hyphen, for example '14-2007220'. Invalid values are reported in OUTPUT and ignored. This is not a Candid API key field.",
            "items": {
              "type": "string",
              "minLength": 7,
              "maxLength": 10
            },
            "default": []
          },
          "state": {
            "title": "US state or territory",
            "pattern": "^(?:[A-Za-z]{2})?$",
            "type": "string",
            "description": "Use this when search results should be limited to one US state or territory. Enter a two-letter code such as NY or CA. Leave blank for all supported locations. This filter applies to searchQueries, not exact EIN lookups.",
            "default": ""
          },
          "nteeCode": {
            "title": "NTEE major group",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Use this when you want a ProPublica NTEE major-group filter for search results: 1 arts, 2 education, 3 environment, 4 health, 5 human services, 6 international, 7 public benefit, 8 religion, 9 membership, or 10 unknown. Leave blank for all groups.",
            "default": 0
          },
          "subsectionCode": {
            "title": "IRS subsection code",
            "minimum": 0,
            "maximum": 92,
            "type": "integer",
            "description": "Use this when you want to filter search results to an IRS tax subsection, most commonly 3 for 501(c)(3), 4 for 501(c)(4), or 92 for 4947(a)(1). Leave blank for all subsections. This is an IRS code, not a Candid rating.",
            "default": 0
          },
          "maxResults": {
            "title": "Maximum nonprofit records",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Use this to cap stored nonprofit records and the $0.005-per-record event cost. Enter 1 to 500; defaults to 25. The actor may stop earlier when the API has no more matches. This is a record limit, not a page limit.",
            "default": 25
          },
          "maxPages": {
            "title": "Maximum search pages",
            "minimum": 1,
            "maximum": 40,
            "type": "integer",
            "description": "Use this when a search phrase may have more matches than the record cap. ProPublica returns 25 organizations per search page; enter 1 to 40, default 2. Exact EIN lookups do not use pages. This is separate from maxResults.",
            "default": 2
          },
          "includeFilings": {
            "title": "Fetch Form 990 filing details",
            "type": "boolean",
            "description": "Use this when you need latest revenue, expenses, assets, liabilities, and a compact filing history for each nonprofit. Defaults to true. Set false for faster profile-only discovery and lower API traffic; the organization fields and public source links remain available.",
            "default": true
          },
          "maxFilingsPerOrganization": {
            "title": "Filings per organization",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "Use this to limit the detailed filing history array returned for each nonprofit. Enter 1 to 25, default 5. Latest filing metrics are retained even when the array is shorter. This does not change the source data or filingCount.",
            "default": 5
          },
          "responseFormat": {
            "title": "Response format",
            "enum": [
              "concise",
              "detailed"
            ],
            "type": "string",
            "description": "Use concise for smaller AI-agent records or detailed for the selected filing history. Choose concise or detailed; detailed is the default. Both formats keep identity, public links, latest financial metrics, provenance, and warnings.",
            "default": "detailed"
          },
          "requestDelayMs": {
            "title": "Delay between API requests (ms)",
            "minimum": 100,
            "maximum": 5000,
            "type": "integer",
            "description": "Use this when you want to pace requests to the public ProPublica API. Enter 100 to 5,000 milliseconds; default is 250. Increase it for large runs or if the source is rate-limiting. This is not a total run timeout.",
            "default": 250
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}