はじめに
veritra.io はEU全域の公共調達案件を監視します。ウェブダッシュボード経由でご利用いただくか、REST API を通じて連携することができます。
ウェブ経由で利用する
大多数のユーザー向け。アカウント登録、フィルター、メールダイジェスト、モバイルアプリ。
移動する ↓API によるインテグレーション
開発者向け。REST API、Webhook、OpenAPI 仕様、AIエージェント向け MCP。
移動する ↓ダッシュボードで始める
インストールやプログラミングは不要です。ブラウザとメールアドレスがあれば十分です。
1. アカウントを作成する
こちらにアクセスしてください:/register メールアドレス、氏名、および任意で法人番号(IČO)を入力してください。IČO を入力すると、会社名・税務番号(DIČ)・住所が ARES レジストリから自動的に取得されます。
この時点ではパスワードを設定しません。メール内の確認リンクをクリックした後の次のステップで設定します。
2. メールアドレスを確認してパスワードを設定する
数秒以内に確認リンク付きのメールが届きます。リンクをクリックすると、パスワード設定ページが開きます(最低8文字)。
パスワードを設定するとログイン状態になり、そのままダッシュボードに進むことができます。
3. 最初の案件フィルターを作成する
ダッシュボードで「案件」→「新しいフィルター」をクリックしてください。フィルターとは、システムが案件を通知する際に使用する保存済み条件セットです:
- 地域 — 都市または複数の地域(プラハ、中ボヘミア州など)
- 分野 — 案件のカテゴリー(建築工事、IT開発など)または CPV コード
- キーワード — 件名または説明に含まれる必要がある語句(例:「橋梁改修」)
- 金額 — 案件の推定価格の最小値/最大値
フィルターの全パラメーターの詳細については、案件モニタードキュメントをご覧ください。
4. メールダイジェストを有効にする
各フィルターに対して、日次メールダイジェストを有効にすることができます。毎日7:00に、その日に追加されたフィルター条件に一致する案件を記載したメールが届きます。
ダイジェストはフィルターの詳細画面から直接有効化できます。上部にある「Email digest」トグルをオンにしてください。複数のフィルターを設定でき、それぞれに個別のダイジェスト設定が可能です。
REST API
データをプログラムで取得したい場合(例:ERP・CRMとの連携)は、REST APIをご利用ください。すべてのエンドポイントは /api/v2 配下にあり、認証はAPIキーで行います。ほとんどのエンドポイントはシングルキー 'data' を持つエンベロープ形式のJSONを返します。例外として、PDF請求書(バイナリ)、マッチエクスポート(CSV/XLSX、format=jsonを指定しない場合)、ドキュメントプレビュー(署名付きURLへの302リダイレクト)があります。
Hello world
キーを取得したら、次のようにAPIを呼び出します:
curl -H "X-Api-Key: mrw_live_…" \ "https://veritra.io/api/v2/leads/tenders/search?qText=rekonstrukce%20mostu&limit=5"
最新の公開案件をJSON形式で返します。検索パラメーターの詳細については案件モニタードキュメントをご参照ください。
キーの取得方法
最初のAPIキーはダッシュボードから作成します。Webサイトでアカウント登録後、メールアドレスを確認し、設定 → 連携から「キーを生成」をクリックしてください。キーは一度だけ表示されます。すぐに保存してください(例:環境変数やシークレットストアへ)。紛失した場合は新しいキーを作成し、古いキーを削除してください。
MCPクライアントでの使用(Claude Desktop、Cursor など)
キーはREST APIと共通です。異なるのはクライアントがキーを送信する方法のみです。MCPサーバーは /api/mcp で稼働し、キーはハンドシェイクの X-Api-Key ヘッダーで送信します。Claude Desktop・Cursor・汎用HTTPクライアントの完全なセットアップ手順はMCPドキュメントをご覧ください。
認証
すべての /api/v2 エンドポイントは、単一のAPIキー(形式:mrw_live_HEX64)で認証します。キーは X-Api-Key ヘッダーまたはBearerトークンとして送信できます:
# header X-Api-Key curl -H "X-Api-Key: mrw_live_…" https://veritra.io/api/v2/account/me # nebo Bearer (kompatibilní s OpenAPI client generators) curl -H "Authorization: Bearer mrw_live_…" https://veritra.io/api/v2/account/me
キーはユーザーの識別情報を保持します。呼び出し可能なサービスは、そのユーザーのサブスクリプション(Subscriptionsセクション参照)によって制御されます。最大5つのアクティブなキーを保持できます。本番/開発/システムごとの分離に便利です。
レスポンスエンベロープ
すべてのv2エンドポイントは統一されたJSONエンベロープを返します。単一リソースは data、ページネーション付きリストは data + pagination、エラーは error の下に格納されます。
成功
// Single resource
{ "data": { "id": "…", "field": "…" } }
// Paginated list
{
"data": [{ "…": "…" }],
"pagination": { "nextCursor": "abc123…", "totalCount": 42 }
}エラー
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Field 'url' must be a valid HTTPS URL.",
"details": { "field": "url" }
}
}固定エラーコード一覧:UNAUTHORIZED, FORBIDDEN, NOT_FOUND, VALIDATION_ERROR, CONFLICT, RATE_LIMITED, ENTITLEMENT_REQUIRED, INTERNALクライアントは message ではなく code で分岐処理を行ってください。HTTPステータスはコードに自動的にマッピングされます。
レート制限
| パラメータ | 種別 | 説明 |
|---|---|---|
| アカウント API — 読み取り | 60回/分、5,000回/日 | GET /api/v2/account/* |
| アカウント API — 書き込み | 10回/分、200回/日 | POST、PUT、PATCH、DELETE |
| サービス API | 100回/時間/キー | 月次クォータはサービスごとに異なります — サービスのドキュメントをご参照ください |
制限を超えた場合、API は HTTP 429 およびヘッダー Retry-After(秒)を返します。
トライアルと請求
アカウント作成後、1日間の無料トライアル期間 が Hlídač zakázek でご利用いただけます — カード不要、請求プロファイル不要。その後は、カードの登録または前払い請求書のお支払いが必要です。未対応の場合、サービスは SUSPENDED に移行し、以降の呼び出しは 403 を返します。階層型パッケージはありません — 利用したサービス分のみお支払いいただき、いつでもキャンセル可能です。
アカウント API
アカウント、キー、請求、Webhook の管理。すべての /api/v2/account/* エンドポイントはキーによる認証が必要です。
/api/v2/account/me/profile + /subscriptions + apiKey 情報のまとめ。UI クライアントの初期読み込みに適しています。
{
"data": {
"account": { "email": "…", "name": "…", "company": "…", "ico": "…", "country": "CZ", "locale": "cs", "isComplete": true },
"subscriptions": [
{ "service": "LEADS", "scope": "CZ", "state": "ACTIVE", "tier": "PAID", "trialEndsAt": null, "paidUntil": "2026-06-30T22:00:00.000Z", "cancelAtPeriodEnd": false }
],
"apiKey": { "keyPrefix": "mrw_live_7fa7785c", "lastUsedAt": "…", "requestsMonth": 120, "requestsLimit": 500 }
}
}/api/v2/account/profile/api/v2/account/profileパスワードとセッション
/api/v2/account/password/api/v2/account/password/api/v2/account/sessions/revokeAPI キー
キーは API 全体に対して認証を行います。最大5つのアクティブなキーを保持できます。生のキーは作成時またはローテーション時にのみ返されます — その後は新しいキーを作成することでのみ再取得できます。
/api/v2/account/keys/api/v2/account/keys{ "label": "Production ERP" }{
"data": {
"id": "cm…",
"key": "mrw_live_<hex64>",
"keyPrefix": "mrw_live_7fa7785c",
"label": "Production ERP",
"createdAt": "…"
}
}レスポンス内のキーが完全な形式で返されるのはここだけです。 サーバーは SHA-256 ハッシュのみを保存します。生のキーは後から取得できません。紛失した場合は新しいキーを作成し、古いキーを削除してください。
/api/v2/account/keys/:id/api/v2/account/keys/:id/api/v2/account/keys/:id/api/v2/account/keys/:id/rotateサービスのサブスクリプション
トライアルの有効化、ステータスの概要、paidUntil/trialEndsAtの日付に基づく解約予約。有料での有効化(カード払い)には /billing/checkout をご利用ください。
/api/v2/account/subscriptions/api/v2/account/subscriptions{ "service": "LEADS", "scope": "CZ", "mode": "trial" }/api/v2/account/subscriptions/batch{ "service": "LEADS", "scopes": ["CZ","SK","DE"], "mode": "trial" }/api/v2/account/subscriptions/:service{ "cancelAtPeriodEnd": true }API使用状況
過去N日間(デフォルト30日)のAPIキーの日次呼び出し集計。レートリミット消費のモニタリング用。
/api/v2/account/usage?days=30請求
/api/v2/account/billing/api/v2/account/billing/api/v2/account/billing/checkout/api/v2/account/billing/customer-portal/api/v2/account/billing/proforma{ "cycle": "MONTHLY", "currency": "CZK", "scopes": ["CZ","SK"] }/api/v2/account/billing/invoices/api/v2/account/billing/invoices/:invoiceIdデータエクスポート(GDPR)
/api/v2/account/export/api/v2/account/exportアカウントの削除
/api/v2/account/cancel/request{ "action": "DEACTIVATE" }/api/v2/account/cancel/confirmWebhook
アカウントレベルのWebhook — 1つのエンドポイントで全フィルターおよび将来のサービスをカバーします。各イベントはHMAC-SHA256署名を X-Signature-256 に、冪等性キーを X-Idempotency-Key に、イベントタイプを X-Event-Type に含みます。指数バックオフによる最大約33時間のリトライ。
アカウントあたり最大5エンドポイント。 サポートされているイベントとペイロードスキーマは、各サービスのドキュメントをご参照ください。
/api/v2/account/webhooks/api/v2/account/webhooks{
"url": "https://yourapp.cz/api/veritra-webhook",
"enabledEvents": ["leads.match.created"],
"description": "production"
}/api/v2/account/webhooks/:id/api/v2/account/webhooks/:id/api/v2/account/webhooks/:id/api/v2/account/webhooks/:id/rotate-secret通知
/api/v2/account/notifications/api/v2/account/notificationsフィードバック
/api/v2/feedbackOpenAPI 3.1 仕様
完全な機械可読のAPI仕様は以下でご確認いただけます:/openapi.json。任意の言語(TypeScript、Python、Go、Rust など)での型付きクライアントの自動生成、またはPostman / Insomnia / Swagger UIへのインポートにご利用ください。
# Generate TypeScript client npx openapi-typescript https://veritra.io/openapi.json -o ./veritra-types.ts # Generate Python client (openapi-python-client) openapi-python-client generate --url https://veritra.io/openapi.json
エラーコード
| コード | 意味 |
|---|---|
| 400 | フィールドの欠落、無効なJSON、無効なフォーマット |
| 401 | X-Api-Key / Bearerの欠落、有効期限切れ / 無効なトークン |
| 402 | 該当サービスの有効なサブスクリプションがありません |
| 403 | トークンがこのアカウントに属していない、またはサービスがホワイトリストなしのベータ版です |
| 404 | キー / トークン / エンドポイントが見つかりません |
| 409 | メールアドレスは既に登録済み / キーが既に存在する / エンドポイント数上限(5件)/ フィルター数上限(20件) |
| 410 | トークンまたはコードが有効期限切れ、もしくは既に使用済みです |
| 412 | メールアドレスが未確認 — ステップ2がまだ完了していません |
| 429 | レート制限(ヘッダーにRetry-Afterを含む) |
| 500 | サーバーエラー |
利用可能なAPIサービス
Account API(上記)はすべてのサービスに共通です — オンボーディング、APIキー、請求、Webhook。具体的なデータはドメインAPIをご参照ください:
ご質問は? michal@veritra.io