NusaX Sentiment Corpus
Freeknowledge:nusax
Sentences labelled positive, neutral or negative for training and testing sentiment models, in Indonesian, 10 local languages and English. Also includes sentiment word translations.
No key yet? Sign up free
GET/v1/knowledge:nusax/lexicon
Sentiment word translations from Indonesian to another language. Translations only, with no positive or negative score.
Cache 604800 s
1 quota / request
knowledge.nusax.lexicon
cURL
curl -H "x-api-key: ga_live_..." "https://kajidata.artonlabs.com/v1/knowledge:nusax/lexicon?word=senang&language=javanese"
Python
import requests
response = requests.get(
"https://kajidata.artonlabs.com/v1/knowledge:nusax/lexicon",
params={"word": "senang", "language": "javanese"},
headers={"x-api-key": "ga_live_..."},
timeout=30,
)
body = response.json()
print(body["data"] if body["ok"] else body["error"])
JavaScript
const params = new URLSearchParams({"word": "senang", "language": "javanese"});
const response = await fetch(`https://kajidata.artonlabs.com/v1/knowledge:nusax/lexicon?${params}`, {
headers: { "x-api-key": "ga_live_..." },
});
const body = await response.json();
console.log(body.ok ? body.data : body.error);
PHP
<?php
$ch = curl_init('https://kajidata.artonlabs.com/v1/knowledge:nusax/lexicon?' . http_build_query(['word' => 'senang', 'language' => 'javanese']));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['x-api-key: ga_live_...'],
CURLOPT_TIMEOUT => 30,
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body['ok'] ? $body['data'] : $body['error']);
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
params := url.Values{}
params.Set("word", "senang")
params.Set("language", "javanese")
req, _ := http.NewRequest("GET", "https://kajidata.artonlabs.com/v1/knowledge:nusax/lexicon?"+params.Encode(), nil)
req.Header.Set("x-api-key", "ga_live_...")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
var body map[string]any
json.NewDecoder(res.Body).Decode(&body)
fmt.Println(body["data"])
}
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://kajidata.artonlabs.com/v1/knowledge:nusax/lexicon?word=senang&language=javanese"))
.header("x-api-key", "ga_live_...")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Ruby
require "net/http"
require "json"
uri = URI("https://kajidata.artonlabs.com/v1/knowledge:nusax/lexicon")
uri.query = URI.encode_www_form({"word" => "senang", "language" => "javanese"})
request = Net::HTTP::Get.new(uri)
request["x-api-key"] = "ga_live_..."
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
body = JSON.parse(response.body)
puts body["ok"] ? body["data"] : body["error"]
C#
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "ga_live_...");
var json = await client.GetStringAsync("https://kajidata.artonlabs.com/v1/knowledge:nusax/lexicon?word=senang&language=javanese");
Console.WriteLine(json);
GET/v1/knowledge:nusax/texts
Sentiment-labelled sentences.
Cache 604800 s
1 quota / request
knowledge.nusax.texts
cURL
curl -H "x-api-key: ga_live_..." "https://kajidata.artonlabs.com/v1/knowledge:nusax/texts?label=negative&limit=5&split=test&language=indonesian"
Python
import requests
response = requests.get(
"https://kajidata.artonlabs.com/v1/knowledge:nusax/texts",
params={"label": "negative", "limit": "5", "split": "test", "language": "indonesian"},
headers={"x-api-key": "ga_live_..."},
timeout=30,
)
body = response.json()
print(body["data"] if body["ok"] else body["error"])
JavaScript
const params = new URLSearchParams({"label": "negative", "limit": "5", "split": "test", "language": "indonesian"});
const response = await fetch(`https://kajidata.artonlabs.com/v1/knowledge:nusax/texts?${params}`, {
headers: { "x-api-key": "ga_live_..." },
});
const body = await response.json();
console.log(body.ok ? body.data : body.error);
PHP
<?php
$ch = curl_init('https://kajidata.artonlabs.com/v1/knowledge:nusax/texts?' . http_build_query(['label' => 'negative', 'limit' => '5', 'split' => 'test', 'language' => 'indonesian']));
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['x-api-key: ga_live_...'],
CURLOPT_TIMEOUT => 30,
]);
$body = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($body['ok'] ? $body['data'] : $body['error']);
Go
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
params := url.Values{}
params.Set("label", "negative")
params.Set("limit", "5")
params.Set("split", "test")
params.Set("language", "indonesian")
req, _ := http.NewRequest("GET", "https://kajidata.artonlabs.com/v1/knowledge:nusax/texts?"+params.Encode(), nil)
req.Header.Set("x-api-key", "ga_live_...")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
var body map[string]any
json.NewDecoder(res.Body).Decode(&body)
fmt.Println(body["data"])
}
Java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
HttpRequest request = HttpRequest.newBuilder(URI.create("https://kajidata.artonlabs.com/v1/knowledge:nusax/texts?label=negative&limit=5&split=test&language=indonesian"))
.header("x-api-key", "ga_live_...")
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Ruby
require "net/http"
require "json"
uri = URI("https://kajidata.artonlabs.com/v1/knowledge:nusax/texts")
uri.query = URI.encode_www_form({"label" => "negative", "limit" => "5", "split" => "test", "language" => "indonesian"})
request = Net::HTTP::Get.new(uri)
request["x-api-key"] = "ga_live_..."
response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) }
body = JSON.parse(response.body)
puts body["ok"] ? body["data"] : body["error"]
C#
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("x-api-key", "ga_live_...");
var json = await client.GetStringAsync("https://kajidata.artonlabs.com/v1/knowledge:nusax/texts?label=negative&limit=5&split=test&language=indonesian");
Console.WriteLine(json);