Foresea Predict API
The Predict API from Foresea — 1 operation(s) for predict.
The Predict API from Foresea — 1 operation(s) for predict.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/foresea-ink:foresea-ink-predict-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Foresea Intelligence Predict API
description: '## Overview
The **Foresea Intelligence API** turns market questions, linked evidence, and
prediction-market prices into probabilistic forecasts that can sit behind
trading dashboards, alerting systems, and research workflows. It supports binary, multiple-choice, numeric, and date forecasts. Each response
includes a structured **rationale**, typed forecast fields, optional evidence
sources fetched from live news, and optional market-edge analysis when you pass
a market-implied probability. ---
## Quick start
```bash
curl -X POST https://foresea.ink/predict \
-H "Content-Type: application/json" \
-d ''{
"question": "Will the Fed cut rates before September 30, 2026?",
"question_type": "binary",
"market_platform": "Polymarket",
"market_probability": 0.54,
"variant": "variant0_neutral_baseline"
}''
```
---
## Question types
Use `question_type` when your client already knows the shape of the question. If omitted, the model will try to infer it. | Type | Response shape |
|---|---|
| `binary` | `predicted_answer` is `Yes`/`No`; `confidence` is 0–1 |
| `multiple_choice` | `options` contains per-option probabilities; `predicted_answer` is the top option |
| `numeric` | `range_forecast` contains `p10`, `p50`, `p90`, and optional `unit` |
| `date` | `range_forecast` contains date percentiles |
For multiple-choice forecasts, pass `options` when the answer set is known. ---
## Prediction-market context
Pass `market_probability` when you know the current market-implied probability
for the target outcome. For binary markets this defaults to the `Yes` side; set
`market_outcome` to compare against `No` or a named multiple-choice outcome. Foresea returns `market_analysis` with model probability, market probability,
percentage-point edge, and a stance (`model_above_market`, `model_below_market`,
`in_line`, or `not_comparable`). ---
## Trading execution
Foresea can preview and submit guarded orders for Kalshi and Polymarket:
| Endpoint | Purpose |
|---|---|
| `GET /trading/accounts` | Return configured/not-configured server-account status without exposing secrets |
| `POST /trading/accounts/check` | Validate caller-supplied own-account (BYO) credentials without storing them |
| `POST /trading/preview` | Normalize and validate an order without placing it |
| `POST /trading/orders` | Submit a live order after explicit confirmation |
Live trading is disabled unless `FORESEA_ENABLE_TRADING=true`. Every live order
requires a signed-in user session, `execute=true`, and the exact confirmation
phrase `PLACE REAL ORDER`. Market/IOC/FOK-style orders are separately blocked
unless `FORESEA_ALLOW_MARKET_ORDERS=true`. Exchange credentials come from a shared server account (environment variables /
Secret Manager mounts) or an authenticated user''s **encrypted account
connection**. The connection endpoint accepts a user''s credentials once, validates
them with a unique data-encryption key wrapped by Cloud KMS, and never returns
them to the browser. Inline `venue_credentials` are rejected on public preview
and order calls; encrypted own-account trading remains gated by
`FORESEA_ENABLE_BYO_TRADING=true` (independent of `FORESEA_ENABLE_TRADING`). `/agent/analyze` may return a directional recommendation, but it never places an
order. Use `/trading/preview` first, review the normalized order, then call
`/trading/orders` only when you intend to submit a real order. ---
## Prompt variants
The `variant` field controls how the LLM is prompted.'
contact:
name: Pareel Amre
url: https://foresea.ink/
email: pareel.amre@gmail.com
license:
name: MIT
url: https://opensource.org/licenses/MIT
version: 1.0.0
tags:
- name: Predict
paths:
/v1/batch/forecast:
post:
tags:
- Predict
summary: Batch forecast multiple prediction market questions concurrently
description: Execute concurrent calibrated forecasts across a list of market questions.
operationId: batch_forecast_route_v1_batch_forecast_post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BatchForecastRequest'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
additionalProperties: true
type: object
title: Response Batch Forecast Route V1 Batch Forecast Post
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
BatchForecastItem:
properties:
id:
anyOf:
- type: string
- type: 'null'
title: Id
question:
type: string
maxLength: 800
minLength: 1
title: Question
market_platform:
anyOf:
- type: string
- type: 'null'
title: Market Platform
market_probability:
anyOf:
- type: number
- type: 'null'
title: Market Probability
market_url:
anyOf:
- type: string
- type: 'null'
title: Market Url
type: object
required:
- question
title: BatchForecastItem
BatchForecastRequest:
properties:
questions:
items:
$ref: '#/components/schemas/BatchForecastItem'
type: array
maxItems: 20
minItems: 1
title: Questions
model:
anyOf:
- type: string
- type: 'null'
title: Model
type: object
required:
- questions
title: BatchForecastRequest
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError