Search code examples
phpapicookiescaptchacloudflare

API I'm using can't be accessed unless Captcha is completed


I am trying to access API data from CraftingStore Public API.

When I am trying it on localhost, everything works like it should (1st pic, also printing results for to show). However, when I am trying to view it on the actual website (2nd pic), it is not working but instead saying to enable cookies and to complete captcha.

When on localhost:

localhost

When on website:

enter image description here

Also code for accessing the API:

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://api.craftingstore.net/v7/payments?page=1');
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                'token:'.$cs_token
    ));

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_exec($ch);
    curl_close($ch);

    $obj = json_decode($result);
    $dononame = $obj->data[0]->inGameName;
    $donobuy = $obj->data[0]->packageName;

What can I do?


Solution

  • This is quite usual for API's with Cloudflare. You'll need to make a page rule for the API domain/URI to disable the Browser Integrity Check.

    Source: https://support.cloudflare.com/hc/en-us/articles/200504045-Using-Cloudflare-with-your-API