{
  "openapi": "3.0.1",
  "info": {
    "title": "Church Finder Scraper",
    "description": "[💰 $3.5 / 1K] Extract US church listings from Church Finder — name, denomination, address, phone, website, service times, pastor, member count, ministries, beliefs, ratings and reviews. Search any city or state and filter by 13 denominations.",
    "version": "1.0",
    "x-build-id": "QHr0vzxWO9CqnawBe"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/solidcode~churchfinder-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-solidcode-churchfinder-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/solidcode~churchfinder-scraper/runs": {
      "post": {
        "operationId": "runs-sync-solidcode-churchfinder-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/solidcode~churchfinder-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-solidcode-churchfinder-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": {
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities or states to search. Type them the way you'd say them — 'Austin, TX' or 'San Antonio, Texas'. Enter just a state ('Texas' or 'TX') to work through every city in that state, in the directory's own order (roughly alphabetical), until your result limit is reached. To target the big metros, name those cities yourself.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Church Finder URLs",
            "type": "array",
            "description": "Paste Church Finder web addresses directly. Works with state pages, city listings, denomination listings and individual church pages. Review pages on their own aren't supported — paste the church's profile address instead. Leave empty if you're using Locations.",
            "items": {
              "type": "string"
            }
          },
          "denominations": {
            "title": "Denominations",
            "uniqueItems": true,
            "type": "array",
            "description": "Only return churches of these denominations. Leave empty to include every denomination. Choosing several searches each one in turn. This applies to city and state searches; an individual church address you paste under Church Finder URLs is always returned.",
            "items": {
              "type": "string",
              "enum": [
                "baptist",
                "catholic",
                "methodist",
                "lutheran",
                "presbyterian",
                "episcopal",
                "orthodox",
                "pentecostal",
                "spirit-filled",
                "evangelical",
                "reformed",
                "christian",
                "non-denominational"
              ],
              "enumTitles": [
                "Baptist",
                "Catholic",
                "Methodist",
                "Lutheran",
                "Presbyterian",
                "Episcopal / Anglican",
                "Orthodox",
                "Pentecostal",
                "Spirit-Filled / Charismatic",
                "Evangelical",
                "Reformed",
                "Christian",
                "Non-Denominational"
              ]
            }
          },
          "includeChurchDetails": {
            "title": "Include full church profiles",
            "type": "boolean",
            "description": "Visit each church's profile page to collect ZIP code, phone number, website, service times, pastor, ministries, beliefs and ratings. Turn this off for a much faster run that returns at least church name, street, city, state, denomination and profile link — around 30 other fields come from the profile page. If a profile can't be opened, the church is still returned with those basic details. Churches are enriched in batches of up to 100, and each batch has a time budget of a few minutes; if Church Finder answers too slowly, the rest of that batch is returned with the basic details and the run finishes with a partial-results message telling you how many."
          },
          "includeReviews": {
            "title": "Include visitor reviews",
            "type": "boolean",
            "description": "Also collect visitor reviews for churches that have them. Only about 2% of churches have any review at all, so this rarely slows your run, and every review a church has is returned at once. Reviews come from the church's profile page, so switching this on also switches on 'Include full church profiles'."
          },
          "maxResults": {
            "title": "Maximum churches",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of churches to return across all your searches. This is an exact limit — you're never charged for more than this. Set to 0 for no limit, which collects up to 50,000 churches per run."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}