Integrate an expression (indefinite, or definite with bounds)
Integrates an expression. Pass lower and upper for a definite integral with its numeric value.
Request
POSThttps://math-solver.p.apihiver.com/v1/integral
JSON object. Required: expression.
Request Body
Edit the values below to test different scenarios.
Parameters and body structure are inherited from this endpoint's definition. Changes here only apply to this test run.
Language
Client
1curl --request POST \
2 --url https://math-solver.p.apihiver.com/v1/integral \
3 --header 'Accept: application/json' \
4 --header 'Content-Type: application/json' \
5 --header 'X-API-Key: YOUR_API_KEY' \
6 --data '{
7 "lower": "0",
8 "upper": "3",
9 "expression": "x^2"
10}'Integrate an expression (indefinite, or definite with bounds): Math Solver API reference
Integrates an expression. Pass `lower` and `upper` for a definite integral with its numeric value. This endpoint is part of the Math Solver API: Evaluate expressions, solve equations, and compute derivatives, integrals and simplifications — with exact and decimal answers.
Integrate an expression (indefinite, or definite with bounds): example requests in every language
POST /v1/integral in Shell (cURL)
curl --request POST \
--url https://math-solver.p.apihiver.com/v1/integral \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--data '{
"lower": "0",
"upper": "3",
"expression": "x^2"
}'POST /v1/integral in Shell (HTTPie)
echo '{
"lower": "0",
"upper": "3",
"expression": "x^2"
}' | \
http POST https://math-solver.p.apihiver.com/v1/integral \
Accept:application/json \
Content-Type:application/json \
X-API-Key:YOUR_API_KEYPOST /v1/integral in Shell (Wget)
wget --quiet \
--method POST \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'X-API-Key: YOUR_API_KEY' \
--body-data '{\n "lower": "0",\n "upper": "3",\n "expression": "x^2"\n}' \
--output-document \
- https://math-solver.p.apihiver.com/v1/integralPOST /v1/integral in Node.js (http)
const http = require('https');
const options = {
method: 'POST',
hostname: 'math-solver.p.apihiver.com',
port: null,
path: '/v1/integral',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write(JSON.stringify({lower: '0', upper: '3', expression: 'x^2'}));
req.end();POST /v1/integral in Node.js (Request)
const request = require('request');
const options = {
method: 'POST',
url: 'https://math-solver.p.apihiver.com/v1/integral',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
},
body: {lower: '0', upper: '3', expression: 'x^2'},
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});POST /v1/integral in Node.js (Unirest)
const unirest = require('unirest');
const req = unirest('POST', 'https://math-solver.p.apihiver.com/v1/integral');
req.headers({
'Content-Type': 'application/json',
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
});
req.type('json');
req.send({
lower: '0',
upper: '3',
expression: 'x^2'
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});POST /v1/integral in Node.js (Axios)
const axios = require('axios').default;
const options = {
method: 'POST',
url: 'https://math-solver.p.apihiver.com/v1/integral',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
},
data: {lower: '0', upper: '3', expression: 'x^2'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}POST /v1/integral in Node.js (Fetch)
const fetch = require('node-fetch');
const url = 'https://math-solver.p.apihiver.com/v1/integral';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
},
body: '{"lower":"0","upper":"3","expression":"x^2"}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}POST /v1/integral in JavaScript (XMLHttpRequest)
const data = JSON.stringify({
lower: '0',
upper: '3',
expression: 'x^2'
});
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('POST', 'https://math-solver.p.apihiver.com/v1/integral');
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Accept', 'application/json');
xhr.setRequestHeader('X-API-Key', 'YOUR_API_KEY');
xhr.send(data);POST /v1/integral in JavaScript (Axios)
import axios from 'axios';
const options = {
method: 'POST',
url: 'https://math-solver.p.apihiver.com/v1/integral',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
},
data: {lower: '0', upper: '3', expression: 'x^2'}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}POST /v1/integral in JavaScript (Fetch)
const url = 'https://math-solver.p.apihiver.com/v1/integral';
const options = {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
},
body: '{"lower":"0","upper":"3","expression":"x^2"}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}POST /v1/integral in JavaScript (jQuery)
const settings = {
async: true,
crossDomain: true,
url: 'https://math-solver.p.apihiver.com/v1/integral',
method: 'POST',
headers: {
'Content-Type': 'application/json',
Accept: 'application/json',
'X-API-Key': 'YOUR_API_KEY'
},
processData: false,
data: '{\n "lower": "0",\n "upper": "3",\n "expression": "x^2"\n}'
};
$.ajax(settings).done(function (response) {
console.log(response);
});POST /v1/integral in Python (http.client)
import http.client
conn = http.client.HTTPSConnection("math-solver.p.apihiver.com")
payload = "{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'X-API-Key': "YOUR_API_KEY"
}
conn.request("POST", "/v1/integral", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))POST /v1/integral in Python (Requests)
import requests
url = "https://math-solver.p.apihiver.com/v1/integral"
payload = {
"lower": "0",
"upper": "3",
"expression": "x^2"
}
headers = {
"Content-Type": "application/json",
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())POST /v1/integral in PHP (cURL)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://math-solver.p.apihiver.com/v1/integral",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'lower' => '0',
'upper' => '3',
'expression' => 'x^2'
]),
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Content-Type: application/json",
"X-API-Key: YOUR_API_KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}POST /v1/integral in PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://math-solver.p.apihiver.com/v1/integral', [
'body' => '{
"lower": "0",
"upper": "3",
"expression": "x^2"
}',
'headers' => [
'Accept' => 'application/json',
'Content-Type' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY',
],
]);
echo $response->getBody();POST /v1/integral in PHP (PECL HTTP v1)
<?php
$request = new HttpRequest();
$request->setUrl('https://math-solver.p.apihiver.com/v1/integral');
$request->setMethod(HTTP_METH_POST);
$request->setHeaders([
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY'
]);
$request->setContentType('application/json');
$request->setBody(json_encode([
'lower' => '0',
'upper' => '3',
'expression' => 'x^2'
]));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}POST /v1/integral in PHP (PECL HTTP v2)
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->append(json_encode([
'lower' => '0',
'upper' => '3',
'expression' => 'x^2'
]));
$request->setRequestUrl('https://math-solver.p.apihiver.com/v1/integral');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders([
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'X-API-Key' => 'YOUR_API_KEY'
]);
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();POST /v1/integral in Java (AsyncHttp)
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "https://math-solver.p.apihiver.com/v1/integral")
.setHeader("Content-Type", "application/json")
.setHeader("Accept", "application/json")
.setHeader("X-API-Key", "YOUR_API_KEY")
.setBody("{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();POST /v1/integral in Java (java.net.http)
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://math-solver.p.apihiver.com/v1/integral"))
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.method("POST", HttpRequest.BodyPublishers.ofString("{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}"))
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());POST /v1/integral in Java (OkHttp)
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}");
Request request = new Request.Builder()
.url("https://math-solver.p.apihiver.com/v1/integral")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json")
.addHeader("X-API-Key", "YOUR_API_KEY")
.build();
Response response = client.newCall(request).execute();POST /v1/integral in Java (Unirest)
HttpResponse<String> response = Unirest.post("https://math-solver.p.apihiver.com/v1/integral")
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("X-API-Key", "YOUR_API_KEY")
.body("{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}")
.asString();POST /v1/integral in C# (HttpClient)
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://math-solver.p.apihiver.com/v1/integral"),
Headers =
{
{ "Accept", "application/json" },
{ "X-API-Key", "YOUR_API_KEY" },
},
Content = new StringContent("{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}POST /v1/integral in C# (RestSharp)
var client = new RestClient("https://math-solver.p.apihiver.com/v1/integral");
var request = new RestRequest("", Method.Post);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddHeader("X-API-Key", "YOUR_API_KEY");
request.AddParameter("application/json", "{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);POST /v1/integral in Go (NewRequest)
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://math-solver.p.apihiver.com/v1/integral"
payload := strings.NewReader("{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Accept", "application/json")
req.Header.Add("X-API-Key", "YOUR_API_KEY")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}POST /v1/integral in Ruby (net::http)
require 'uri'
require 'net/http'
url = URI("https://math-solver.p.apihiver.com/v1/integral")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Accept"] = 'application/json'
request["X-API-Key"] = 'YOUR_API_KEY'
request.body = "{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}"
response = http.request(request)
puts response.read_bodyPOST /v1/integral in Swift (NSURLSession)
import Foundation
let headers = [
"Content-Type": "application/json",
"Accept": "application/json",
"X-API-Key": "YOUR_API_KEY"
]
let parameters = [
"lower": "0",
"upper": "3",
"expression": "x^2"
] as [String : Any]
let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://math-solver.p.apihiver.com/v1/integral")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()POST /v1/integral in Objective-C (NSURLSession)
#import <Foundation/Foundation.h>
NSDictionary *headers = @{ @"Content-Type": @"application/json",
@"Accept": @"application/json",
@"X-API-Key": @"YOUR_API_KEY" };
NSDictionary *parameters = @{ @"lower": @"0",
@"upper": @"3",
@"expression": @"x^2" };
NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://math-solver.p.apihiver.com/v1/integral"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];POST /v1/integral in Kotlin (OkHttp)
val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}")
val request = Request.Builder()
.url("https://math-solver.p.apihiver.com/v1/integral")
.post(body)
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json")
.addHeader("X-API-Key", "YOUR_API_KEY")
.build()
val response = client.newCall(request).execute()POST /v1/integral in C (libcurl)
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "https://math-solver.p.apihiver.com/v1/integral");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json");
headers = curl_slist_append(headers, "Accept: application/json");
headers = curl_slist_append(headers, "X-API-Key: YOUR_API_KEY");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}");
CURLcode ret = curl_easy_perform(hnd);POST /v1/integral in Clojure (clj-http)
(require '[clj-http.client :as client])
(client/post "https://math-solver.p.apihiver.com/v1/integral" {:headers {:X-API-Key "YOUR_API_KEY"}
:content-type :json
:form-params {:lower "0"
:upper "3"
:expression "x^2"}
:accept :json})POST /v1/integral in OCaml (CoHTTP)
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "https://math-solver.p.apihiver.com/v1/integral" in
let headers = Header.add_list (Header.init ()) [
("Content-Type", "application/json");
("Accept", "application/json");
("X-API-Key", "YOUR_API_KEY");
] in
let body = Cohttp_lwt_body.of_string "{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}" in
Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)POST /v1/integral in R (httr)
library(httr)
url <- "https://math-solver.p.apihiver.com/v1/integral"
payload <- "{\n \"lower\": \"0\",\n \"upper\": \"3\",\n \"expression\": \"x^2\"\n}"
encode <- "json"
response <- VERB("POST", url, body = payload, add_headers('X-API-Key' = 'YOUR_API_KEY'), content_type("application/json"), accept("application/json"), encode = encode)
content(response, "text")POST /v1/integral in PowerShell (Invoke-WebRequest)
$headers=@{}
$headers.Add("Content-Type", "application/json")
$headers.Add("Accept", "application/json")
$headers.Add("X-API-Key", "YOUR_API_KEY")
$response = Invoke-WebRequest -Uri 'https://math-solver.p.apihiver.com/v1/integral' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"lower": "0",
"upper": "3",
"expression": "x^2"
}'POST /v1/integral in PowerShell (Invoke-RestMethod)
$headers=@{}
$headers.Add("Content-Type", "application/json")
$headers.Add("Accept", "application/json")
$headers.Add("X-API-Key", "YOUR_API_KEY")
$response = Invoke-RestMethod -Uri 'https://math-solver.p.apihiver.com/v1/integral' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"lower": "0",
"upper": "3",
"expression": "x^2"
}'POST /v1/integral in HTTP (HTTP/1.1)
POST /v1/integral HTTP/1.1
Content-Type: application/json
Accept: application/json
X-Api-Key: YOUR_API_KEY
Host: math-solver.p.apihiver.com
Content-Length: 57
{
"lower": "0",
"upper": "3",
"expression": "x^2"
}Example response (200, application/json)
Success.
1{
2 "numeric": "9.000000000",
3 "integral": "9",
4 "expression": "x^2"
5}Errors
- 400 — A required parameter is missing or a value has the wrong format.
1{ 2 "error": { 3 "code": "INVALID_INPUT", 4 "message": "expression: Field required" 5 } 6}
Gateway errors (missing key, no subscription, rate limits) are listed in Error codes.