Ashtakoota Matching API - Django Integration

Detailed 8-point Guna Milan compatibility analysis

Overview

Detailed 8-point Guna Milan compatibility analysis

POST /v2/astrology/ashtakoota
Pricing: $0.010 per request | Framework: Django | Auth: API Key required

Quick Start

1. Installation

pip install requests

2. Environment Setup

# .env
VEDIKA_API_KEY=your_api_key_here
Security: Never commit API keys to version control. Always use environment variables.

Complete Implementation

# ashtakoota_matching/views.py
import os
import requests
from django.conf import settings
from django.http import JsonResponse
from django.views.decorators.http import require_http_methods
from django.views.decorators.csrf import csrf_exempt
import json

VEDIKA_BASE_URL = 'https://vedika-api-854222120654.us-central1.run.app'

def get_ashtakoota_matching(params):
    """
    Detailed 8-point Guna Milan compatibility analysis
    """
    headers = {
        'Content-Type': 'application/json',
        'x-api-key': settings.VEDIKA_API_KEY
    }

    try:
        response = requests.post(
            f'{VEDIKA_BASE_URL}/v2/astrology/ashtakoota',
            json=params,
            headers=headers,
            timeout=10
        )
        response.raise_for_status()
        return response.json()
    except requests.exceptions.RequestException as e:
        raise Exception(f'Vedika API Error: {str(e)}')

@csrf_exempt
@require_http_methods(['POST'])
def ashtakoota_matching_view(request):
    """
    Django view for Ashtakoota Matching
    """
    try:
        data = json.loads(request.body)
        result = get_ashtakoota_matching(data)
        return JsonResponse(result, status=200)
    except Exception as e:
        return JsonResponse({'error': str(e)}, status=500)

# urls.py:
# from ashtakoota_matching.views import ashtakoota_matching_view
# urlpatterns = [
#     path('api/ashtakoota-matching/', ashtakoota_matching_view, name='ashtakoota_matching'),
# ]

# settings.py:
# VEDIKA_API_KEY = os.getenv('VEDIKA_API_KEY')

Request Parameters

Parameter Type Required Description
maleBirthDetails varies Yes See API documentation
femaleBirthDetails varies Yes See API documentation

Error Handling

Status Code Error Solution
400 Bad Request Check request parameters and format
401 Unauthorized Verify API key is correct
402 Payment Required Insufficient balance - recharge at console.vedika.io
429 Rate Limit Exceeded Implement exponential backoff or upgrade plan
500 Server Error Retry after a few seconds

Best Practices

Response Format

{
  "success": true,
  "data": {
    // Endpoint-specific response data
  },
  "timestamp": "2026-01-07T10:30:00Z",
  "cost": 0.010
}

Related Endpoints

Birth Chart Kundli Match Panchang Dasha Periods Dosha Analysis

Other Frameworks

React Next.js Vue.js Angular Node.js Python/Flask Ruby on Rails

Support

Need help integrating this endpoint?