apiverve/menstrualcycle

Menstrual Cycle Calculator predicts future menstrual cycles, fertile windows, and ovulation dates based on cycle history and patterns.

Maintainers

Package info

github.com/apiverve/menstrualcycle-api

Homepage

Documentation

Language:Java

pkg:composer/apiverve/menstrualcycle

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-07-16 20:47 UTC

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.

View API Details →

License: MIT API Status Method Platform

Available on: npm NuGet PyPI RubyGems Packagist Go Dart JitPack

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'

Package Code →

🐹 Go

go get github.com/apiverve/menstrualcycle-api/go

Package Code →

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

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

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.