StarLoveMatch Compatibility API

In the short term, Progressed Synastry is as important as Natal, or even more so, because it shapes the current reality.

Synastry is simply the term for astrological compatibility. As your life progresses, so too does your birth chart by way of a phenomenon known as secondary progressions.

Progressed synastry is very important for short-term partner matching since it strongly influences the current reality between two people. However, for the deepest relationships, as well as the long-term view, the natal-to-natal has to be taken into account. The Starlove algorithms calculate natal-to-natal synastry and include the influences as a bias when prioritizing lists of potential matching partners.

The Love, Intellectual and Physical ratings are calculated using the current (progressed) synastry, i.e the sum of the natal-to-progressed and progressed-to-natal charts. The default algorithm returns the best Overall rating of these three factors, although it does take into account other aspects involving areas such as aesthetic appreciation and spirituality.

This webservice API can be used by dating websites to dynamically prioritize their output lists of scientifically derived compatibility matches.

By way of input parameters, it enables the processing application to focus on the type of compatibility that might be requested, e.g. love, physical, intellectual, etc. Even things like how good a person is for your career or shared interests in sport, art/aesthetics, spirituality can be quantified.

Starlove has the power to prioritize or shortlist people with a specific interest in mind, for example, a person may say, "I'm looking for potential partners I can intellectually identify with", or, "I'm looking for a potentially strong physical relationship right now". The algorithms can determine these types of compatibilities with a high degree of accuracy.

Natal-to-Natal Compatibility is only half the picture

Most astrological websites that calculate compatibility (synastry) use the birth (natal) charts. You realize how limited this approach is because many people have had lengthy periods when they got on well with another person, but then relationship turned sour or died out. Sometimes the relationship can be too broken or disfunctional to try and repair, but for those relationships that can be worked out it helps to know if there is an astrological reason for the trough and how long it will be. The Starlove program accurately shows these periods and gives users insight as to whether to consider ending the relationship, as well as help make more informed decisions if looking for a future partner.

Of course, there are other factors involved that these algorithms do not process, but they generally will help one make far better decisions than pure random selection. The accuracy of this service is probably around the 80-90% range. Progressions can affect relationships for years or even decades and should be taken strongly into consideration when looking to short list or prioritize suitable scientifically derived matches. The calculations are based on planetary aspects so naturally they are generalizations, but they are specific enough to be a source of much valuable information.

If you look at the example for Brad and Angelina you will see how their synastry bottomed-out in 2015 when they got divorced - Starlove (software app) rating 1.7, and how it has risen since then, rating 2.8. The latest reports are that they are getting on reasonably well again (in accordance with their progressed synastry).

Likewise, if you look at the example for Brad and Jennifer for the year 2000 when they got married, you will see why they were so in love at the time.

Compatibility into the future can be done in the same manner, it just requires a small loop which successively increments the year to be calculated.

The Natal chart synastry strongly determines long-term compatibility and is used to add a bias to the current situation.

For those looking for relationships, no more wasting time with people you will find difficult or a big challenge to get on with. On the upside, it can truly help find magnificent matches.

The Starlove API can either be used by websites to discretly sort their lists of potential matches, or physically list them in numerical order with a reference stating that the sort order has been refined using the Starlove compatibility algorthms. In such a case, it would be necessary to explain that while it would influence their position in the lists, the process was fairly undertaken using compatibility-rating theories that, whether believed in or not, over time would affect their positioning no more than the final lists produced using accepted scientifice matching criteria.

An opt-in checkbox might be made available requesting member consent to allow their birth date to be utilized by sorting algorithms based on well-known astrological principles.

The Starlove software itself has been downloaded several million times and is already a fairly well-known product for those interested in finding out compatibility ratings based on astrological synastry.

A further approach might be to run a slightly longer list of scientific matches through the prioritization process and eliminate those that are strongly indicated to be potentially disasterous matches (dis-aster, the word itself derived from 'aster', meaning star). These ill-advised matches can be identified by the strength of the 'bad' rating returned by the API for each person, which is derived from the difficult aspects found between two people's charts.

The API runs the compatibility calculating code demonstrated by this input form (noon birth times - America). Dating sites can localize this generalization.

The API can currently prioritize up to 10 matches per person, but this can easily be increased to 20 or 30 if required.

Each API call takes approximately 0.5 seconds to calculate and evaluate the 30 charts involved (natal-natal and two progressed per match comparison). It can therefore process and prioritize, for example, a batch of 10,000 members in about an hour and a half. It would be possible to speed this up using multiple threads or additional processes and load balancing but I would need some help with this. Alternatively, if we circumvent the API and put the code directly on your server, it can process about 20,000 of your members a minute.

Example of the PHP url format required to call the API

$url=' Pitt&dob=12/18/1963&name1=Angelina Jolie&dob1=06/04/1975&name2=Jennifer Aniston&dob2=02/11/1969&name3=Gwyneth Paltrow&dob3=9/27/1972&name4=Charlize Theron&dob4=8/07/1975&name5=Nicole Poturalski&dob5=01/02/1993&name6=Emily Ratajkowski&dob6=06/07/1991&name7=Ines de Ramon&dob7=12/19/1992&sort=O&NC=C&ryr=2023&details=N&coupon=12345678';

sort: O=Overall, L=Love, I=Intellectual, P=Physical | NC: N=Natal, C=Current, B=Both | ryr: Year to process | coupon: payment code

Example of the JSON data returned

[{"name":"Ines de Ramon","love":"10.72","intellectual":"6.14","physical":"2.69","strength":"19.55","bad":"0.69","overall":"15.80"},{"name":"Emily Ratajkowski","love":"5.52","intellectual":"4.28","physical":"2.33","strength":"12.13","bad":"0.00","overall":"9.99"},{"name":"Nicole Poturalski","love":"4.70","intellectual":"2.81","physical":"4.70","strength":"12.21","bad":"2.41","overall":"8.01"},{"name":"Angelina Jolie","love":"3.19","intellectual":"3.96","physical":"4.62","strength":"11.77","bad":"1.93","overall":"7.62"},{"name":"Jennifer Aniston","love":"4.33","intellectual":"3.10","physical":"2.41","strength":"9.84","bad":"3.57","overall":"2.43"},{"name":"Charlize Theron","love":"3.47","intellectual":"2.70","physical":"2.43","strength":"8.6","bad":"4.08","overall":"0.99"},{"name":"Gwyneth Paltrow","love":"4.90","intellectual":"2.17","physical":"0.00","strength":"7.07","bad":"6.13","overall":"-0.46"}]

Example of a PHP/CURL procedure to decode the content

$client = curl_init($url);
$response = curl_exec($client);
//var_dump(json_decode($response)); // Object
//var_dump(json_decode($response, true)); // Associative array
//print_r($response); // view
$json = (json_decode($response, true));

for($i = 0; $i < count($json); $i++){
   $obj[$i] = (Array)$json[$i];
   echo $obj[$i]['name'];
   echo $obj[$i]['love'];
   echo $obj[$i]['intellectual'];
   echo $obj[$i]['physical'];
   echo $obj[$i]['strength'];
   echo $obj[$i]['bad'];
   echo $obj[$i]['overall'];

The API may be freely tested for the first hundred requests, thereafter a purchase of credits is required. The cost is 1 cent US to prioritize each person (each with their list of up to 10 matches). Credit card payments can be made at $95 per 10,000 API credits. Larger orders will be processed by bank transfer. I still need to set up a payment process and am open to suggestions if you are interested. Alternatively, the code exists on RapidAPI, and you can use that platform if you prefer.

      Test the API yourself

      Birth details of person to match for
        Birth details of persons to match with