> ## Documentation Index
> Fetch the complete documentation index at: https://alltick.co/apis/llms.txt
> Use this file to discover all available pages before exploring further.

# HTTP Request Example

> This page provides HTTP request examples for the AllTick REST API in Go, Python, Java, and PHP, showing how to build request URLs, set token and query parameters, send HTTP requests, and parse responses, making it easy for developers to integrate and test real-time tick data feeds for forex, stocks, crypto, and more via REST.

```go Go theme={null}
package main

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

func http_example() {

	/*
		URL-encode the following JSON and copy it into the query field of the HTTP query string
		{"trace" : "go_http_test1","data" : {"code" : "700.HK","kline_type" : 1,"kline_timestamp_end" : 0,"query_kline_num" : 2,"adjust_type": 0}}

		Special Note:
		github: https://github.com/AllTick-Official/alltick-realtime-forex-crypto-stock-tick-finance-websocket-api
		Token Application: https://alltick.co
		Replace testtoken in the URL below with your own token
		API address for forex, cryptocurrencies, and precious metals:
		https://quote.alltick.co/quote-b-api
		Stock API address:
		https://quote.alltick.co/quote-stock-b-api
	*/
	url := "https://quote.alltick.co/quote-stock-b-api/kline"
	log.Println("Request URL:", url)

	req, err := http.NewRequest("GET", url, nil)
	if err != nil {
		fmt.Println("Error creating request:", err)
		return
	}

	q := req.URL.Query()
	token := "testtoken"
	q.Add("token", token)
	queryStr := `{"trace":"1111111111111111111111111","data":{"code":"AAPL.US","kline_type":1,"kline_timestamp_end":0,"query_kline_num":10,"adjust_type":0}}`
	q.Add("query", queryStr)
	req.URL.RawQuery = q.Encode()
	// Send request
	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		fmt.Println("Error sending request:", err)
		return
	}
	defer resp.Body.Close()

	body2, err := ioutil.ReadAll(resp.Body)

	if err != nil {

		log.Println("Failed to read response:", err)

		return

	}

	log.Println("Response content:", string(body2))

}
```

```java Java theme={null}
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpJavaExample {

    public static void main(String[] args) {

        try {

            /*
            Encode the following JSON into URL format and copy it to the query field of the HTTP request
            {"trace" : "java_http_test1","data" : {"code" : "700.HK","kline_type" : 1,"kline_timestamp_end" : 0,"query_kline_num" : 2,"adjust_type": 0}}
            Special Note:
            GitHub: https://github.com/AllTick-Official/alltick-realtime-forex-crypto-stock-tick-finance-websocket-api
            Token Application: https://alltick.co
            Replace "testtoken" in the URL below with your own token
            API addresses for forex, cryptocurrencies, and precious metals:
            https://quote.alltick.co/quote-b-api
            Stock API address:
            https://quote.alltick.co/quote-stock-b-api
            */
            String url = "http://quote.alltick.co/quote-stock-b-api/kline?token=testtoken&query="
                    + "%7B%22trace%22%20%3A%20%22java_http_test1%22%2C%22data%22%20%3A%20%7B"
                    + "%22code%22%20%3A%20%22700.HK%22%2C%22kline_type%22%20%3A%201%2C"
                    + "%22kline_timestamp_end%22%20%3A%200%2C%22query_kline_num%22%20%3A%202%2C"
                    + "%22adjust_type%22%3A%200%7D%7D";

            URL obj = new URL(url);

            HttpURLConnection con = (HttpURLConnection) obj.openConnection();

            con.setRequestMethod("GET");

            int responseCode = con.getResponseCode();

            System.out.println("Response Code: " + responseCode);

            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));

            String inputLine;

            StringBuffer response = new StringBuffer();

            while ((inputLine = in.readLine()) != null) {
                response.append(inputLine);
            }

            in.close();

            System.out.println(response.toString());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
```

```php PHP theme={null}
<?php

// Special Note:
// GitHub: https://github.com/AllTick-Official/alltick-realtime-forex-crypto-stock-tick-finance-websocket-api
// Token Application: https://alltick.co
// Replace "testtoken" in the URL below with your own token
// API addresses for forex, cryptocurrencies, and precious metals:
// https://quote.alltick.co/quote-b-ws-api
// Stock API address:
// https://quote.alltick.co/quote-stock-b-ws-api

$params = '{"trace":"1111111111111111111111111","data":{"code":"AAPL.US","kline_type":1,"kline_timestamp_end":0,"query_kline_num":10,"adjust_type":0}}';

$url = 'https://quote.alltick.co/quote-stock-b-api/kline?token=testtoken';
$method = 'GET';

$opts = array(CURLOPT_TIMEOUT => 10, CURLOPT_RETURNTRANSFER => 1, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false);

/* Set specific parameters based on request type */
switch (strtoupper($method)) {
    case 'GET':
        $opts[CURLOPT_URL] = $url.'&query='.rawurlencode($params);
        $opts[CURLOPT_CUSTOMREQUEST] = 'GET';
        break;
    default:
}

/* Initialize and execute curl request */
$ch = curl_init();
curl_setopt_array($ch, $opts);
$data = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);

if ($error) {
    $data = null;
}

echo $data;
?>
```

```python Pyton theme={null}
import time
import requests
import json

# Extra headers
test_headers = {
    'Content-Type': 'application/json'
}

'''
# Special Note:
# GitHub: https://github.com/AllTick-Official/alltick-realtime-forex-crypto-stock-tick-finance-websocket-api
# Token Application: https://alltick.co
# Replace "testtoken" in the URL below with your own token
# API addresses for forex, cryptocurrencies, and precious metals:
# https://quote.alltick.co/quote-b-ws-api
# Stock API address:
# https://quote.alltick.co/quote-stock-b-ws-api
Encode the following JSON and copy it to the "query" field of the HTTP query string
{"trace": "python_http_test1", "data": {"code": "700.HK", "kline_type": 1, "kline_timestamp_end": 0, "query_kline_num": 2, "adjust_type": 0}}
{"trace": "python_http_test2", "data": {"symbol_list": [{"code": "700.HK"}, {"code": "UNH.US"}]}}
{"trace": "python_http_test3", "data": {"symbol_list": [{"code": "700.HK"}, {"code": "UNH.US"}]}}
'''
test_url1 = (
    'https://quote.alltick.co/quote-stock-b-api/kline?token=testtoken&query='
    '%7B%22trace%22%20%3A%20%22python_http_test1%22%2C%22data%22%20%3A%20%7B'
    '%22code%22%20%3A%20%22700.HK%22%2C%22kline_type%22%20%3A%201%2C'
    '%22kline_timestamp_end%22%20%3A%200%2C%22query_kline_num%22%20%3A%202%2C'
    '%22adjust_type%22%3A%200%7D%7D'
)
test_url2 = (
    'https://quote.alltick.co/quote-stock-b-api/depth-tick?token=testtoken&query='
    '%7B%22trace%22%20%3A%20%22python_http_test2%22%2C%22data%22%20%3A%20%7B'
    '%22symbol_list%22%3A%20%5B%7B%22code%22%3A%20%22700.HK%22%7D%2C'
    '%7B%22code%22%3A%20%22UNH.US%22%7D%5D%7D%7D'
)
test_url3 = (
    'https://quote.alltick.co/quote-stock-b-api/trade-tick?token=testtoken&query='
    '%7B%22trace%22%20%3A%20%22python_http_test3%22%2C%22data%22%20%3A%20%7B'
    '%22symbol_list%22%3A%20%5B%7B%22code%22%3A%20%22700.HK%22%7D%2C'
    '%7B%22code%22%3A%20%22UNH.US%22%7D%5D%7D%7D'
)

resp1 = requests.get(url=test_url1, headers=test_headers)
time.sleep(1)
resp2 = requests.get(url=test_url2, headers=test_headers)
time.sleep(1)
resp3 = requests.get(url=test_url3, headers=test_headers)

# Decoded text returned by the request
text1 = resp1.text
print(text1)

text2 = resp2.text
print(text2)

text3 = resp3.text
print(text3)
```

***

#### AllTick Website

> [!NOTE]
>
> Official website: \[[https://alltick.co/](https://alltick.co/)]\([https://alltick.co/](https://alltick.co/))


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.