The API uses a combination of the birth charts as well as the progressed charts on a day-for-a-year basis. It can therefore accept the year to run for (you'll see Brad and Angelina had a very low rating for 2015 when they got divorced, but get on very well later on this decade, this can be useful information for them). It can also accept parameters to evaluate certain areas of the relationhip, namely general love, intellectual or physical compatibility.
The concept is based on tried and tested astrological rules like overall both-way Venus compatibility, Mercury/Sun/Jupiter/Saturn/Neptune and Venus-Mars/Uranus/Pluto aspects, to give you a rough idea of what it looks at, including a bias based on the closeness of the aspects to exact. The Moon position is approximated at this stage but this will possibly be given more weight later when country and time of birth become input parameters.
It looks at all the planets and their shared aspects but gives emphasis based on the input requirement, giving users the option to specify whether they are looking for a loving relationship, a good intellectually compatible partner, or simply just a hot Tinder kind of thing.
The examples that use Brad and Jennifer's birth dates are not hacks. You can view the aspects making up the compatibility ratings with their partners by downloading the Starlove software and clicking on the 'Aspects' button. You can also edit/tweak the input URL birth data slightly or radically to see how changes cause concomitant changes in the ratings.
Here's the link if you'd like to test it (- you'll need to log in using your Facebook or Gmail account to test it though). To put in your own data, click the 'GET match' option on the left and then scroll down to where you can see the 'birthdetails' parameter. Click that, select all (Ctrl-A), copy it to your clipboard (Ctrl-C) and paste it into Notepad.
https://rapidapi.com/adrianfourie/api/starlovematch/
You'll see the following :
name=Jennifer Aniston&dob=2/11/1969&name1=Justin Theroux&dob1=8/10/1971&name2=Gerard Butler&dob2=11/13/1969&name3=John Mayer&dob3=10/16/1977&name4=Paul Sculfor&dob4=2/1/1971&name5=David Schwimmer&dob5=11/2/1969&name6=Vince Vaughn&dob6=3/28/1970&name7=Brad Pitt&dob7=12/18/1963&name8=Paul Rudd&dob8=4/6/1969&name9=Tate Donovan&dob9=9/25/1963&name10=Daniel McDonald&dob10=7/30/1960&sort=O&NC=C&ryr=2022&details=N&coupon=12345678
According to the calculations, Paul Rudd, Justin Theroux and Brad Pitt are at the top for loving and intellectual relations, while John Mayer is the man for the hot fling. In the early 2000's, Brad was right at the top for love, but if you run it for the later years of this decade you'll see how their synastry fades away. Negative synastry (e.g. multiple aspects like Saturn on Venus, Mars opposite Sun), recommends the person be avoided entirely.
Edit and delete names and dates of birth to suit your input data, then copy your new data and paste it back into the same box by first clicking in the box, selecting all again (Ctrl-A), and pasting it (Ctrl-V) to overwrite it. Then click 'Test Endpoint' at the top, and you'll see the compatibility ratings on the right.
Input Parameters :
sort=O : Overall Compatibility
sort=L : Love Compatibility
sort=I : Intellectual Compatibility
sort=P : Physical Compatibility
ryr : Year to evaluate compatibility
details=Y : additional information
coupon : currently not used
If a compatibility rating has a negative value, bad aspects exist and this person should be avoided.
Scientific matching can only take you so far. Using Starlove you not only can find the exceptionally good matches, but avoid obvious disasters.
You don't even need to tell your users you are using astrology to refine your matches, all the prioritizing and emphasis can be done discretely in the background, with the net result that you are offering your users some truly wonderful matches, 'made in heaven' as they say.
Example of a PHP/CURL procedure to decode the content
$client = curl_init($url);
curl_setopt($client,CURLOPT_RETURNTRANSFER,true);
$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'];
}