
Official German company data from the Handelsregister: search, company profiles, financials, balance sheets, management, shareholders, UBOs, M&A, insolvencies, news, register documents and register-change signals. Pay per call, no account needed.
https://router.fluxapay.xyz/api/handelsregister-ai/{CREATOR_UID}Company profile: register data, status, legal form, address, registered capital.
Full annual financial statements as Markdown. Includes the base company profile.
Full annual financial statements as HTML (can be large). Includes the base company profile.
Hierarchical balance sheets, one per year. Includes the base company profile.
Yearly financial KPIs (revenue, net income, employees, total assets, expenses), newest first. Includes the base company profile.
Insolvency court publications. Includes the base company profile.
M&A transactions, control relationships and summary. Includes the base company profile.
Recent news articles with source and URL. Includes the base company profile.
Current and past directors, officers and procura holders with roles and tenures. Includes the base company profile.
Hierarchical profit and loss statements, one per year. Includes the base company profile.
Register publication history of the company. Includes the base company profile.
Shareholder list with contributions and ownership ratios. Includes the base company profile.
The company's holdings in other companies. Includes the base company profile.
Ultimate beneficial owners with ownership paths. Includes the base company profile.
Official register document. document_type: AD (current excerpt PDF), CD (chronological excerpt PDF), shareholders_list (PDF), articles_of_association (PDF), SI (structured XML). Upstream limit 5/min shared by all AgentMarket callers.
Search German companies by name and/or filters (legal form, location, WZ industry code, employees, financial ranges). Returns entity_id per hit. Max 30 per page.
Commercial-register changes across all companies (also GET /signals/{signalId} for one signal). Cursor pagination, 20 per page max; keep paging while pagination.has_more.
Free list of Signals topics and their plan tier. Takes no parameters.
Copy this prompt and paste it into your AI agent (like Claude, GPT-4, etc.) to enable automatic X-402 payment handling.
** Your task ** Call the API at: https://router.fluxapay.xyz/api/handelsregister-ai/{CREATOR_UID}
Follow the steps below in order.
** Step 1 - Install FluxA Wallet CLI **
npm install -g @fluxa-pay/fluxa-wallet
Or use without installing: npx fluxa-wallet <command>
** Step 2 - Register agent **
fluxa-wallet init --name "<YOUR_AGENT_NAME>" --client "<YOUR_CLIENT>"
The response may include an authorization URL. Present the user with options: [Yes, open the link] [No, don't open]. If YES: run 'open "<URL>"' to open in their browser.
Verify: fluxa-wallet status
** Step 3 - Discover endpoints **
curl https://router.fluxapay.xyz/api/handelsregister-ai/{CREATOR_UID}
Returns JSON with: name, description, endpoints (paths, methods, descriptions, prices), paymentRequired, and networks.
** Step 4 - Choose payment method **
Ask the user: [On-chain USDC (Base)] or [FluxA Monetize Credits]
If USDC:
- --currency USDC
- --amount in atomic units (6 decimals, e.g., 100000 = 0.10 USDC)
If Credits (1 credit = 1 USDC):
- --currency FLUXA_MONETIZE_CREDITS
- --amount in 2-decimal units (e.g., 10 = 0.10 credits, 100 = 1.00 credits)
** Step 5 - Create an intent mandate **
x402 v3 uses intent mandates: the user pre-approves a spending plan (budget + time window), then the agent makes autonomous payments within those limits.
fluxa-wallet mandate-create \
--desc "Spend up to <BUDGET> for <DESCRIPTION> valid for <DURATION>" \
--amount <BUDGET_IN_UNITS> \
--seconds <DURATION_IN_SECONDS> \
--currency <USDC or FLUXA_MONETIZE_CREDITS>
Options:
- --desc (required): Human-readable spending plan description
- --amount (required): Budget in units for the chosen currency (see Step 4)
- --seconds (optional, default 28800 = 8h): Duration in seconds
- --currency (optional, default USDC): USDC or FLUXA_MONETIZE_CREDITS
** Step 6 - Get user to sign the mandate **
The response from Step 5 includes mandateId and authorizationUrl (TTL: 10 minutes).
Present the user with options: [Yes, open the link] [No, don't open]. If YES: run 'open "<authorizationUrl>"' to open in their browser.
** Step 7 - Wait for mandate to be signed **
fluxa-wallet mandate-status --id <MANDATE_ID>
Poll until mandate.status is "signed". The response also includes remainingAmount.
Important: Use --id, not --mandate.
** Step 8 - Call the API **
curl https://router.fluxapay.xyz/api/handelsregister-ai/{CREATOR_UID}
Optionally add the X-Agent-ID header for agent attribution (its value is the agent_id from 'fluxa-wallet status'): curl -H "X-Agent-ID: <YOUR_AGENT_ID>" https://router.fluxapay.xyz/api/handelsregister-ai/{CREATOR_UID}
If it returns HTTP 402, continue to Step 9.
** Step 9 - Pay via x402 v3 **
Pass the complete HTTP 402 response body as --payload:
fluxa-wallet x402-v3 \
--mandate <MANDATE_ID> \
--payload '$PAYLOAD_402'
The payload must contain an accepts array. Do NOT extract individual fields - pass the entire 402 response JSON.
The response includes xPaymentB64 (the payment token).
** Step 10 - Retry with payment token **
Retry the same request with the X-Payment header (optionally add X-Agent-ID for attribution):
curl -H "X-Payment: <xPaymentB64>" <ORIGINAL_API_URL>
Return the raw API response to the user without post-processing.
** Opening links for user **
Whenever you need to open a URL (authorization, approval, or any external link):
1. Present the user with a choice using your interactive options/menu capability (e.g., AskUserQuestion tool)
2. Options: [Yes, open the link] [No, don't open]
3. If YES: run 'open "<URL>"' to open in their default browser
4. If NO: ask how they would like to proceed
** Error handling **
- mandate_not_signed: User hasn't signed yet - ask them to open authorizationUrl
- mandate_expired: Time window passed - create a new mandate
- mandate_budget_exceeded: Budget too low - create a new mandate with a higher limit
- agent_not_registered: No Agent ID - run 'fluxa-wallet init' first
- Invalid payload: missing accepts array: Pass the full 402 response JSON