apiverve / menstrualcycle
Menstrual Cycle Calculator predicts future menstrual cycles, fertile windows, and ovulation dates based on cycle history and patterns.
Package info
github.com/apiverve/menstrualcycle-api
Language:Java
pkg:composer/apiverve/menstrualcycle
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^9.0
This package is not auto-updated.
Last update: 2026-07-16 21:05:22 UTC
README
Menstrual Cycle Calculator predicts future menstrual cycles, fertile windows, and ovulation dates based on cycle history and patterns.
The Menstrual Cycle Calculator API provides a simple, reliable way to integrate menstrual cycle calculator functionality into your applications. Built for developers who need production-ready menstrual cycle calculator capabilities without the complexity of building from scratch.
Quick Start
Using JavaScript
async function callMenstrualCycleCalculatorAPI() { try { const params = new URLSearchParams({ last_period: '2024-01-01', cycle_length: 28, period_length: 5, cycles: 3 }); const response = await fetch(`https://api.apiverve.com/v1/menstrualcycle?${params}`, { method: 'GET', headers: { 'x-api-key': 'YOUR_API_KEY_HERE' } }); const data = await response.json(); console.log(data); } catch (error) { console.error('Error:', error); } } callMenstrualCycleCalculatorAPI();
Using cURL
curl -X GET "https://api.apiverve.com/v1/menstrualcycle?last_period=2024-01-01&cycle_length=28&period_length=5&cycles=3" \ -H "x-api-key: YOUR_API_KEY_HERE"
Get your API key: https://apiverve.com
📁 For more examples, see the examples folder
Installation
Choose your preferred programming language:
📦 NPM (JavaScript/Node.js)
npm install @apiverve/menstrualcycle
View NPM Package → | Package Code →
🔷 NuGet (.NET/C#)
dotnet add package APIVerve.API.MenstrualCycleCalculator
View NuGet Package → | Package Code →
🐍 Python (PyPI)
pip install apiverve-menstrualcycle
View PyPI Package → | Package Code →
💎 Ruby (RubyGems)
gem install apiverve_menstrualcycle
View RubyGems Package → | Package Code →
🐘 PHP (Packagist)
composer require apiverve/menstrualcycle
View Packagist Package → | Package Code →
🎯 Dart (pub.dev)
dart pub add apiverve_menstrualcycle
View pub.dev Package → | Package Code →
🤖 Android (JitPack)
implementation 'com.github.apiverve:menstrualcycle-api:1.0.0'
🐹 Go
go get github.com/apiverve/menstrualcycle-api/go
Why Use This API?
| Feature | Benefit |
|---|---|
| Multi-language SDKs | Native packages for JavaScript, Python, C#, Go, and Android |
| Simple Integration | Single API key authentication, consistent response format |
| Production Ready | 99.9% uptime SLA, served from 24 global regions |
| Comprehensive Docs | Full examples, OpenAPI spec, and dedicated support |
Documentation
- 🏠 API Home: Menstrual Cycle Calculator API
- 📚 API Reference: docs.apiverve.com/ref/menstrualcycle
- 📖 OpenAPI Spec: openapi.yaml
- 💡 Examples: examples/
What Can You Build?
The Menstrual Cycle Calculator API is commonly used for:
- Web Applications - Add menstrual cycle calculator features to your frontend or backend
- Mobile Apps - Native SDKs for Android development
- Automation - Integrate with n8n, Zapier, or custom workflows
- SaaS Products - Enhance your product with menstrual cycle calculator capabilities
- Data Pipelines - Process and analyze data at scale
API Reference
Authentication
All requests require an API key in the header:
x-api-key: YOUR_API_KEY_HERE
Get your API key: https://apiverve.com
Response Format
Every APIVerve endpoint returns the same envelope — check status, then read data:
{
"status": "ok",
"error": null,
"data": { ... }
}
Example Response
A real response from the Menstrual Cycle Calculator API:
{
"status": "ok",
"error": null,
"data": {
"last_period_date": "2024-01-01",
"cycle_length": 28,
"period_length": 5,
"cycles_calculated": 3,
"cycles": [
{
"cycle_number": 1,
"period": {
"start_date": "2024-01-01",
"end_date": "2024-01-05",
"duration_days": 5
},
"ovulation": {
"date": "2024-01-15",
"day_of_cycle": 14
},
"fertile_window": {
"start_date": "2024-01-10",
"end_date": "2024-01-15",
"duration_days": 6
},
"pms_phase": {
"start_date": "2023-12-21",
"end_date": "2023-12-31"
},
"cycle_phases": {
"menstrual": {
"start": "2024-01-01",
"end": "2024-01-05",
"description": "Menstruation"
},
"follicular": {
"start": "2024-01-06",
"end": "2024-01-14",
"description": "Follicular phase - preparing for ovulation"
},
"ovulation": {
"date": "2024-01-15",
"description": "Ovulation - most fertile day"
},
"luteal": {
"start": "2024-01-16",
"end": "2024-01-28",
"description": "Luteal phase - preparing for next period"
}
},
"status": "past",
"days_until": null,
"days_ago": 715
},
{
"cycle_number": 2,
"period": {
"start_date": "2024-01-29",
"end_date": "2024-02-02",
"duration_days": 5
},
"ovulation": {
"date": "2024-02-12",
"day_of_cycle": 14
},
"fertile_window": {
"start_date": "2024-02-07",
"end_date": "2024-02-12",
"duration_days": 6
},
"pms_phase": {
"start_date": "2024-01-18",
"end_date": "2024-01-28"
},
"cycle_phases": {
"menstrual": {
"start": "2024-01-29",
"end": "2024-02-02",
"description": "Menstruation"
},
"follicular": {
"start": "2024-02-03",
"end": "2024-02-11",
"description": "Follicular phase - preparing for ovulation"
},
"ovulation": {
"date": "2024-02-12",
"description": "Ovulation - most fertile day"
},
"luteal": {
"start": "2024-02-13",
"end": "2024-02-25",
"description": "Luteal phase - preparing for next period"
}
},
"status": "past",
"days_until": null,
"days_ago": 687
},
{
"cycle_number": 3,
"period": {
"start_date": "2024-02-26",
"end_date": "2024-03-01",
"duration_days": 5
},
"ovulation": {
"date": "2024-03-11",
"day_of_cycle": 14
},
"fertile_window": {
"start_date": "2024-03-06",
"end_date": "2024-03-11",
"duration_days": 6
},
"pms_phase": {
"start_date": "2024-02-15",
"end_date": "2024-02-25"
},
"cycle_phases": {
"menstrual": {
"start": "2024-02-26",
"end": "2024-03-01",
"description": "Menstruation"
},
"follicular": {
"start": "2024-03-02",
"end": "2024-03-10",
"description": "Follicular phase - preparing for ovulation"
},
"ovulation": {
"date": "2024-03-11",
"description": "Ovulation - most fertile day"
},
"luteal": {
"start": "2024-03-12",
"end": "2024-03-24",
"description": "Luteal phase - preparing for next period"
}
},
"status": "past",
"days_until": null,
"days_ago": 659
}
],
"current_status": {
"phase": "Unknown",
"description": "",
"next_period": null,
"days_until_next_period": null
},
"averages": {
"cycle_length": 28,
"period_duration": 5,
"days_between_periods": 28
},
"disclaimer": "This calculator provides estimates only. Actual cycles may vary. Consult a healthcare provider for medical advice."
}
}
Support & Community
- 🏠 API Home: Menstrual Cycle Calculator API
- 💬 Support: https://apiverve.com/contact
- 🐛 Issues: GitHub Issues
- 📖 Documentation: https://docs.apiverve.com
- 🌐 Website: https://apiverve.com
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Security
For security concerns, please review our Security Policy.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Built with ❤️ by APIVerve
Copyright © 2026 APIVerve. All rights reserved.