Just as maths is universal, Prime Numbers API requests have already been crafted into numerous coding languages!
Below you'll find example get-random-prime requests, with explanations and prime_types, in over 25 languages, from C# to Swift, happy hacking!



C# - RestSharp
var client = new RestClient("http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);



cURL
curl --location --request GET 'http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english'
                                    



Dart - http
var request = http.Request('GET', Uri.parse('http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english'));


http.StreamedResponse response = await request.send();

if (response.statusCode == 200) {
  print(await response.stream.bytesToString());
}
else {
  print(response.reasonPhrase);
}



Go - Native
package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
)

func main() {

    url := "http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english"
    method := "GET"

    client := &http.Client {
    }
    req, err := http.NewRequest(method, url, nil)

    if err != nil {
    fmt.Println(err)
    return
    }
    res, err := client.Do(req)
    if err != nil {
    fmt.Println(err)
    return
    }
    defer res.Body.Close()

    body, err := ioutil.ReadAll(res.Body)
    if err != nil {
    fmt.Println(err)
    return
    }
    fmt.Println(string(body))
}



HTTP
GET /get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english HTTP/1.1
Host: api.prime-numbers.io



Java - OkHttp
OkHttpClient client = new OkHttpClient().newBuilder()
 .build();
Request request = new Request.Builder()
 .url("http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english")
 .method("GET", null)
 .build();
Response response = client.newCall(request).execute();



Java - Unirest
Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english")
    .asString();



JavaScript - Fetch
var requestOptions = {
    method: 'GET',
    redirect: 'follow'
};

fetch("http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english", requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log('error', error));



JavaScript - jQuery
var settings = {
    "url": "http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english",
    "method": "GET",
    "timeout": 0,
};

$.ajax(settings).done(function (response) {
    console.log(response);
});



JavaScript - XHR
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
    if(this.readyState === 4) {
    console.log(this.responseText);
    }
});

xhr.open("GET", "http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english");

xhr.send();



C - libcurl
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
    curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
    curl_easy_setopt(curl, CURLOPT_URL, "http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english");
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
    curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
    struct curl_slist *headers = NULL;
    curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
    res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);



NodeJs - Axios
var axios = require('axios');

var config = {
    method: 'get',
    url: 'http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english',
    headers: { }
};

axios(config)
.then(function (response) {
    console.log(JSON.stringify(response.data));
})
.catch(function (error) {
    console.log(error);
});



NodeJs - Native
var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
    'method': 'GET',
    'hostname': 'api.prime-numbers.io',
    'path': '/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english',
    'headers': {
    },
    'maxRedirects': 20
};

var req = https.request(options, function (res) {
    var chunks = [];

    res.on("data", function (chunk) {
        chunks.push(chunk);
    });

    res.on("end", function (chunk) {
        var body = Buffer.concat(chunks);
        console.log(body.toString());
    });

    res.on("error", function (error) {
        console.error(error);
    });
});

req.end();



NodeJs - Request
var request = require('request');
var options = {
    'method': 'GET',
    'url': 'http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english',
    'headers': {
    }
};
request(options, function (error, response) {
    if (error) throw new Error(error);
    console.log(response.body);
});



NodeJs - unirest
var unirest = require('unirest');
var req = unirest('GET', 'http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english')
    .end(function (res) { 
        if (res.error) throw new Error(res.error); 
        console.log(res.raw_body);
    });



Objective-C - NSURLSession
#import <Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english"]
    cachePolicy:NSURLRequestUseProtocolCachePolicy
    timeoutInterval:10.0];

[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
    if (error) {
        NSLog(@"%@", error);
        dispatch_semaphore_signal(sema);
    } else {
        NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
        NSError *parseError = nil;
        NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
        NSLog(@"%@",responseDictionary);
        dispatch_semaphore_signal(sema);
    }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);



OCaml - Cohttp
open Lwt
open Cohttp
open Cohttp_lwt_unix

let reqBody = 
    let uri = Uri.of_string "http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english" in
    Client.call `GET uri >>= fun (_resp, body) ->
    body |> Cohttp_lwt.Body.to_string >|= fun body -> body

let () =
    let respBody = Lwt_main.run reqBody in
    print_endline (respBody)



PHP - cURL
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => 'http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'GET',
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;



PHP - HTTP_Request2
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
    'follow_redirects' => TRUE
));
try {
    $response = $request->send();
    if ($response->getStatus() == 200) {
        echo $response->getBody();
    }
    else {
        echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
        $response->getReasonPhrase();
    }
}
catch(HTTP_Request2_Exception $e) {
    echo 'Error: ' . $e->getMessage();
}



PHP - pecl_http
<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english');
$request->setRequestMethod('GET');
$request->setOptions(array());

$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();



PowerShell - RestMethod
$response = Invoke-RestMethod 'http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english' -Method 'GET' -Headers $headers
$response | ConvertTo-Json



Python - http.client
import http.client

conn = http.client.HTTPSConnection("api.prime-numbers.io")
payload = ''
headers = {}
conn.request("GET", "/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))



Python - Requests
import requests

url = "http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english"

payload={}
headers = {}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)



Ruby - Net::HTTP
require "uri"
require "net/http"

url = URI("http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body



Shell - Httpie
http --follow --timeout 3600 GET 'http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english'



Shell - wget
wget --no-check-certificate --quiet \
    --method GET \
    --timeout=0 \
    --header '' \
        'http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english'



Swift - URLSession
import Foundation
#if canImport(FoundationNetworking)
import FoundationNetworking
#endif

var semaphore = DispatchSemaphore (value: 0)

var request = URLRequest(url: URL(string: "http://api.prime-numbers.io/get-random-prime.php?key=YOUR_API_KEY&include_explanations=true&include_prime_types_list=true&language=english")!,timeoutInterval: Double.infinity)
request.httpMethod = "GET"

let task = URLSession.shared.dataTask(with: request) { data, response, error in 
    guard let data = data else {
        print(String(describing: error))
        semaphore.signal()
        return
    }
    print(String(data: data, encoding: .utf8)!)
    semaphore.signal()
}

task.resume()
semaphore.wait()