Discover/voshod-solnca API
live

voshod-solnca APIvoshod-solnca.ru

Get the next Ekadashi fasting date, start time, fasting window, and a full-year calendar of Ekadashi days for any supported Russian city.

This API takes change requests — .
Endpoints
1
Updated
2d ago

What is the voshod-solnca API?

The voshod-solnca.ru API exposes 1 endpoint — get_next_ekadashi — that returns 9 structured fields covering the nearest Ekadashi fasting date, precise fasting start and end window, and a full list of upcoming Ekadashi days for a given city. Cities are specified in Russian (e.g. москва, алматы), and the response includes per-entry timing details such as tithi start and sunrise for each date in the calendar.

This call costs1 credit / call— charged only on success
Try it
City name in Russian (e.g. алматы, москва, санкт-петербург). Must match a city available on the site's Ekadashi calendar.
api.parse.bot/scraper/9af620de-ce55-4245-82c0-1973a1148805/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/9af620de-ce55-4245-82c0-1973a1148805/get_next_ekadashi' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace voshod-solnca-ru-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""
Ekadashi Fasting Calendar API Client

Retrieve Ekadashi fasting schedules and upcoming fasting dates for cities across Russia.
Get your API key from: https://parse.bot/settings
"""

import os
import requests
from typing import Optional, Dict, Any, List
from dataclasses import dataclass
from datetime import datetime


@dataclass
class EkadashiInfo:
    """Structured representation of Ekadashi fasting information."""
    city: str
    ekadashi_date: str
    day_of_week: str
    fast_start_time: str
    fast_end_date: str
    fast_end_window_start: str
    fast_end_window_end: str
    raw_info: str
    upcoming_ekadashi: List[Dict[str, str]]

    def __str__(self) -> str:
        return (
            f"🕉️ Ekadashi Fasting Schedule for {self.city.title()}\n"
            f"{'─' * 50}\n"
            f"Next Ekadashi: {self.ekadashi_date} ({self.day_of_week})\n"
            f"Fast Begins: {self.fast_start_time}\n"
            f"Fast Ends: {self.fast_end_date}\n"
            f"Break Fast Window: {self.fast_end_window_start} - {self.fast_end_window_end}\n"
            f"Upcoming Events: {len(self.upcoming_ekadashi)} scheduled"
        )


class ParseClient:
    """Client for the Ekadashi Fasting Calendar API."""

    def __init__(self, api_key: Optional[str] = None):
        """
        Initialize the Parse API client.

        Args:
            api_key: API key for authentication. If not provided, reads from PARSE_API_KEY env var.
        """
        self.base_url = "https://api.parse.bot"
        self.scraper_id = "9af620de-ce55-4245-82c0-1973a1148805"
        self.api_key = api_key or os.getenv("PARSE_API_KEY")

        if not self.api_key:
            raise ValueError(
                "API key not provided. Set PARSE_API_KEY environment variable or pass api_key parameter."
            )

    def _call(
        self, endpoint: str, method: str = "POST", **params
    ) -> Dict[str, Any]:
        """
        Make an API call to the Parse service.

        Args:
            endpoint: The endpoint name (e.g., 'get_next_ekadashi')
            method: HTTP method ('GET' or 'POST')
            **params: Query/body parameters

        Returns:
            Parsed JSON response as dictionary

        Raises:
            requests.RequestException: If the API call fails
        """
        url = f"{self.base_url}/scraper/{self.scraper_id}/{endpoint}"
        headers = {
            "X-API-Key": self.api_key,
            "Content-Type": "application/json",
        }

        try:
            if method.upper() == "GET":
                response = requests.get(url, headers=headers, params=params)
            else:
                response = requests.post(url, headers=headers, json=params)

            response.raise_for_status()
            return response.json()
        except requests.RequestException as e:
            print(f"API Error: {e}")
            raise

    def get_next_ekadashi(self, city: str) -> EkadashiInfo:
        """
        Get the next Ekadashi fasting day and upcoming calendar for a city.

        Args:
            city: City name in Russian (e.g., 'москва', 'санкт-петербург', 'алматы')

        Returns:
            EkadashiInfo object with structured fasting schedule data

        Example:
            >>> client = ParseClient()
            >>> info = client.get_next_ekadashi('москва')
            >>> print(info)
        """
        result = self._call("get_next_ekadashi", method="GET", city=city)

        return EkadashiInfo(
            city=result.get("city", city),
            ekadashi_date=result.get("ekadashi_date", ""),
            day_of_week=result.get("day_of_week", ""),
            fast_start_time=result.get("fast_start_time", ""),
            fast_end_date=result.get("fast_end_date", ""),
            fast_end_window_start=result.get("fast_end_window_start", ""),
            fast_end_window_end=result.get("fast_end_window_end", ""),
            raw_info=result.get("raw_info", ""),
            upcoming_ekadashi=result.get("upcoming_ekadashi", []),
        )


def main():
    """Demonstrate practical usage of the Ekadashi Fasting Calendar API."""

    # Initialize the client (API key from environment)
    client = ParseClient()

    # List of major Russian cities to check Ekadashi schedules
    cities = ["москва", "санкт-петербург", "алматы"]

    print("=" * 60)
    print("🕉️  EKADASHI FASTING CALENDAR - MULTI-CITY LOOKUP")
    print("=" * 60)
    print()

    # Collect all Ekadashi data for comparison
    ekadashi_data: Dict[str, EkadashiInfo] = {}

    for city in cities:
        try:
            print(f"📍 Fetching Ekadashi schedule for {city.title()}...")
            ekadashi_info = client.get_next_ekadashi(city)
            ekadashi_data[city] = ekadashi_info

            # Display the formatted information
            print(ekadashi_info)
            print()

        except Exception as e:
            print(f"❌ Failed to fetch data for {city}: {e}")
            print()

    # Analyze and compare across cities
    if ekadashi_data:
        print("=" * 60)
        print("📊 COMPARATIVE ANALYSIS")
        print("=" * 60)
        print()

        # Show earliest Ekadashi across all cities
        earliest_city = None
        earliest_date = None

        for city, info in ekadashi_data.items():
            try:
                # Parse date in Russian format (e.g., "11 июня 2026")
                date_str = info.ekadashi_date.split()[0]
                if earliest_date is None or int(date_str) < int(earliest_date):
                    earliest_date = date_str
                    earliest_city = city
            except (ValueError, IndexError):
                continue

        if earliest_city:
            print(f"⏰ Earliest upcoming Ekadashi: {earliest_city.title()}")
            print(
                f"   Date: {ekadashi_data[earliest_city].ekadashi_date}"
            )
            print(
                f"   Fast begins at: {ekadashi_data[earliest_city].fast_start_time}"
            )
            print()

        # Show upcoming schedule for first city (detailed)
        first_city = list(ekadashi_data.keys())[0]
        upcoming = ekadashi_data[first_city].upcoming_ekadashi

        if upcoming:
            print(f"📅 Upcoming Ekadashi events for {first_city.title()}:")
            print(f"   Total scheduled: {len(upcoming)} fasting days")
            print()

            for i, event in enumerate(upcoming[:5], 1):
                date = event.get("date", "N/A")
                day = event.get("day_of_week", "N/A")
                start = event.get("fast_start_time", "N/A")
                sunrise = event.get("sunrise", "N/A")
                print(
                    f"   {i}. {date} ({day}) - Start: {start}, Sunrise: {sunrise}"
                )

            if len(upcoming) > 5:
                print(f"   ... and {len(upcoming) - 5} more events")

        print()
        print("=" * 60)


if __name__ == "__main__":
    main()
All endpoints · 1 totalmissing one? ·

Get the next Ekadashi fasting day and a full year calendar of upcoming Ekadashi dates for a specified city. Returns the nearest fasting date, start time, end window, and a list of all upcoming Ekadashi days with detailed timing information.

Input
ParamTypeDescription
cityrequiredstringCity name in Russian (e.g. алматы, москва, санкт-петербург). Must match a city available on the site's Ekadashi calendar.
Response
{
  "type": "object",
  "fields": {
    "city": "string",
    "raw_info": "string — full text of the nearest Ekadashi info",
    "day_of_week": "string — day of the week in Russian",
    "ekadashi_date": "string — date of the next Ekadashi (e.g. 11 июня 2026)",
    "fast_end_date": "string — date when fasting ends",
    "fast_start_time": "string — time fasting begins (HH:MM)",
    "upcoming_ekadashi": "array of objects with date, day_of_week, fast_start_time, fast_end_info, tithi_start, sunrise",
    "fast_end_window_end": "string — latest time to break the fast (HH:MM)",
    "fast_end_window_start": "string — earliest time to break the fast (HH:MM)"
  },
  "sample": {
    "city": "алматы",
    "raw_info": "Ближайший день поста экадаши для Алматы: 11 июня 2026, четверг. Начало поста: 3:37. Выход из поста: 12 июня 2026, в период с 5:13 до 7:43.",
    "day_of_week": "четверг",
    "ekadashi_date": "11 июня 2026",
    "fast_end_date": "12 июня 2026",
    "fast_start_time": "3:37",
    "upcoming_ekadashi": [
      {
        "date": "11.06.2026",
        "sunrise": "05:13",
        "day_of_week": "Четверг",
        "tithi_start": "10:27(Двадаши)",
        "fast_end_info": "05:13—07:43,12.06.2026",
        "fast_start_time": "03:37"
      }
    ],
    "fast_end_window_end": "7:43",
    "fast_end_window_start": "5:13"
  }
}

About the voshod-solnca API

What the API Returns

The get_next_ekadashi endpoint accepts a single required parameter — city — as a Russian-language city name (e.g. алматы, москва, санкт-петербург). It returns the next Ekadashi fasting date in the ekadashi_date field (e.g. 11 июня 2026), the day of the week in Russian via day_of_week, and a raw_info string containing the full original text of the nearest Ekadashi description as it appears on the source page.

Fasting Window Fields

For the immediate next Ekadashi, the response includes fast_start_time (when fasting begins, HH:MM format), fast_end_window_start and fast_end_window_end (the earliest and latest acceptable times to break the fast), and fast_end_date (the calendar date on which fasting ends). This gives enough detail to build reminders or schedule integrations around the full fasting period, not just the single date.

Upcoming Ekadashi Calendar

The upcoming_ekadashi array lists future Ekadashi dates beyond the immediate next one. Each object in the array includes date, day_of_week, fast_start_time, fast_end_info, tithi_start, and sunrise. The tithi_start and sunrise fields provide lunar and solar timing context specific to the selected city, which matters because these times vary by geographic location.

City Coverage and Input Format

City names must be supplied in Russian and must match a city available on voshod-solnca.ru's Ekadashi pages. The site covers cities across Russia, Kazakhstan, and neighboring regions. Passing a city name that doesn't match an available entry will not return valid data, so confirm the spelling against the site's city list before integrating.

Reliability & maintenance

The voshod-solnca API is a managed, monitored endpoint for voshod-solnca.ru — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when voshod-solnca.ru changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official voshod-solnca.ru API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Display the next Ekadashi date and fasting window in a Hindu calendar or devotional mobile app.
  • Send push notifications using fast_start_time and fast_end_window_start to remind users when to begin and break their fast.
  • Populate a year-ahead fasting calendar using the upcoming_ekadashi array with per-entry sunrise and tithi_start data.
  • Build a city-aware fasting scheduler that adjusts times based on the city parameter for users in different locations.
  • Feed Ekadashi dates and day-of-week info into a general Hindu religious events aggregator alongside other observances.
  • Generate ICS calendar files from the upcoming_ekadashi list so users can subscribe to fasting reminders in any calendar app.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does voshod-solnca.ru have an official developer API?+
No. voshod-solnca.ru does not publish a public developer API or documented data access layer.
What does the `upcoming_ekadashi` array contain, and how many entries does it typically include?+
Each entry in upcoming_ekadashi contains date, day_of_week, fast_start_time, fast_end_info, tithi_start, and sunrise. The array covers the full remaining Ekadashi dates for the current calendar year as listed on the source page for the requested city. The exact count depends on how many dates remain in the year at the time of the request.
Does the fasting window differ between cities?+
Yes. The fast_start_time, fast_end_window_start, fast_end_window_end, and sunrise values in both the top-level response and each upcoming_ekadashi entry are specific to the city passed in the city parameter. voshod-solnca.ru calculates these times based on local solar and lunar positions, so querying москва and алматы for the same Ekadashi will return different times.
Does the API cover Ekadashi data for cities outside Russia and Kazakhstan?+
Coverage is limited to cities listed on voshod-solnca.ru, which focuses on Russian-speaking regions — primarily Russia, Kazakhstan, and a few neighboring countries. Cities in India, Europe, or the Americas are not currently covered. You can fork this API on Parse and revise it to point at a different data source with broader geographic support.
Can I retrieve historical Ekadashi dates or only upcoming ones?+
The get_next_ekadashi endpoint returns the next Ekadashi date and the upcoming calendar list, not historical records. Past Ekadashi dates are not exposed. You can fork this API on Parse and revise it to add an endpoint that targets archive or past-year pages if the source makes them available.
Page content last updated . Spec covers 1 endpoint from voshod-solnca.ru.
Related APIs in OtherSee all →
maersk.com API
Track your Maersk shipping containers in real-time, monitor vessel schedules and locations, and discover available routes between ports and countries. Access comprehensive port data, search for specific locations, and view detailed shipping route information to plan your logistics more effectively.
pexels.com API
Search and browse millions of free stock photos and videos on Pexels. Access trending content, photographer galleries, photo/video challenges, and search suggestions via a clean API.
cgccards.com API
Access data from cgccards.com.
megamillions.com API
Check the latest Mega Millions winning numbers and jackpot amounts, browse historical drawings, and discover the top jackpots across participating lottery states. Stay updated on lottery results and track winning combinations whenever you need them.
powerball.com API
Check the latest Powerball drawing results, historical winning numbers, current jackpot amounts, and prize information all in one place. Browse past draws by date, view odds and prize breakdowns, and explore stories from winners to stay informed about your favorite lottery game.
pageviews.wmcloud.org API
Access Wikipedia pageview analytics across articles, languages, and time periods. Retrieve per-article view counts, top-viewed pages, cross-language traffic breakdowns, site-wide aggregates, category-level mass analysis, redirect traffic attribution, user contribution metrics, and Wikimedia Commons media request counts.
identify.plantnet.org API
Identify and explore plant species by searching through Pl@ntNet's comprehensive botanical database to access detailed information like taxonomic families, genera, species descriptions, photos, and community observations. Track plant distributions, view contribution trends, and discover expert contributors within the platform's collaborative plant identification community.
ifixit.com API
Access data from ifixit.com.