# Get providers by NPIs

Retrieves specific providers within the developer's directory by NPI search. This endpoint searches active providers that are listed on Zocdoc. It returns the provider's information (such as name, gender identity, specialty), location information and provider location IDs which can be used to look up availability and book appointments. Every developer has a designated provider directory jointly defined and onboarded in partnership with Zocdoc.

The provider_location_id returned in the response can be used to retrieve availability in the endpoint /v1/provider_locations/availability.

Endpoint: GET /v1/providers
Version: 1.176
Security: ClientCredentialsFlow, AuthorizationCodeFlow

## Query parameters:

  - `npis` (string, required)
    A comma-delimited list of Provider NPI numbers. A maximum of 50 items will be accepted at a time.
    Example: "1234567891,0123456789"

  - `insurance_plan_id` (string)
    The Zocdoc ID of the patient's insurance plan. Used to determine if provider takes patient's insurance in response. Use the Get Insurance Plans endpoint to retrieve available plans.
    Example: "ip_2224"

## Response 200 fields (application/json):

  - `request_id` (string, required)
    Unique request identifier for tracing

  - `data` (array, required)

  - `data.npi` (string)

  - `data.providers` (array)

  - `data.providers.provider_id` (string)
    The Zocdoc provider ID

  - `data.providers.npi` (string)

  - `data.providers.first_name` (string)

  - `data.providers.last_name` (string)

  - `data.providers.title` (string)

  - `data.providers.full_name` (string)

  - `data.providers.gender_identity` (string)
    Possible values include: Female, Male, Non-binary

  - `data.providers.specialties` (array)

  - `data.providers.specialty_ids` (array)

  - `data.providers.default_visit_reason_id` (string)

  - `data.providers.visit_reason_ids` (array)

  - `data.providers.statement` (string)

  - `data.providers.provider_photo_url` (string)
    Protocol-relative URL to a provider's photo. URL will change if a new photo is uploaded. Only 1 photo URL will be given at a time. Photos should be 200-4,000 pixels. JPEG and PNG formats are accepted. Photos are reviewed at time of upload and on an annual basis.
    Example: "//d2uur722ua7fvv.cloudfront.net/ZeeFace_02.svg"

  - `data.providers.languages` (array)
    Languages spoken at the practice location, might be facilitated by translators on site.
    Example: ["English","Spanish"]

  - `data.providers.profile_url` (string)
    The URL to view the providers profile on Zocdoc.
    Example: "https://zocdoc.com/doctor/capivarudo-nojeira-md-517507?utm_source=FakeSource"

  - `data.providers.credentials` (object)
    Provider Credentials include education and certifications.

  - `data.providers.credentials.certifications` (array, required)

  - `data.providers.credentials.education` (object, required)

  - `data.providers.credentials.education.institutions` (array)

  - `data.providers.locations` (array, required)

  - `data.providers.locations.provider_location_id` (string, required)
    Example: "pr_abc123-def456_wxyz7890|lo_abc123-def456_wxyz7890"

  - `data.providers.locations.accepts_patient_insurance` (string, required)
    Whether the provider location accepts the patient's insurance
    Enum: "accepted", "not_accepted", "insurance_not_specified"

  - `data.providers.locations.first_availability_date_in_provider_local_time` (string)
    The first date where provider has availability for new patients with any visit reason in provider's local time zone, formatted as YYYY-MM-DD and up to 90 days in the future.

  - `data.providers.locations.booking_requirements` (object, required)
    Criteria for booking appointments, defines requirements and mandatory fields specified by Zocdoc providers

  - `data.providers.locations.booking_requirements.required_fields` (array, required)

  - `data.providers.locations.booking_requirements.accepts_booking_requests_from` (array, required)
    Enum: "in_network", "out_of_network", "self_pay"

  - `data.providers.locations.address1` (string, required)

  - `data.providers.locations.address2` (string)

  - `data.providers.locations.city` (string, required)

  - `data.providers.locations.state` (string, required)
    The location's two letter state code.
    Example: "NY"

  - `data.providers.locations.zip_code` (string, required)
    The location's 5 digit zip code.

  - `data.providers.locations.latitude` (number, required)

  - `data.providers.locations.longitude` (number, required)

  - `data.providers.locations.location_name` (string)

  - `data.providers.virtual_locations` (array, required)

  - `data.providers.virtual_locations.provider_location_id` (string, required)
    Example: "pr_abc123-def456_wxyz7890|lo_abc123-def456_wxyz7890"

  - `data.providers.virtual_locations.accepts_patient_insurance` (string, required)
    Whether the provider location accepts the patient's insurance
    Enum: "accepted", "not_accepted", "insurance_not_specified"

  - `data.providers.virtual_locations.first_availability_date_in_provider_local_time` (string)
    The first date where provider has availability for new patients with any visit reason in provider's local time zone, formatted as YYYY-MM-DD and up to 90 days in the future.

  - `data.providers.virtual_locations.booking_requirements` (object, required)
    Criteria for booking appointments, defines requirements and mandatory fields specified by Zocdoc providers

  - `data.providers.virtual_locations.state` (string, required)
    The location's two letter state code.
    Example: "NY"

  - `data.providers.virtual_locations.location_name` (string)

  - `data.providers.practice` (object, required)

  - `data.providers.practice.practice_id` (string, required)

  - `data.providers.practice.practice_name` (string, required)

## Response 400 fields (application/json):

  - `request_id` (string, required)
    Unique request identifier for tracing

  - `error_type` (string, required)
    Enum: "api_error", "invalid_request"

  - `errors` (array, required)

  - `errors.field` (string)

  - `errors.message` (string, required)


## Response 401 fields

## Response 403 fields
