Bishop Score Calculator
The Bishop score calculator combines five findings from a cervical examination into a readiness score used when clinicians consider induction of labor.
Run — free
Enter dilation, effacement, fetal station, cervical consistency, and cervical position to receive the total, a concise category, and every component score. The calculation is fully offline and deterministic: identical valid findings always produce the same result. It is an educational calculation aid, not a diagnosis or a substitute for assessment by a qualified maternity professional who knows the complete clinical situation.
Enter the five examination findings accurately
A Bishop score begins with findings obtained during a cervical examination, so the quality of the result depends entirely on the quality and timing of those observations. Enter cervical dilation in centimeters and effacement as a percentage. Choose fetal station relative to the ischial spines, from minus three through plus two, then select firm, medium, or soft consistency and posterior, mid, or anterior position. The station is presented as a category because negative values are legitimate anatomical labels rather than invalid quantities. Dilation and effacement must be finite, greater than zero, and within their stated clinical ranges. Do not estimate findings from symptoms, contraction timing, or a previous examination. Cervical findings may change, and a score calculated from observations made at different times does not represent one coherent examination. The calculator rejects missing fields, unsupported categories, nonnumeric measurements, and out-of-range values instead of silently guessing. Review every entered value before using the total in documentation or discussion. This tool performs arithmetic only; it cannot verify that an examination was performed correctly or that a selected category matches the clinician’s finding.
Understand how each component contributes
The calculation follows the conventional Bishop point table. Dilation contributes zero points below one centimeter, one point from one to under three centimeters, two points from three to under five centimeters, and three points at five centimeters or more. Effacement contributes zero points below forty percent, one point from forty to under sixty percent, two points from sixty to under eighty percent, and three points at eighty percent or more. Station contributes zero points at minus three, one at minus two, two at minus one or zero, and three at plus one or plus two. Firm, medium, and soft consistency contribute zero, one, and two points respectively; posterior, mid, and anterior position also contribute zero, one, and two. The five component values are added without weighting, producing a total from zero through thirteen. The response includes the component breakdown so a user can audit the arithmetic rather than relying on an unexplained number. It also labels totals below six as unfavorable, six or seven as intermediate, and eight or above as favorable. These labels summarize the score only and do not predict an individual outcome with certainty.
Use the result in appropriate clinical context
The Bishop score is commonly used as one part of evaluating cervical readiness before induction, but a total is not a stand-alone instruction to induce, delay, or choose a particular method. A clinician may also consider gestational age, fetal presentation and wellbeing, membrane status, parity, prior uterine surgery, maternal conditions, medication options, local protocols, and the reason induction is being discussed. Thresholds and terminology can vary between institutions, so compare the displayed component table with the protocol that applies where care is delivered. If a local protocol uses a modified Bishop score, different station convention, or different cutoff, this conventional calculator may not match it. Record the underlying examination findings alongside the total because the same total can arise from different combinations and those combinations may matter clinically. The tool runs without network access, random behavior, or time-dependent data, which makes it suitable for repeatable calculations and software workflows. API use costs $0.002 per request. No calculator should delay urgent assessment: reduced fetal movement, heavy bleeding, severe pain, breathing difficulty, seizure, or other concerning symptoms require prompt contact with an appropriate maternity or emergency service.
What you can do with it
Check bedside arithmetic
Confirm a manually added conventional Bishop score while retaining the five component values for review.
Standardize clinical documentation
Turn consistently recorded examination findings into a deterministic total and category for a structured record.
Support education and simulation
Let learners explore how changes in individual cervical findings affect the total without implying a treatment decision.
FAQ
What is the maximum Bishop score?
The conventional five-component score ranges from 0 to 13: dilation and effacement can each contribute 3 points, station 3, consistency 2, and position 2.
What do the result categories mean?
This calculator labels 0–5 unfavorable, 6–7 intermediate, and 8–13 favorable. They summarize cervical readiness and are not guarantees of induction success.
Why is fetal station entered as text?
Negative stations such as -3 are valid anatomical categories. Treating station as a closed text choice prevents a general non-positive-number rule from incorrectly rejecting them.
Does this calculator recommend induction?
No. It calculates a conventional score only. Decisions require a qualified clinician’s assessment of the patient, fetus, indication, history, preferences, and local guidance.
Can I enter zero dilation or zero effacement?
No. This capability follows its strict input contract and rejects non-positive numeric measurements. Use it only when both measurements are greater than zero.
How much does an API calculation cost?
Each API request costs $0.002. The computation is deterministic and does not call external services.
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/health/bishop-score \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dilation_cm":4,"effacement_percent":70,"station":"-1","consistency":"soft","position":"anterior"}'const res = await fetch("https://api.kit.forhosting.com/health/bishop-score", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dilation_cm": 4,
"effacement_percent": 70,
"station": "-1",
"consistency": "soft",
"position": "anterior"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/bishop-score",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dilation_cm": 4,
"effacement_percent": 70,
"station": "-1",
"consistency": "soft",
"position": "anterior"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/bishop-score", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dilation_cm":4,"effacement_percent":70,"station":"-1","consistency":"soft","position":"anterior"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dilation_cm":4,"effacement_percent":70,"station":"-1","consistency":"soft","position":"anterior"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/bishop-score", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"dilation_cm": 4,
"effacement_percent": 70,
"station": "-1",
"consistency": "soft",
"position": "anterior"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.bishop_score",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |