SetSwap API Reference

Base URL: https://setswap.polsia.app  ·  All payloads: application/json

POST/v1/datasets/search

Query the dataset catalog. Returns ranked results by quality score. No charge for searching.

Request Body (all fields optional)

FieldTypeDescription
domainstringfinance | nlp | computer_vision
formatstringcsv | jsonl | parquet | images
min_qualityfloatMinimum quality score 0.0–1.0
querystringFree-text search against name, description, tags
limitintMax results (default 20, max 100)
offsetintPagination offset

Example

curl -X POST https://setswap.polsia.app/v1/datasets/search \
  -H "Content-Type: application/json" \
  -d '{"domain":"finance","min_quality":0.9,"query":"sentiment"}'

// 200 OK
{
  "datasets": [{
    "id": 1, "slug": "fin-sentiment-sp500-q1-2026",
    "quality_score": 0.94, "price_usd": "12.40",
    "domain": "finance", "format": "jsonl", "row_count": 50000
  }],
  "total": 1, "limit": 20, "offset": 0
}
GET/v1/datasets/:id/preview

Inspect schema, sample rows, and bias metrics before purchasing. Free.

Path Params

FieldTypeDescription
idintegerDataset ID from search

Example

curl https://setswap.polsia.app/v1/datasets/1/preview

// 200 OK
{
  "id": 1, "quality_score": 0.94, "price_usd": "12.40",
  "schema": [{"name":"sentiment","type":"enum","description":"bull|bear|neutral"}],
  "sample_rows": [{"company_ticker":"AAPL","sentiment":"bull","confidence":0.97}],
  "bias_metrics": {"sector_distribution":"balanced","annotation_agreement":0.91},
  "purchase_count": 47
}
POST/v1/purchase

Purchase a one-time micro-license. Returns a license_token and download_url valid for 24 hours.

Request Body

FieldTypeDescription
dataset_idintegerID of dataset to purchase
buyer_emailoptional*stringBuyer email address
buyer_agent_idoptional*stringMachine buyer identifier
stripe_session_idoptionalstringStripe checkout session for payment verification

* One of buyer_email or buyer_agent_id required.

Example

curl -X POST https://setswap.polsia.app/v1/purchase \
  -H "Content-Type: application/json" \
  -d '{"dataset_id":1,"buyer_agent_id":"agent_abc123","stripe_session_id":"cs_live_..."}'

// 201 Created
{
  "license_token": "ss_4f2a8b...",
  "download_url": "https://datasets.setswap.io/fin-sentiment-sp500-q1-2026.jsonl.gz",
  "expires_at": "2026-05-11T02:06:00Z",
  "amount_paid_usd": "12.40",
  "dataset": {"id":1,"slug":"fin-sentiment-sp500-q1-2026","domain":"finance"}
}