API Documentation
Build powerful integrations with the EuropaTech REST API. Access real estate objects, portfolios, P2P trading, and market data.
Base URL
https://api.europa-tech.orgAuthentication
All API requests require an API key passed in the X-API-Key header. Create keys in your developer dashboard.
curl -H "X-API-Key: ek_live_your_key_here" \
https://api.europa-tech.org/api/v1/objectsNote: 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:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
Retry-After: 30Pagination
List endpoints use cursor-based pagination. Pass the nextCursor value to fetch the next page.
{
"success": true,
"data": [...],
"pagination": {
"nextCursor": "clx8f9g2k0001...",
"hasMore": true
}
}Use ?cursor=<nextCursor>&limit=20 to paginate through results.
Endpoints
/api/auth/export-dataread:authapiDocs.endpoints.get__api_auth_export_data
/api/auth/forgot-passwordwrite:authapiDocs.endpoints.post__api_auth_forgot_password
/api/auth/loginwrite:authapiDocs.endpoints.post__api_auth_login
/api/auth/logoutwrite:authapiDocs.endpoints.post__api_auth_logout
/api/auth/meread:authapiDocs.endpoints.get__api_auth_me
/api/auth/notification-preferencesread:authapiDocs.endpoints.get__api_auth_notification_preferences
/api/auth/notification-preferenceswrite:authapiDocs.endpoints.put__api_auth_notification_preferences
/api/auth/passwordwrite:authapiDocs.endpoints.put__api_auth_password
/api/auth/profilewrite:authapiDocs.endpoints.put__api_auth_profile
/api/auth/refreshwrite:authapiDocs.endpoints.post__api_auth_refresh
/api/auth/registerwrite:authapiDocs.endpoints.post__api_auth_register
/api/auth/resend-verificationwrite:authapiDocs.endpoints.post__api_auth_resend_verification
/api/auth/reset-passwordwrite:authapiDocs.endpoints.post__api_auth_reset_password
/api/auth/sessionswrite:authapiDocs.endpoints.delete__api_auth_sessions
/api/auth/sessionsread:authapiDocs.endpoints.get__api_auth_sessions
/api/auth/verify-emailwrite:authapiDocs.endpoints.post__api_auth_verify_email
/api/exchangewrite:exchangeapiDocs.endpoints.post__api_exchange
/api/income/accrualsread:incomeapiDocs.endpoints.get__api_income_accruals
/api/income/confirm-otpwrite:incomeapiDocs.endpoints.post__api_income_confirm_otp
/api/income/payoutsread:incomeapiDocs.endpoints.get__api_income_payouts
/api/income/payoutswrite:incomeapiDocs.endpoints.post__api_income_payouts
/api/income/payouts/cryptowrite:incomeapiDocs.endpoints.post__api_income_payouts_crypto
/api/income/payouts/scheduleread:incomeapiDocs.endpoints.get__api_income_payouts_schedule
/api/income/reports/{objectId}read:incomeapiDocs.endpoints.get__api_income_reports__objectId_
/api/income/request-otpwrite:incomeapiDocs.endpoints.post__api_income_request_otp
/api/kyc/sessionwrite:kycapiDocs.endpoints.post__api_kyc_session
/api/kyc/statusread:kycapiDocs.endpoints.get__api_kyc_status
/api/p2p/escrowsread:p2p-marketplaceapiDocs.endpoints.get__api_p2p_escrows
/api/p2p/escrows/{id}read:p2p-marketplaceapiDocs.endpoints.get__api_p2p_escrows__id_
/api/p2p/limitsread:p2p-marketplaceapiDocs.endpoints.get__api_p2p_limits
/api/p2p/my-ordersread:p2p-marketplaceapiDocs.endpoints.get__api_p2p_my_orders
/api/p2p/orderbook/{roomId}read:p2p-marketplaceapiDocs.endpoints.get__api_p2p_orderbook__roomId_
/api/p2p/ordersread:p2p-marketplaceapiDocs.endpoints.get__api_p2p_orders
/api/p2p/orderswrite:p2p-marketplaceapiDocs.endpoints.post__api_p2p_orders
/api/p2p/orders/{id}/cancelwrite:p2p-marketplaceapiDocs.endpoints.post__api_p2p_orders__id__cancel
/api/p2p/orders/{id}/executewrite:p2p-marketplaceapiDocs.endpoints.post__api_p2p_orders__id__execute
/api/p2p/tradesread:p2p-marketplaceapiDocs.endpoints.get__api_p2p_trades
/api/paymentsread:paymentsapiDocs.endpoints.get__api_payments
/api/payments/{id}read:paymentsapiDocs.endpoints.get__api_payments__id_
/api/payments/{id}/cancel-cooling-offwrite:paymentsapiDocs.endpoints.post__api_payments__id__cancel_cooling_off
/api/payments/buy-from-balancewrite:paymentsapiDocs.endpoints.post__api_payments_buy_from_balance
/api/payments/nowpayments/invoicewrite:paymentsapiDocs.endpoints.post__api_payments_nowpayments_invoice
/api/payments/stripe/checkoutwrite:paymentsapiDocs.endpoints.post__api_payments_stripe_checkout
/api/portfolioread:portfolioapiDocs.endpoints.get__api_portfolio
/api/portfolio/buywrite:portfolioapiDocs.endpoints.post__api_portfolio_buy
/api/portfolio/buyback-quotewrite:portfolioapiDocs.endpoints.post__api_portfolio_buyback_quote
/api/portfolio/certificate/{roomId}read:portfolioapiDocs.endpoints.get__api_portfolio_certificate__roomId_
/api/portfolio/sell-to-platformwrite:portfolioapiDocs.endpoints.post__api_portfolio_sell_to_platform
/api/portfolio/transactionsread:portfolioapiDocs.endpoints.get__api_portfolio_transactions
/api/portfolio/transactions/exportread:portfolioapiDocs.endpoints.get__api_portfolio_transactions_export
/api/v1/compliance/statusread:public-api-v1-—-institutionalapiDocs.endpoints.get__api_v1_compliance_status
/api/v1/fundread:public-api-v1-—-institutionalapiDocs.endpoints.get__api_v1_fund
/api/v1/investwrite:public-api-v1-—-institutionalapiDocs.endpoints.post__api_v1_invest
/api/v1/market/ratesread:public-api-v1-—-marketapiDocs.endpoints.get__api_v1_market_rates
/api/v1/objectsread:public-api-v1-—-objectsapiDocs.endpoints.get__api_v1_objects
/api/v1/objects/{id}read:public-api-v1-—-objectsapiDocs.endpoints.get__api_v1_objects__id_
/api/v1/p2pread:public-api-v1-—-p2papiDocs.endpoints.get__api_v1_p2p
/api/v1/p2pwrite:public-api-v1-—-p2papiDocs.endpoints.post__api_v1_p2p
/api/v1/p2p/{id}write:public-api-v1-—-p2papiDocs.endpoints.delete__api_v1_p2p__id_
/api/v1/portfolioread:public-api-v1-—-portfolioapiDocs.endpoints.get__api_v1_portfolio
/api/v1/portfolio/transactionsread:public-api-v1-—-portfolioapiDocs.endpoints.get__api_v1_portfolio_transactions
/api/v2/partner/commissionsread:partner-api-v2apiDocs.endpoints.get__api_v2_partner_commissions
/api/v2/partner/conversionsread:partner-api-v2apiDocs.endpoints.get__api_v2_partner_conversions
/api/v2/partner/objectsread:partner-api-v2apiDocs.endpoints.get__api_v2_partner_objects
/api/v2/partner/payoutswrite:partner-api-v2apiDocs.endpoints.post__api_v2_partner_payouts
/api/v2/partner/statsread:partner-api-v2apiDocs.endpoints.get__api_v2_partner_stats
Quick Start
Get up and running in minutes. Here are examples in popular languages:
cURL
curl -s -H "X-API-Key: ek_live_your_key_here" \
https://api.europa-tech.org/api/v1/objects | jq .JavaScript / 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
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.
400Bad Request — invalid parameters or missing required fields.
401Unauthorized — missing or invalid API key.
403Forbidden — insufficient permissions or scope.
404Not Found — the requested resource does not exist.
429Too Many Requests — rate limit exceeded. Check Retry-After header.
500Internal Server Error — unexpected server failure.
{
"success": false,
"message": "Invalid API key",
"requestId": "req_abc123..."
}Webhooks
Receive real-time notifications for events like new investments, P2P trades, and payouts. Webhook payloads are signed with HMAC-SHA256.
import { verifyWebhook } from '@europatech/sdk/webhooks'
const isValid = verifyWebhook(payload, signature, secret)
// HMAC-SHA256 signature verificationSDKs
JavaScript / TypeScript
npm install @europatech/sdkNode.js 18+, ESM & CJS, zero runtime dependencies, auto-pagination, typed errors.
Python
pip install europatechPython 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