Dowell Sample Size Calculation API
Simplify Statistical Analysis: Dowell Sample Size Calculation API

Dowell
Sample Size Calculation API
The Dowell Sample Size Calculation API assists researchers, analysts, and data scientists in determining the appropriate sample size for a given population, variance, error tolerance, and confidence interval. This API streamlines the process of calculating sample sizes for various statistical analyses, ensuring that your studies are statistically sound and reliable.
Key Features

Precise Calculation
The Sample Size Calculator API provides accurate sample size calculations based on specified parameters such as variance, error tolerance, population size, and confidence interval. This ensures that researchers obtain reliable sample sizes for their studies.

Simplified Process
Users can easily determine the appropriate sample size by inputting essential parameters into the API endpoint. The straightforward request format streamlines the process, saving time and effort for researchers, analysts, and data scientists.

Method Flexibility
The API offers multiple methods for sample size calculation, including Slovin's method when variance is not provided and sample size generation using population size, variance, error, and confidence interval. This flexibility allows users to choose the most suitable method for their specific research needs.

Detailed Response
Upon making an API request, users receive a comprehensive response that includes the method used for calculation, the recommended sample size, and the computation time. This detailed feedback enables researchers to understand the rationale behind the sample size recommendation and assess the computational efficiency of the API.
Getting Started
To begin using the Sample Size API, follow these steps:
Review the API Documentation:
Familiarize yourself with the available endpoints, request parameters, and response formats outlined in this documentation.API Requests:
Make API requests using the provided endpoint and necessary input parameters:
Endpoint:
http://100102.pythonanywhere.com/sample-size/
Input Parameters:
1. Variance
: A measure of how much the values in a dataset differ from the mean. It indicates the spread or dispersion of the data points.2. Error Tolerance
: The maximum allowable difference between the true population parameter and the estimated parameter based on the sample. It reflects the level of precision desired in the study’s results.3. Population Size
: The total number of individuals or elements in the entire population being studied. It is the entire group from which a sample is drawn.4. Confidence Interval
: With a certain level of confidence, we expect the true population parameter to lie within a range, often expressed as a percentage
Response Format:
Upon making an API request, you will receive a detailed response containing the following information:
method_used:
The specific statistical method applied for sample size calculation.Methods used are:- Slovin’s Method- When the variance is not provided.
- Sample size generation using population size, variance, error and confidence interval (z score).
sample_size:
The recommended sample size for the study.computation_time:
The time taken for the computation process.

Postman Documentation
For detailed API documentation, including endpoint descriptions, request and response examples, and authentication details, please refer to the API documentation
Dowell Sample Size Calculation API Demonstrative Scenarios
In the following scenarios, Dowell will furnish comprehensive instructions on obtaining the Service key and guide you through the steps to use the API. You’ll find examples in various formats such as Python, PHP, React, Flutter, and WordPress in the tabs below. Feel free to explore the examples in each tab for practical insights.
Dowell Sample Size Calculation API Use Cases
Dive into the world of precision with our Sample Size Calculation API! Discover how pharmaceutical breakthroughs, market strategies, and educational insights are powered by accurate sample size estimation. Watch now to unveil the science behind confident decision-making in clinical trials, market research, and educational studies.
Frequently Asked Questions (FAQs) about Dowell Sample Size Calculation API
1. What are the input parameters required for making API requests?
The input parameters include Variance, Error Tolerance, Population Size, and Confidence Interval.
2. What is Variance in the context of sample size calculation?
Variance is a measure of how much the values in a dataset differ from the mean. It indicates the spread or dispersion of the data points.
3. Can you explain Error Tolerance and its significance in sample size calculation?
Error Tolerance represents the maximum allowable difference between the true population parameter and the estimated parameter based on the sample. It reflects the level of precision desired in the study’s results.
4. What does Population Size refer to in the context of the API?
Population Size denotes the total number of individuals or elements in the entire population being studied. It is the entire group from which a sample is drawn.
5. How is Confidence Interval defined and why is it important?
The Confidence Interval indicates, with a certain level of confidence, the range within which the true population parameter is expected to lie. It’s crucial for estimating the precision of sample-based estimates.
6. What kind of support is available if I encounter any issues while using the API?
If you encounter any issues, have questions, or need assistance with Dowell Sample Size Calculation API, you can contact the support team for prompt assistance. Contact us at Dowell@dowellresearch.uk
7. What statistical methods does the API employ for sample size calculation?
The API employs Slovin’s Method when the variance is not provided, and it utilizes sample size generation using population size, variance, error, and confidence interval (z-score).
8. What information does the API response contain?
The API response includes the specific statistical method used for sample size calculation, the recommended sample size, and the computation time.
9. Can I integrate the Dowell Sample Size API into my existing research or analysis workflow?
Yes, you can integrate the API into your existing workflow to streamline the process of determining the appropriate sample size for your studies, ensuring statistical soundness and reliability.
10. What other APIs does Dowell UX Living Lab provide besides Sample Size Calculation API?
Dowell UX Living Lab offers a wide range of APIs to enhance user experience and streamline various processes. To explore the full list of APIs available, including Dowell Email, Dowell Newsletter, Samanta Content Evaluator, and many more.
For more details and to explore the complete list of APIs provided by Dowell UX Living Lab, please visit our documentation page.
How To Get The API Key
- Access the Dowellstore website through this link: https://dowellstore.org and login. Once on the website, navigate to the API service section and activate the DOWELL SAMPLE SIZE CALCULATION API service. The API Key you need can be found in the dashboard, provided there as the service key. For more information follow the instructions in the videos found at the link below.
[How to get API key and redeem your voucher Step-by-Step Tutorial] - You can also find a step-by-step guide on how to get the API key and activate the API(s) by following this link Get The Service Key
- Then set the API KEY as part of the url parameter as shown below. Replace with your actual API key. The URL format: https://www.socialmediaautomation.uxlivinglab.online/api/v1/generate-sentences/
- Note: Make sure to activate your API from Dowell API Key System link provided above.

Python Example
1) Both Population and Standard Deviation is available.
This script sends a POST request to a specified URL, including parameters such as population size, error rate, confidence level, and standard deviation. The server processes the request and returns data. If the request is successful (HTTP status code 200), the script prints the JSON response; otherwise, it prints an error message with the HTTP status code.
import requests
url = "http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b"
payload = {
"population_size": 10000,
"error": 0.5,
"confidence_level": 0.90,
"standard_deviation": 0.5,
}
response = requests.post(url, json=payload)
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"Request failed with status code: {response.status_code}")
2) Population is available and Standard Deviation is not available.
The script sends a POST request to a specified URL, providing parameters such as population size, error, and confidence level. The request is made to the Dowell Living Lab Maps API, using the given API key for authentication. Upon receiving a successful response (HTTP status code 200), the script prints the JSON data returned by the API. In case of a failure, it prints an error message along with the HTTP status code.”
import requests
url = "http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b"
payload = {"population_size": 10000, "error": 0.5, "confidence_level": 0.90}
response = requests.post(url, json=payload)
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"Request failed with status code: {response.status_code}")
3) Population is not available and Standard Deviation is available.
The Python script is making an HTTP POST request to the specified URL using the requests library. The request includes a JSON payload with parameters such as “error,” “confidence_level,” and “standard_deviation.” In statistical analysis, these parameters likely contribute to the calculation of sample size. If the request successfully executes (HTTP status code 200), the system prints the response JSON data. Otherwise, it prints an error message along with the HTTP status code that indicates the failure.
import requests
url = "http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b"
payload = {"error": 0.5, "confidence_level": 0.90, "standard_deviation": 0.5}
response = requests.post(url, json=payload)
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"Request failed with status code: {response.status_code}")
4) Both Population and Standard Deviation is not available.
This Python script sends a POST request to a specified URL with a JSON payload containing error and confidence level parameters. If the response status code is 200, it prints the JSON data; otherwise, it indicates the request failure with the corresponding status code
import requests
url = "http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b"
payload = {"error": 0.5, "confidence_level": 0.90}
response = requests.post(url, json=payload)
if response.status_code == 200:
data = response.json()
print(data)
else:
print(f"Request failed with status code: {response.status_code}")
PHP Example
1) Both Population and Standard Deviation is available.
1) Both Population and Standard Deviation is available.
This PHP script sends a POST request to a specified URL with a JSON payload containing parameters such as population size, error, confidence level, and standard deviation. It uses file_get_contents with a custom context to set headers for the request. The response is then decoded from JSON, and the resulting data is either printed or an error message is displayed if the request fails.
10000,
"error" => 0.5,
"confidence_level" => 0.90,
"standard_deviation" => 0.5,
);
$options = array(
'http' => array(
'header' => "Content-type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($payload),
),
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response !== FALSE) {
$data = json_decode($response, true);
print_r($data);
} else {
echo "Request failed";
}
?>
2) Population is available and Standard Deviation is not available.
This PHP script mirrors the Python code by making a POST request to the specified URL with a JSON payload containing population size, error, and confidence level. It uses file_get_contents with a custom context to set headers for the request, and the response is then decoded from JSON. If the request fails, it prints an error
10000,
"error" => 0.5,
"confidence_level" => 0.90,
);
$options = array(
'http' => array(
'header' => "Content-type: application/json\r\n",
'method' => 'POST',
'content' => json_encode($payload),
),
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response !== FALSE) {
$data = json_decode($response, true);
print_r($data);
} else {
echo "Request failed";
}
?>
3) Population is not available and Standard Deviation is available.
This PHP script sends a POST request to “http://100102.pythonanywhere.com/sample-size/” with an API key, using a JSON payload containing parameters like error, confidence level, and standard deviation. It utilizes file_get_contents with a custom context to set the headers, decodes the JSON response, and either prints the resulting data or outputs an error message if the request fails.
0.5, "confidence_level" => 0.90, "standard_deviation" => 0.5);
$options = array(
'http' => array(
'header' => "Content-type: application/json",
'method' => 'POST',
'content' => json_encode($data),
),
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response !== FALSE) {
$data = json_decode($response, true);
print_r($data);
} else {
echo "Request failed";
}
?>
4) Both Population and Standard Deviation is not available.
This PHP script sends a POST request to a specified URL with a JSON payload containing error and confidence level parameters. It uses file_get_contents with a custom context to set headers for the request, and the resulting JSON response is either printed as an array or an error message is displayed if the request fails.
0.5, "confidence_level" => 0.90);
$options = array(
'http' => array(
'header' => "Content-type: application/json",
'method' => 'POST',
'content' => json_encode($payload),
),
);
$context = stream_context_create($options);
$response = file_get_contents($url, false, $context);
if ($response !== false) {
$data = json_decode($response, true);
print_r($data);
} else {
echo "Request failed";
}
?>
React Example
1) Both Population and Standard Deviation is available.
This React component, YourComponent, utilizes the fetch API to make a POST request to a specified URL, fetching data related to sample size calculations. The received data is displayed when available, and a loading message is shown during the request.
import React, { useState, useEffect } from 'react';
function YourComponent() {
const [result, setResult] = useState(null);
useEffect(() => {
const fetchData = async () => {
const url = "http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b";
const payload = {
population_size: 10000,
error: 0.5,
confidence_level: 0.90,
standard_deviation: 0.5,
};
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(payload),
});
if (response.ok) {
const data = await response.json();
setResult(data);
} else {
console.error(`Request failed with status code: ${response.status}`);
}
} catch (error) {
console.error('Error fetching data:', error);
}
};
fetchData();
}, []); // empty dependency array ensures the effect runs only once on component mount
standard_deviation: 0.5,
};
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(payload),
});
if (response.ok) {
const data = await response.json();
setResult(data);
} else {
console.error(`Request failed with status code: ${response.status}`);
}
} catch (error) {
console.error('Error fetching data:', error);
}
};
fetchData();
}, []); // empty dependency array ensures the effect runs only once on component mount
return (
{result ? (
Data received:
{JSON.stringify(result, null, 2)}
) : (
Loading...
)}
);
}
export default YourComponent;
2) Population is available and Standard Deviation is not available.
This React component, SampleSizeCalculator, uses the fetch API to make a POST request to a specified URL, fetching sample size calculation data based on population size, error, and confidence level parameters. The received data is displayed when available, with a loading message during the request.
import React, { useState, useEffect } from 'react';
const SampleSizeCalculator = () => {
const [data, setData] = useState(null);
useEffect(() => {
const fetchData = async () => {
const url = "http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b";
const payload = {
population_size: 10000,
error: 0.5,
confidence_level: 0.90
};
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(payload),
});
if (response.ok) {
const responseData = await response.json();
setData(responseData);
} else {
const SampleSizeCalculator = () => {
const [data, setData] = useState(null);
useEffect(() => {
const fetchData = async () => {
const url = "http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b";
const payload = {
population_size: 10000,
error: 0.5,
confidence_level: 0.90
};
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(payload),
});
if (response.ok) {
const responseData = await response.json();
setData(responseData);
} else {
console.error(`Request failed with status code: ${response.status}`);
}
} catch (error) {
console.error('Error fetching data:', error);
}
};
fetchData();
}, []); // Empty dependency array to run the effect only once
return (
{data ? (
Data Received:
{JSON.stringify(data, null, 2)}
) : (
Loading...
)}
);
};
export default SampleSizeCalculator;
3) Population is not available and Standard Deviation is available.
This React component, `YourComponent`, fetches data from a specified API endpoint using a POST request with parameters. It displays the retrieved data when available and handles loading states and errors during the asynchronous data fetching process.
import React, { useState, useEffect } from 'react';
const YourComponent = () => {
const [data, setData] = useState(null);
const [error, setError] = useState(null);
useEffect(() => {
const fetchData = async () => {
const url = "http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b";
try {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
error: 0.5,
confidence_level: 0.90,
standard_deviation: 0.5,
}),
});
if (!response.ok) {
throw new Error(`Request failed with status code: ${response.status}`);
}
const result = await response.json();
setData(result);
} catch (error) {
setError(error.message);
}
};
fetchData();
}, []); // Empty dependency array ensures that the effect runs once when the component mounts
return (
{data ? (
Data:
{JSON.stringify(data, null, 2)}
) : (
Loading...
)}
{error && Error: {error}
}
);
};
export default YourComponent;
4) Both Population and Standard Deviation is not available.
This React component fetches data from a specified API endpoint using a POST request with predefined parameters (error: 0.5, confidence_level: 0.90). The retrieved data is displayed in a formatted manner, or a “Loading…” message is shown while the request is in progress.
import React, { useState, useEffect } from 'react';
const YourComponent = () => {
const apiUrl = "http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b";
const [data, setData] = useState(null);
useEffect(() => {
const fetchData = async () => {
try {
const response = await fetch(apiUrl, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ error: 0.5, confidence_level: 0.90 }),
});
if (response.ok) {
const result = await response.json();
setData(result);
} else {
console.error(`Request failed with status code: ${response.status}`);
}
} catch (error) {
console.error('Error fetching data:', error);
}
};
fetchData();
}, []); // The empty dependency array ensures that the effect runs only once, similar to componentDidMount in class components
return (
{data ? (
{JSON.stringify(data, null, 2)}
) : (
Loading...
)}
);
};
export default YourComponent;
Flutter Example
1) Both Population and Standard Deviation is available.
This Dart script makes a POST request to a specified API endpoint with parameters such as population size, error, confidence level, and standard deviation. It uses the `http` package to handle the request and prints the response if successful, or an error message with the status code if the request fails. Initiate the API request when executing the script by calling the main()
function.
import 'dart:convert';
import 'package:http/http.dart' as http;
) : (
Loading...
)}
2) Population is available and Standard Deviation is not available.
This Dart code defines a function `makeApiRequest` that sends a POST request to a specified URL with a JSON payload containing parameters such as population size, error, and confidence level. It utilizes the `http` package for making asynchronous HTTP requests and prints the decoded JSON response if the request is successful; otherwise, it prints an error message with the status code.
import 'dart:convert';
import 'package:http/http.dart' as http;
void makeApiRequest() async {
final url = Uri.parse('http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b');
final payload = {
"population_size": 10000,
"error": 0.5,
"confidence_level": 0.90,
};
final response = await http.post(
import 'dart:convert';
import 'package:http/http.dart' as http;
void makeApiRequest() async {
final url = Uri.parse('http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b');
final payload = {
"population_size": 10000,
"error": 0.5,
"confidence_level": 0.90,
};
final response = await http.post(
3) Population is not available and Standard Deviation is available.
This Dart script utilizes the `http` package to make a POST request to ‘http://100102.pythonanywhere.com/sample-size/’ with specified parameters (error, confidence level, and standard deviation) encoded as JSON. It prints the response data. if the request is successful, otherwise, it displays an error message with the corresponding status code.
import 'dart:convert';
import 'package:http/http.dart' as http;
void makeApiRequest() async {
final url = Uri.parse('http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b');
final payload = {
"error": 0.5,
"confidence_level": 0.90,
"standard_deviation": 0.5,
};
final response = await http.post(
url,
headers: {'Content-Type': 'application/json'},
body: json.encode(payload),
);
if (response.statusCode == 200) {
final jsonResponse = json.decode(response.body);
print(jsonResponse);
} else {
print('Request failed with status code: ${response.statusCode}');
}
}
4) Both Population and Standard Deviation is not available.
This Dart code defines a function `makeApiRequest` that performs a POST request to a specified URL with a JSON payload containing error and confidence level parameters. It uses the `http` package, and if the request is successful (status code 200), it decodes and prints the JSON response; otherwise, it prints an error message with the status code.
import 'dart:convert';
import 'package:http/http.dart' as http;
void makeApiRequest() async {
final url = Uri.parse('http://100102.pythonanywhere.com/sample-size/?api_key=c2636d98-4f43-4be1-9e3b-47cdfcbe832b');
final payload = {
"error": 0.5,
"confidence_level": 0.90,
};
final response = await http.post(
url,
headers: {'Content-Type': 'application/json'},
body: json.encode(payload),
);
if (response.statusCode == 200) {
final jsonResponse = json.decode(response.body);
print(jsonResponse);
} else {
print('Request failed with status code: ${response.statusCode}');
}
}
WordPress Example
Step 1: Set up the API name, unique ID and the base url(below). It’s a prerequisite to have WP-GET API plugin installed in your wordpress website

Step 2: Establish the API endpoint with the inclusion of the API key, and configure the request body to contain the required POST fields.


Step 3: Test the endpoint to obtain a jQuery response from the API. Ensure that the API is functioning correctly by sending a test request and examining the response.