Zocdoc facilities API

Endpoints to retrieve facilities within the developer's directory.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zocdoc-facilities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zocdoc-facilities-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: '1.177'
  title: API Documentation facilities API
  description: Endpoints to retrieve facilities within the developer's directory.
servers:
- url: https://api-developer-sandbox.zocdoc.com
  description: Sandbox
- url: https://api-developer.zocdoc.com
  description: Production
tags:
- name: facilities
  description: Endpoints to retrieve facilities within the developer's directory.
  x-displayName: Facilities
paths:
  /v1-beta/facilities:
    get:
      tags:
      - facilities
      summary: Get facilities
      description: Get a set of facilities within the developer's network.
      security:
      - ClientCredentialsFlow: []
      - AuthorizationCodeFlow: []
      operationId: getFacilities
      parameters:
      - name: npis
        in: query
        description: A comma-delimited list of Provider NPI numbers. A maximum of 50 items will be accepted
          at a time. One of `zip_code` or `npis` is required.
        schema:
          type: string
          example: 1234567891,0123456789
      - name: zip_code
        in: query
        description: A 5 digit zip code that will be used as the location to find facilities near by.
          One of `zip_code` or `npis` is required.
        schema:
          type: string
          example: 36925
      - name: building_type
        in: query
        description: The type of facility building, which can be Clinic or Hospital.
        schema:
          $ref: '#/components/schemas/BuildingType'
      - name: page
        in: query
        description: The zero indexed page of results.
        schema:
          type: integer
      - name: page_size
        in: query
        description: The number of results to return per page.
        schema:
          type: integer
      - name: visit_reason_id
        in: query
        description: The Zocdoc ID of the visit reason to search by `zip_code` for. See [Reference Data](/guides/reference-data)
          for options.
        schema:
          type: string
          example: pc_FRO-18leckytNKtruw5dLR
      - name: insurance_plan_id
        in: query
        description: The Zocdoc ID of the patient's insurance plan to search by `zip_code` for. Use the
          [Get Insurance Plans](#operation/getInsurancePlans) endpoint to retrieve available plans.
        schema:
          type: string
          example: ip_2224
      - name: max_distance_to_patient_mi
        in: query
        description: The maximum distance in miles from the facility to the search location (the center
          point of the given `zip_code`). Default is 50 miles.
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilitiesResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not found
  /v1-beta/facilities/{facility_id}:
    get:
      tags:
      - facilities
      summary: Get facility by id
      description: Get facility by facility id.
      security:
      - ClientCredentialsFlow: []
      - AuthorizationCodeFlow: []
      operationId: getFacility
      parameters:
      - name: facility_id
        in: path
        required: true
        description: Zocdoc facility id.
        schema:
          type: string
          example: d04b049a-41b1-4aba-9268-d8973cf72cdd
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FacilityByIdResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not found
components:
  schemas:
    BaseLocation:
      type: object
      required:
      - address1
      - city
      - state
      - zip_code
      - latitude
      - longitude
      properties:
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        state:
          description: The location's two letter state code.
          example: NY
          type: string
        zip_code:
          description: The location's 5 digit zip code.
          type: string
        latitude:
          type: number
          format: float
        longitude:
          type: number
          format: float
        location_name:
          type: string
        phone_number:
          type: string
          description: Unformatted phone number for the location. Returns null for certain API products.
          example: '9999999999'
        phone_extension:
          type: string
          description: Unformatted extension digits for the location phone number.
          example: '123'
        time_zone:
          type: string
          description: IANA time zone identifier for the location, e.g., America/New_York.
          example: America/New_York
    BaseResult:
      required:
      - request_id
      type: object
      properties:
        request_id:
          type: string
          description: Unique request identifier for tracing
    BookingRequestInsuranceSource:
      type: string
      description: The types of insurance coverage that a provider accepts
      enum:
      - in_network
      - out_of_network
      - self_pay
    BookingRequirements:
      type: object
      required:
      - required_fields
      - accepts_booking_requests_from
      properties:
        required_fields:
          type: array
          items:
            type: string
            description: Options include `data.patient.insurance.insurance_plan_id` and `data.patient.insurance.insurance_member_id`
        accepts_booking_requests_from:
          type: array
          items:
            $ref: '#/components/schemas/BookingRequestInsuranceSource'
      description: Criteria for booking appointments, defines requirements and mandatory fields specified
        by Zocdoc providers
    BuildingType:
      type: string
      description: The type of facility building, which can be clinic or hospital.
      enum:
      - clinic
      - hospital
    Error:
      required:
      - message
      type: object
      properties:
        field:
          type: string
        message:
          type: string
    ErrorResult:
      allOf:
      - $ref: '#/components/schemas/BaseResult'
      - type: object
        required:
        - error_type
        - errors
        properties:
          error_type:
            $ref: '#/components/schemas/ErrorType'
          errors:
            type: array
            items:
              $ref: '#/components/schemas/Error'
    ErrorType:
      type: string
      enum:
      - api_error
      - invalid_request
    FacilitiesResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/PaginatedBaseResult'
      - type: object
        required:
        - data
        properties:
          data:
            type: array
            items:
              $ref: '#/components/schemas/Facility'
    Facility:
      type: object
      required:
      - facility_id
      - name
      - specialties
      - languages
      - visit_reason_ids
      - default_visit_reason_id
      - location
      - schedule
      properties:
        facility_id:
          type: string
          description: Zocdoc id for facility
        name:
          type: string
        npi:
          type: string
        building_type:
          type: string
        specialties:
          type: array
          items:
            type: string
        languages:
          type: array
          items:
            type: string
        visit_reason_ids:
          type: array
          items:
            type: string
        default_visit_reason_id:
          type: string
        location:
          $ref: '#/components/schemas/BaseLocation'
        schedule:
          $ref: '#/components/schemas/FacilitySchedule'
        practice:
          $ref: '#/components/schemas/Practice'
    FacilityByIdResponse:
      type: object
      allOf:
      - $ref: '#/components/schemas/BaseResult'
      - type: object
        properties:
          data:
            $ref: '#/components/schemas/Facility'
    FacilitySchedule:
      type: object
      required:
      - schedule_id
      - provider_location_id
      - booking_requirements
      properties:
        schedule_id:
          type: string
          description: Zocdoc id for bookable schedule
        provider_location_id:
          type: string
          description: Zocdoc provider location id for availability and booking requests
        booking_requirements:
          $ref: '#/components/schemas/BookingRequirements'
    PaginatedBaseResult:
      allOf:
      - $ref: '#/components/schemas/BaseResult'
      - type: object
        required:
        - page
        - page_size
        - total_count
        - next_url
        properties:
          page:
            description: The zero based index of the current page.
            type: integer
          page_size:
            description: The size of the current page.
            type: integer
          total_count:
            description: The total number of result items.
            type: integer
          next_url:
            description: A link to the next page of results; null if this is the last page of results.
            type: string
    Practice:
      type: object
      required:
      - practice_id
      - practice_name
      properties:
        practice_id:
          type: string
        practice_name:
          type: string
  securitySchemes:
    ClientCredentialsFlow:
      type: oauth2
      description: 'Machine to machine authentication (for use from client server to Zocdoc).

        Production: `https://auth.zocdoc.com/oauth/token`

        Sandbox: `https://auth-api-developer-sandbox.zocdoc.com/oauth/token`

        '
      flows:
        clientCredentials:
          tokenUrl: https://auth.zocdoc.com/oauth/token
          scopes:
            external.appointment.write: Book and modify appointments.
            external.appointment.read: Read basic details of your appointments.
            external.anonymous_token.write: Create anonymous tokens used for discovery endpoints.
            external.provider_insurance.write: Update the insurance accepted by a provider.
            external.schedulable_entity.read: Read schedulable entities.
            external.booking_intent.write: Create and modify booking intents.
            external.booking_intent.read: Read booking intents.
            external.consent.read: Read your partner-connect consent grants.
            external.partner_consent.write: Revoke your partner-connect consent grants.
    AuthorizationCodeFlow:
      type: oauth2
      description: 'Log in as a user. Client Secret is not necessary for this login flow.

        Production: `https://auth.zocdoc.com`

        Sandbox: `https://auth-api-developer-sandbox.zocdoc.com`

        '
      flows:
        authorizationCode:
          x-usePkce: true
          tokenUrl: https://auth.zocdoc.com/oauth/token
          authorizationUrl: https://auth.zocdoc.com/authorize
          scopes:
            external.appointment.write: Book and modify appointments.
            external.appointment.read: Read basic details of your appointments.
            external.schedulable_entity.read: Read schedulable entities.