Skip to main content

API Documentation

Build powerful integrations with the EuropaTech REST API. Access real estate objects, portfolios, conditional resale-flow data, and market data.

Base URL

text
https://api.europa-tech.org

Authentication

All API requests require an API key passed in the X-API-Key header. Create keys in your developer dashboard.

bash
curl -H "X-API-Key: ek_live_your_key_here" \
  https://api.europa-tech.org/api/v1/objects

Note: Keys starting with ek_live_ are for production. Keep your keys secret — never expose them in client-side code.

Rate Limits

60

requests per key / min

300

requests per user / min

5

max keys per user

Rate limit info is returned in response headers:

http
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
Retry-After: 30

Pagination

List endpoints use cursor-based pagination. Pass the nextCursor value to fetch the next page.

json
{
  "success": true,
  "data": [...],
  "pagination": {
    "nextCursor": "clx8f9g2k0001...",
    "hasMore": true
  }
}

Use ?cursor=<nextCursor>&limit=20 to paginate through results.

Endpoints

GET/api/auth/export-dataread:auth

Export all your account data (GDPR)

POST/api/auth/forgot-passwordwrite:auth

Request a password reset email

POST/api/auth/loginwrite:auth

Sign in with email and password

POST/api/auth/logoutwrite:auth

Sign out and revoke the current session

GET/api/auth/meread:auth

Get the current user profile

GET/api/auth/notification-preferencesread:auth

Get notification preferences

PUT/api/auth/notification-preferenceswrite:auth

Update notification preferences

PUT/api/auth/passwordwrite:auth

Change password

PUT/api/auth/profilewrite:auth

Update profile details

POST/api/auth/refreshwrite:auth

Refresh the access token

POST/api/auth/registerwrite:auth

Create a new account

POST/api/auth/resend-verificationwrite:auth

Resend the verification email

POST/api/auth/reset-passwordwrite:auth

Set a new password with a reset token

DELETE/api/auth/sessionswrite:auth

Sign out of all other sessions

GET/api/auth/sessionsread:auth

List active sessions

POST/api/auth/verify-emailwrite:auth

Confirm an email address

POST/api/exchangewrite:exchange

Exchange currencies on your balance

GET/api/income/accrualsread:income

List income accruals

POST/api/income/confirm-otpwrite:income

Confirm a withdrawal with a one-time code

GET/api/income/payoutsread:income

List payout requests

POST/api/income/payoutswrite:income

Request a bank payout

POST/api/income/payouts/cryptowrite:income

Request a crypto payout

GET/api/income/payouts/scheduleread:income

Get the payout schedule

GET/api/income/reports/{objectId}read:income

Get the income report for a property

POST/api/income/request-otpwrite:income

Request a one-time code for a withdrawal

POST/api/kyc/sessionwrite:kyc

Start an identity verification session

GET/api/kyc/statusread:kyc

Get identity verification status

GET/api/p2p/escrowsread:p2p-marketplace

List your P2P escrows

GET/api/p2p/escrows/{id}read:p2p-marketplace

Get P2P escrow details

GET/api/p2p/limitsread:p2p-marketplace

Get your P2P trading limits

GET/api/p2p/my-ordersread:p2p-marketplace

List your P2P orders

GET/api/p2p/orderbook/{objectId}read:p2p-marketplace

Get the order book for a property

GET/api/p2p/ordersread:p2p-marketplace

List active P2P orders

POST/api/p2p/orderswrite:p2p-marketplace

Create a P2P order

POST/api/p2p/orders/{id}/cancelwrite:p2p-marketplace

Cancel a P2P order

POST/api/p2p/orders/{id}/executewrite:p2p-marketplace

Execute a P2P order

GET/api/p2p/tradesread:p2p-marketplace

List P2P trades

GET/api/paymentsread:payments

List payments

GET/api/payments/{id}read:payments

Get payment details

POST/api/payments/{id}/cancel-cooling-offwrite:payments

Cancel a payment within the cooling-off period

POST/api/payments/buy-from-balancewrite:payments

Buy shares with your balance

POST/api/payments/nowpayments/invoicewrite:payments

Create a payment invoice

POST/api/payments/stripe/checkoutwrite:payments

Create a card payment checkout

GET/api/portfolioread:portfolio

Get your portfolio

POST/api/portfolio/buywrite:portfolio

Buy property shares

POST/api/portfolio/buyback-quotewrite:portfolio

Get a buyback quote

GET/api/portfolio/certificate/{objectId}read:portfolio

Download the ownership certificate for a property

POST/api/portfolio/sell-to-platformwrite:portfolio

Sell shares back to the platform

GET/api/portfolio/transactionsread:portfolio

List portfolio transactions

GET/api/portfolio/transactions/exportread:portfolio

Export portfolio transactions

GET/api/v1/compliance/statusread:public-api-v1-—-institutional

Get compliance status

GET/api/v1/fundread:public-api-v1-—-institutional

Get fund overview

POST/api/v1/investwrite:public-api-v1-—-institutional

Invest in one or more properties

GET/api/v1/market/ratesread:public-api-v1-—-market

Get current market rates

GET/api/v1/objectsread:public-api-v1-—-objects

List active properties

GET/api/v1/objects/{id}read:public-api-v1-—-objects

Get property details by ID

GET/api/v1/p2pread:public-api-v1-—-p2p

List active P2P orders

POST/api/v1/p2pwrite:public-api-v1-—-p2p

Create a P2P order

DELETE/api/v1/p2p/{id}write:public-api-v1-—-p2p

Cancel a P2P order

GET/api/v1/portfolioread:public-api-v1-—-portfolio

Get your portfolio

GET/api/v1/portfolio/transactionsread:public-api-v1-—-portfolio

List your transactions

GET/api/v2/partner/commissionsread:partner-api-v2

List partner commissions

GET/api/v2/partner/conversionsread:partner-api-v2

List referral conversions

GET/api/v2/partner/objectsread:partner-api-v2

List properties available to partners

POST/api/v2/partner/payoutswrite:partner-api-v2

Request a partner payout

GET/api/v2/partner/statsread:partner-api-v2

Get partner statistics

Quick Start

Get up and running in minutes. Here are examples in popular languages:

cURL

bash
curl -s -H "X-API-Key: ek_live_your_key_here" \
  https://api.europa-tech.org/api/v1/objects | jq .

JavaScript / TypeScript

typescript
const res = await fetch('https://api.europa-tech.org/api/v1/objects?limit=10', {
  headers: { 'X-API-Key': 'ek_live_your_key_here' },
})
const objects = await res.json()

for (const obj of objects.data) {
  console.log(obj.name, obj.sharePrice)
}

Python

python
import requests

res = requests.get(
    "https://api.europa-tech.org/api/v1/objects",
    headers={"X-API-Key": "ek_live_your_key_here"},
    params={"limit": 10},
)

for obj in res.json()["data"]:
    print(obj["name"], obj["sharePrice"])

Error Codes

The API uses standard HTTP status codes. Error responses include a message and request ID.

400

Bad Request — invalid parameters or missing required fields.

401

Unauthorized — missing or invalid API key.

403

Forbidden — insufficient permissions or scope.

404

Not Found — the requested resource does not exist.

429

Too Many Requests — rate limit exceeded. Check Retry-After header.

500

Internal Server Error — unexpected server failure.

json
{
  "success": false,
  "message": "Invalid API key",
  "requestId": "req_abc123..."
}

Webhooks

Receive notifications for enabled account and documentation events. Webhook payloads are signed with HMAC-SHA256.

typescript
import { verifyWebhook } from '@europatech/sdk/webhooks'

const isValid = verifyWebhook(payload, signature, secret)
// HMAC-SHA256 signature verification

SDKs

JavaScript / TypeScript

npm install @europatech/sdk

Node.js 18+, ESM & CJS, zero runtime dependencies, auto-pagination, typed errors.

Python

pip install europatech

Python 3.9+, httpx-based, sync & async, auto-pagination, typed errors.

Ready to Build?

Create your API key and start integrating EuropaTech data into your applications.

Get API Key