Search Stock Financials
curl --request POST \
--url https://api.aisa.one/apis/v1/financial/financials/search/screener \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": [
{
"field": "<string>",
"value": 123
}
]
}
'import requests
url = "https://api.aisa.one/apis/v1/financial/financials/search/screener"
payload = { "filters": [
{
"field": "<string>",
"value": 123
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({filters: [{field: '<string>', value: 123}]})
};
fetch('https://api.aisa.one/apis/v1/financial/financials/search/screener', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/financial/financials/search/screener",
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([
'filters' => [
[
'field' => '<string>',
'value' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/financial/financials/search/screener"
payload := strings.NewReader("{\n \"filters\": [\n {\n \"field\": \"<string>\",\n \"value\": 123\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/financial/financials/search/screener")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": [\n {\n \"field\": \"<string>\",\n \"value\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/financial/financials/search/screener")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": [\n {\n \"field\": \"<string>\",\n \"value\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"search_results": [
{
"currency": "<string>",
"period": "annual",
"report_period": "2023-12-25",
"ticker": "<string>"
}
]
}Financial Statements
Search Stock Financials
Find tickers by numeric conditions — the only tool here that does not need a ticker up front.
POST
https://api.aisa.one
/
apis
/
v1
/
financial
/
financials
/
search
/
screener
Search Stock Financials
curl --request POST \
--url https://api.aisa.one/apis/v1/financial/financials/search/screener \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"filters": [
{
"field": "<string>",
"value": 123
}
]
}
'import requests
url = "https://api.aisa.one/apis/v1/financial/financials/search/screener"
payload = { "filters": [
{
"field": "<string>",
"value": 123
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({filters: [{field: '<string>', value: 123}]})
};
fetch('https://api.aisa.one/apis/v1/financial/financials/search/screener', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/financial/financials/search/screener",
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([
'filters' => [
[
'field' => '<string>',
'value' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/financial/financials/search/screener"
payload := strings.NewReader("{\n \"filters\": [\n {\n \"field\": \"<string>\",\n \"value\": 123\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/financial/financials/search/screener")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": [\n {\n \"field\": \"<string>\",\n \"value\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/financial/financials/search/screener")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": [\n {\n \"field\": \"<string>\",\n \"value\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"search_results": [
{
"currency": "<string>",
"period": "annual",
"report_period": "2023-12-25",
"ticker": "<string>"
}
]
}Find tickers that match numeric conditions. Body takes
Set this endpoint up in your agent →
filters — each a field, an operator and a value — plus limit. Returns results with ticker, currency, sector, industry and whichever filtered field was matched. This is the only tool here that works without knowing a ticker in advance; everything else takes one as input. Filterable fields are the metric names get_financial_financial_metrics returns. Use it to build a candidate list, then pull detail on each name with the statement or metric tools.
First time? Point any MCP client at
https://mcp.aisa.one/mcp — Claude
Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client
opens a browser, you click Allow once, and there is no key to paste. Your
agent then reaches every endpoint through a few meta tools: search,
list_categories, get_details and batch_quote are free, batch_use is
billed per call. Setup per client is in
Connect via MCP; the live tool list and what each call
costs are on aisa.one/mcp.Request contract
- Method and path: POST /apis/v1/financial/financials/search/screener
- Availability: enabled
- Request URL template: https://api.aisa.one/apis/v1/financial/financials/search/screener
- Runtime facts: 694a99fb21efca575a4b8ff0db4c82ec36667c583b6490faf3c0b3ff64e0beaa
{
"operationId": "post_financial_financials_search_screener",
"method": "POST",
"path": "/apis/v1/financial/financials/search/screener",
"servers": [
{
"url": "https://api.aisa.one"
}
],
"parameters": [],
"security": [
{
"bearerAuth": []
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"filters": {
"description": "An array of filter objects to apply to the search.",
"items": {
"properties": {
"field": {
"description": "The criteria to filter on. For financial metric fields, use 'gt', 'lt', 'gte', 'lte', 'eq' operators. For 'ticker' and 'cik' fields, use the 'in' operator to filter against multiple values.",
"type": "string"
},
"operator": {
"description": "The comparison operator. The 'in' operator can only be used with a field value of 'ticker' or 'cik' and lets you filter against multiple values.",
"enum": [
"gt",
"lt",
"gte",
"lte",
"eq",
"in"
],
"type": "string"
},
"value": {
"oneOf": [
{
"description": "The value to compare against for single-value operators (gt, lt, gte, lte, eq)",
"type": "number"
},
{
"description": "Array of ticker or cik values to compare against when using the 'in' operator",
"items": {
"type": "string"
},
"type": "array"
}
]
}
},
"required": [
"field",
"operator",
"value"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"limit": {
"default": 10,
"description": "The maximum number of results to return.",
"minimum": 1,
"type": "integer"
}
},
"required": [
"filters"
],
"type": "object"
}
}
},
"required": true
},
"x-aisa-status": "enabled",
"x-aisa-pricing": {
"cost_contract": "fixed_success",
"customer_multiplier": 1.0,
"customer_pricing": "provider_cost_multiplier",
"default_request_estimate_usd": 0.02,
"estimate_source": "profile_seed",
"evidence_source": "request_snapshot"
},
"components": {
"securitySchemes": {
"bearerAuth": {
"scheme": "bearer",
"type": "http"
}
}
}
}
Cost and request rules
Published reference price: $0.02 USD per successful request. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.- Default request reference estimate (USD): 0.02
- Cost contract: fixed_success
- Published reference multiplier: 1.0
- Settlement evidence source: request_snapshot
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Response
Successful search response
Show child attributes
Show child attributes