| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [View Raw Code] [Original HTTPS Page] |
.NET SDK for RoxyAPI. 18+ domains (Western astrology, Vedic astrology, forecast, human design, Chinese astrology, feng shui, Mesoamerican astrology, Vastu, numerology, Kabbalah, tarot, biorhythm, Ayurveda, I Ching, crystals, dreams, angel numbers, location) plus utility namespaces (usage, languages). One API key, fully typed, generated from the OpenAPI spec.
Before writing code with this SDK, read docs/llms-full.txt in this package for the complete method reference with one example per endpoint.
dotnet add package RoxyApi.Sdkusing RoxyApi;
var roxy = new RoxyClient(Environment.GetEnvironmentVariable("ROXY_API_KEY")!);new RoxyClient(apiKey) sets the base URL (https://roxyapi.com/api/v2) and the auth and SDK headers automatically. Every call is async and returns the typed response, or throws RoxyError on an error response (see Error handling).
Get these and the generated types do the rest.
Every chart, horoscope, panchang, dasha, dosha, navamsa, KP, synastry, compatibility, and natal endpoint needs Latitude, Longitude, and (for Western) Timezone. Never ask the user for coordinates. Call roxy.Location.Search first.
var place = await roxy.Location.Search.GetAsync(c => c.QueryParameters.Q = "New York");
var city = place!.Cities![0];
// city.Timezone is the IANA string ("America/New_York"). Pass it straight into any chart
// endpoint and the server resolves it to the DST-correct decimal offset using the Date of
// the chart itself, so a January 1990 New York chart picks EST (-5) even when you looked
// the city up in July. city.UtcOffset (5.5, -5, 9, ...) also works and produces identical charts.Q accepts a bare city ("Paris"), city plus country ("Berlin Germany"), or comma-qualified ("Springfield, Illinois"). Use the qualified form to disambiguate same-named cities.
| Accessor | What it covers |
|---|---|
| roxy.Astrology | Western astrology API for natal birth charts, daily, weekly, monthly, and yearly horoscopes with unique content per s... |
| roxy.VedicAstrology | Vedic astrology (Jyotish) and KP API for kundli generation with the sixteen Shodasavarga divisional charts (D1 to D60... |
| roxy.Forecast | Astrology forecast API that merges upcoming transit aspects, sign ingresses, retrograde stations, new and full moons,... |
| roxy.HumanDesign | Human Design API that generates the full bodygraph from a birth moment: type, strategy, inner authority, profile, def... |
| roxy.ChineseAstrology | Chinese zodiac and BaZi astrology API: Four Pillars charts, Chinese zodiac signs and the Chinese lunisolar calendar f... |
| roxy.FengShui | Compute classical feng shui from one API: Xuan Kong flying star natal charts for any of the nine periods and 24 mount... |
| roxy.MesoamericanAstrology | Calculate Mayan astrology day signs, the Tzolkin sacred round, the Haab year, the full Long Count and the Aztec tonal... |
| roxy.Vastu | Vastu Shastra API for directional home and plot analysis: entrance padas with the classical effect of each of the 32... |
| roxy.Numerology | Numerology API for life path numbers, complete numerology charts and compatibility, in both Pythagorean and Chaldean... |
| roxy.Kabbalah | Kabbalah API for gematria, the 72 names, the Tree of Life and the Hebrew birthday |
| roxy.Tarot | Tarot reading API with the complete 78-card Rider-Waite-Smith deck and card meanings for love, career, health, and sp... |
| roxy.Biorhythm | Biorhythm API for entertainment and reflection, with 10 model cycle types across 3 primary (physical, emotional, inte... |
| roxy.Ayurveda | Ayurveda API for dosha profiles, the dinacharya daily routine and the ritucharya seasonal regimen, with a verse cited... |
| roxy.Iching | I-Ching oracle API with all 64 hexagrams, 384 changing lines, 8 trigrams, and modern interpretations for love, career... |
| roxy.Crystals | Crystal healing API covering the most popular and widely-searched healing crystals and gemstones, from Amethyst and R... |
| roxy.Dreams | Dream interpretation API with a 2,000+ symbol dream dictionary and psychological meanings covering animals, objects,... |
| roxy.AngelNumbers | Angel numbers API with meanings for 111, 222, 333, 444, 555, 666, 777, 888, 999, 1111, and 75+ sequences covering eve... |
| roxy.Location | Timezone and location API with city search and geocoding across 235,000+ cities in 240+ countries, returning latitude... |
| roxy.Usage | Monitor your API usage, check rate limits, and track request consumption |
| roxy.Languages | List the response languages accepted by the lang query parameter on every i18n-aware endpoint |
var place = await roxy.Location.Search.GetAsync(c => c.QueryParameters.Q = "London");
var city = place!.Cities![0];
var latitude = city.Latitude;
var longitude = city.Longitude;
var timezone = city.Timezone;
var birthDate = new Date(1990, 1, 15);
var birthTime = new Time(14, 30, 0);
var chart = await roxy.Astrology.NatalChart.PostAsync(new()
{
Date = birthDate, Time = birthTime,
Latitude = latitude, Longitude = longitude, Timezone = new() { String = timezone },
});One lookup feeds every domain. Request bodies are distinct generated types, so capture the five values once as locals and assign them into each body. The same Date, Time, Latitude, Longitude and Timezone are the body for Astrology.NatalChart, VedicAstrology.BirthChart, VedicAstrology.Dasha.Current, Ayurveda.Constitution and the BirthData of Forecast.Transits; the instant alone (Date, Time, Timezone) is the body for HumanDesign.Bodygraph, ChineseAstrology.Bazi.Chart and Kabbalah.BirthProfile. Never look the city up twice for one person.
await roxy.Astrology.Horoscope["aries"].Daily.GetAsync();
await roxy.Crystals.Zodiac["leo"].GetAsync();
await roxy.Crystals.Search.GetAsync(c => c.QueryParameters.Q = "amethyst");Most valuable endpoints (charts, spreads, calculations) are POST:
await roxy.VedicAstrology.BirthChart.PostAsync(new()
{
Date = birthDate, Time = birthTime,
Latitude = latitude, Longitude = longitude, Timezone = new() { String = timezone },
});
await roxy.Tarot.Spreads.CelticCross.PostAsync(new() { Question = "What should I focus on?" });
await roxy.Numerology.LifePath.PostAsync(new() { Year = 1990, Month = 1, Day = 15 });Ten languages: en, tr, de, es, fr, hi, pt, ru, zh-Hans, zh-Hant. Defaults to en.
await roxy.Tarot.Daily.PostAsync(new() { Date = new Date(2026, 4, 22) }, c => c.QueryParameters.Lang = RoxyApi.Tarot.Daily.PostLangQueryParameterType.Es);
await roxy.Numerology.LifePath.PostAsync(new() { Year = 1990, Month = 1, Day = 15 }, c => c.QueryParameters.Lang = RoxyApi.Numerology.LifePath.PostLangQueryParameterType.Hi);Supported: astrology, vedicAstrology, forecast, humanDesign, chineseAstrology, fengShui, mesoamericanAstrology, vastu, numerology, kabbalah, tarot, biorhythm, ayurveda, iching, crystals, angelNumbers. English-only: dreams, location, usage, languages. The two Chinese scripts (zh-Hans, zh-Hant) currently ship on chineseAstrology and fengShui; every other domain answers those codes in English per field. Call roxy.Languages.GetAsync() for the live list.
Calls throw RoxyError (in RoxyApi.Models, extends ApiException) on every error status the endpoint declares. Message is human-readable and may change; Code is stable, switch on it. A status the endpoint does not declare, such as a 5xx from the edge, throws the base ApiException with ResponseStatusCode set, and a 503 or 504 still failing after three retries throws an AggregateException holding every attempt.
try
{
var horoscope = await roxy.Astrology.Horoscope["aries"].Daily.GetAsync();
Console.WriteLine(horoscope!.Overview);
}
catch (RoxyError e)
{
Console.WriteLine($"{e.ResponseStatusCode} {e.Code}: {e.Message}");
// On a 400, e.Issues lists each field that failed validation.
}| Status | Code | When |
|---|---|---|
| 400 | validation_error | Missing or invalid parameters (see Issues) |
| 401 | api_key_required | No API key provided |
| 401 | invalid_api_key | Key format invalid or tampered |
| 401 | subscription_not_found | Key references a non-existent subscription |
| 401 | subscription_inactive | Subscription cancelled, expired, or suspended |
| 401 | api_key_revoked | Key was deleted from the account |
| 404 | not_found | Resource not found |
| 4xx | bad_request and other status-derived codes | A client error the endpoint itself detected, such as a date window whose endDate precedes startDate |
| 429 | rate_limit_exceeded | Monthly quota reached |
| 500 | internal_error | Server error |
Responses are fully typed objects, not dictionaries. Discover fields with IntelliSense (result.) or the full response JSON on https://roxyapi.com/api-reference. docs/llms-full.txt documents the call and inputs for every endpoint; the response shape comes from the type. The success body is nullable (non-null only on a 2xx, since errors throw), so use result!.Field.
var chart = await roxy.Astrology.NatalChart.PostAsync(new() { Date = birthDate, Time = birthTime, Latitude = latitude, Longitude = longitude, Timezone = new() { String = timezone } });
foreach (var p in chart!.Planets!)
Console.WriteLine($"{p.Name}: {p.Sign} (house {p.House})");In the catalog order (Western astrology, Vedic astrology, forecast, Human Design, Chinese astrology, feng shui, Mesoamerican astrology, Vastu, numerology, Kabbalah, tarot, biorhythm, Ayurveda, I Ching, crystals, dreams, angel numbers, location, usage, languages). Date, Time, Latitude, Longitude, Timezone are the five values from the two-step pattern above; Person1, Person2, PersonA, PersonB and BirthData are nested bodies built from them.
| Task | Code |
|---|---|
| Find city coordinates (do this first) | roxy.Location.Search.GetAsync(c => c.QueryParameters.Q = "Berlin") |
| Daily horoscope | roxy.Astrology.Horoscope[sign].Daily.GetAsync() |
| Natal chart (Western) | roxy.Astrology.NatalChart.PostAsync(new() { Date, Time, Latitude, Longitude, Timezone }) |
| Synastry | roxy.Astrology.Synastry.PostAsync(new() { Person1, Person2 }) |
| Compatibility score | roxy.Astrology.CompatibilityScore.PostAsync(new() { Person1, Person2 }) |
| Current moon phase | roxy.Astrology.MoonPhase.Current.GetAsync() |
| Transits | roxy.Astrology.Transits.PostAsync(new() { NatalChart }) |
| Kundli (Vedic birth chart) | roxy.VedicAstrology.BirthChart.PostAsync(new() { Date, Time, Latitude, Longitude, Timezone }) |
| Panchang (detailed) | roxy.VedicAstrology.Panchang.Detailed.PostAsync(new() { Date, Latitude, Longitude, Timezone }) |
| Choghadiya | roxy.VedicAstrology.Panchang.Choghadiya.PostAsync(new() { Date, Latitude, Longitude, Timezone }) |
| Current dasha | roxy.VedicAstrology.Dasha.Current.PostAsync(new() { Date, Time, Latitude, Longitude, Timezone }) |
| Mangal Dosha | roxy.VedicAstrology.Dosha.Manglik.PostAsync(new() { Date, Time, Latitude, Longitude, Timezone }) |
| Guna Milan (matching) | roxy.VedicAstrology.Compatibility.PostAsync(new() { Person1, Person2 }) |
| Navamsa (D9) | roxy.VedicAstrology.Navamsa.PostAsync(new() { Date, Time, Latitude, Longitude, Timezone }) |
| KP chart | roxy.VedicAstrology.Kp.Chart.PostAsync(new() { Date, Time, Latitude, Longitude, Timezone }) |
| KP ruling planets | roxy.VedicAstrology.Kp.RulingPlanets.PostAsync(new() { Latitude, Longitude, Timezone }) |
| Nakshatra detail | roxy.VedicAstrology.Nakshatras["ashwini"].GetAsync() |
| Transit forecast | roxy.Forecast.Transits.PostAsync(new() { BirthData, StartDate, EndDate }) |
| Cross-domain timeline | roxy.Forecast.Timeline.PostAsync(new() { BirthData, StartDate, EndDate }) |
| Human Design bodygraph | roxy.HumanDesign.Bodygraph.PostAsync(new() { Date, Time, Timezone }) |
| Human Design connection | roxy.HumanDesign.Connection.PostAsync(new() { PersonA, PersonB }) |
| BaZi Four Pillars | roxy.ChineseAstrology.Bazi.Chart.PostAsync(new() { Date, Time, Timezone }) |
| Chinese zodiac animal | roxy.ChineseAstrology.Zodiac.Sign.PostAsync(new() { Date }) |
| Almanac day (Tong Shu) | roxy.ChineseAstrology.Calendar.Day[new Date(2026, 10, 1)].GetAsync() |
| Kua number | roxy.FengShui.Kua.PostAsync(new() { Date, Gender }) |
| Flying star natal chart | roxy.FengShui.FlyingStars.Natal.PostAsync(new() { Period, Facing }) |
| Tzolkin day sign | roxy.MesoamericanAstrology.Mayan.Tzolkin.PostAsync(new() { Date }) |
| Full Maya chart | roxy.MesoamericanAstrology.Mayan.Chart.PostAsync(new() { Date }) |
| Vastu entrance | roxy.Vastu.Entrance.PostAsync(new() { Plot, Facing, DoorPosition }) |
| Vastu room compliance | roxy.Vastu.Rooms.PostAsync(new() { Plot, Facing, Rooms }) |
| Life path number | roxy.Numerology.LifePath.PostAsync(new() { Year, Month, Day }) |
| Full numerology chart | roxy.Numerology.Chart.PostAsync(new() { FullName, Year, Month, Day }) |
| Personal year | roxy.Numerology.PersonalYear.PostAsync(new() { Month, Day }) |
| Gematria | roxy.Kabbalah.Gematria.PostAsync(new() { Text }) |
| Kabbalah birth profile | roxy.Kabbalah.BirthProfile.PostAsync(new() { Date, Time, Timezone }) |
| Daily tarot card | roxy.Tarot.Daily.PostAsync(new() { Seed }) |
| Three-card spread | roxy.Tarot.Spreads.ThreeCard.PostAsync(new() { Question }) |
| Celtic Cross | roxy.Tarot.Spreads.CelticCross.PostAsync(new() { Question }) |
| Yes / no tarot | roxy.Tarot.YesNo.PostAsync(new() { Question }) |
| Biorhythm reading | roxy.Biorhythm.Reading.PostAsync(new() { BirthDate }) |
| Daily biorhythm (seeded) | roxy.Biorhythm.Daily.PostAsync(new() { Seed }) |
| Biorhythm forecast | roxy.Biorhythm.Forecast.PostAsync(new() { BirthDate }) |
| Biorhythm compatibility | roxy.Biorhythm.Compatibility.PostAsync(new() { Person1, Person2 }) |
| Ayurvedic constitution | roxy.Ayurveda.Constitution.PostAsync(new() { Date, Time, Latitude, Longitude, Timezone }) |
| Dinacharya | roxy.Ayurveda.Dinacharya.PostAsync(new() { Date, Latitude, Longitude, Timezone }) |
| Daily hexagram | roxy.Iching.Daily.PostAsync(new() { Seed }) |
| Cast I Ching reading | roxy.Iching.Cast.GetAsync() |
| Hexagram detail | roxy.Iching.Hexagrams[1].GetAsync() |
| Crystal by zodiac | roxy.Crystals.Zodiac[sign].GetAsync() |
| Crystal by chakra | roxy.Crystals.Chakra[chakra].GetAsync() |
| Dream symbol lookup | roxy.Dreams.Symbols["flying"].GetAsync() |
| Angel number meaning | roxy.AngelNumbers.Numbers["1111"].GetAsync() |
| Universal number lookup | roxy.AngelNumbers.Lookup.GetAsync(c => c.QueryParameters.Number = "1234") |
| Check API usage | roxy.Usage.GetAsync() |
| List supported languages | roxy.Languages.GetAsync() |
Copy the format column exactly.
| Field | Format | Good | Bad |
|---|---|---|---|
| Date (and BirthDate, StartDate, ...) | The Date struct from Microsoft.Kiota.Abstractions | new Date(1990, 1, 15) | "1990-01-15", DateTime.Now, new DateTime(...) |
| Time | The Time struct from Microsoft.Kiota.Abstractions | new Time(14, 30, 0), new Time(9, 0, 0) | "14:30:00" (string), DateTime.Now, new TimeOnly(...) |
| Timezone | Union wrapper: decimal OR IANA | new() { Double = 5.5 }, new() { Double = -5 } OR new() { String = "America/New_York" } | 5.5, "5.5", "+0530" assigned directly |
| Latitude / Longitude | double | 40.7128, -74.006 | "40.7128", DMS strings |
| sign (horoscope indexer) | Lowercase zodiac name | ["aries"], ["scorpio"] | ["Aries"], ["1"] |
| chakra (crystals indexer) | Title-case name | ["Root"], ["Heart"], ["Third Eye"] | ["heart"], ["third-eye"] |
| FullName (numerology) | Birth-certificate name | "John William Smith" | Nickname, partial name |
| Seed | Any string (deterministic) | "user-42", "session-abc" | numbers, objects |
| number (angel numbers indexer) | String | ["1111"], ["777"] | [1111] |
| Lang (query) | The endpoint enum (PostLangQueryParameterType in that endpoint namespace) | c.QueryParameters.Lang = PostLangQueryParameterType.Hi | a string such as "hi" |
| Enum fields (Gender, Facing, Unit, room Type) | The generated enum, which lives in the namespace of its request body | KuaPostRequestBody_gender.Female after using RoxyApi.FengShui.Kua; | "female", Gender = "Female" |
| Region | Decimal | Region | Decimal |
|---|---|---|---|
| UTC / London (winter) | 0 | Delhi (IST) | 5.5 |
| Berlin / Paris | 1 (winter) / 2 (summer) | Kathmandu | 5.75 |
| Istanbul / Moscow | 3 | Dhaka | 6 |
| Dubai | 4 | Bangkok | 7 |
| New York (EST / EDT) | -5 / -4 | Singapore / Beijing | 8 |
| Chicago (CST / CDT) | -6 / -5 | Tokyo | 9 |
| Los Angeles (PST / PDT) | -8 / -7 | Sydney | 10 / 11 (summer) |
DST matters. If the birth date falls inside a daylight-saving window, use the summer / DST offset, or pass the IANA string from the location lookup and let the server resolve it. India observes no DST, so a fixed 5.5 is always right there; anywhere else, a natal chart must carry the offset in force at the time of birth.
LLMs hallucinate confidently in this category. The specific traps:
Every method has a matching MCP tool. The remote MCP server per domain is at https://roxyapi.com/mcp/{domain} (Streamable HTTP, no stdio, no self-hosting). Tool names follow {method}_{path_snake_case}:
Use the SDK for typed .NET apps. Use MCP for AI agents (Claude, Cursor, ChatGPT) where the agent selects tools from user intent.
One runtime dependency: Microsoft.Kiota.Bundle (MIT, by Microsoft), which provides the HTTP, auth, and serialization libraries the generated client uses. Targets netstandard2.0 and net8.0.
| Back | FazBrowse Home | New Git URL |