⚡ リアルタイムフォーム送信とインスタント通知
LeadDuo APIを使用すると、フォームデータをプログラムで送信し、送信データを取得し、WebhookまたはREST API経由でCRMと統合できます。各送信は、設定されている場合、オプションのメールおよびSMS通知をトリガーします。
LeadDuoは、EngageAIおよびAgileAIと並ぶThree Core AI LLCの開発者スイートの一部です。
The LeadDuo API uses API keys for authentication. You can generate an API key from your form settings page.
Note: Keep your API key secure. Do not expose it in client-side code or public repositories.
https://api.leadduo.io/api/v1/form/{formId}{
"ld_key": "your_form_key_here",
"email": "user@example.com",
"name": "John Doe",
"message": "I'm interested in your services"
}{
"ok": true
}Choose your preferred language to see how to submit form data
const formData = {
ld_key: 'your_form_key_here',
email: 'user@example.com',
name: 'John Doe',
message: "I'm interested in your services"
};
fetch('https://api.leadduo.io/api/v1/form/YOUR_FORM_ID', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(formData)
})
.then(response => response.json())
.then(data => {
if (data.ok) {
console.log('Form submitted successfully!');
}
})
.catch(error => console.error('Error:', error));You can submit forms directly using standard HTML forms without any JavaScript. This is perfect for static sites, Webflow, Notion, or any platform where you can edit HTML.
https://api.leadduo.io/api/v1/form/{formId}<form action="https://api.leadduo.io/api/v1/form/YOUR_FORM_ID" method="POST"> <input type="hidden" name="ld_key" value="YOUR_FORM_KEY"> <label for="name">Name:</label> <input type="text" name="name" id="name" required> <label for="email">Email:</label> <input type="email" name="email" id="email" required> <label for="message">Message:</label> <textarea name="message" id="message"></textarea> <button type="submit">Submit</button> </form>
✨ What happens after submission:
Replace your form action URL with LeadDuo's endpoint. Keep all your existing fields.
Use webhooks to send form data from any platform to LeadDuo.
Add contact forms to static HTML sites without backend code.
Build custom form integrations using the REST API endpoint.
| Content-Type | Use Case |
|---|---|
| application/json | API integrations, JavaScript fetch/axios |
| application/x-www-form-urlencoded | HTML forms, standard POST requests |
| multipart/form-data | Forms with file uploads (coming soon) |
https://api.leadduo.io/api/v1/submissions?formId={formId}X-API-Key: your_api_key_here
| Parameter | Type | Description |
|---|---|---|
| formId | string | Required. Your form ID |
| limit | number | Optional. Number of submissions to return (default: 50) |
| offset | number | Optional. Number of submissions to skip (default: 0) |
{
"ok": true,
"submissions": [
{
"id": 123,
"formId": "form_abc123",
"formName": "Contact Form",
"data": {
"email": "john@acmecorp.com",
"name": "John Smith",
"company": "Acme Corp",
"message": "Looking for enterprise solution..."
},
"createdAt": "2025-11-07T00:00:00.000Z",
"emailSent": true,
"smsSent": false,
"spamFlag": false,
"aiScore": 85,
"aiTier": "hot",
"aiQualified": true,
"aiAnalysis": {
"source": "ai_intelligence",
"reasons": ["Business email", "Company provided", "Detailed message"],
"confidence": "high",
"details": {
"classification": {
"intent": "demo_request",
"urgency": "high",
"persona": "decision_maker",
"sentiment": "positive"
},
"enrichment": {
"companyName": "Acme Corp",
"companySize": "51-200",
"industry": "SaaS"
},
"confidence": 0.85,
"reasoning": "High-intent demo request from decision maker"
},
"scoringBreakdown": {
"baseScore": 60,
"aiBoost": 25,
"total": 85
},
"disclaimer": "AI-generated analysis. May not be 100% accurate.",
"timestamp": "2025-11-07T00:00:00Z"
}
}
],
"total": 150,
"limit": 50,
"offset": 0,
"hasMore": true
}🤖 AI Intelligence Fields (Add-On Subscription): When AI Intelligence is enabled, the response includes:
null if AI Intelligence add-on is not activeRetrieve submissions with authentication
fetch('https://api.leadduo.io/api/v1/submissions?formId=YOUR_FORM_ID&limit=10', {
method: 'GET',
headers: {
'X-API-Key': 'your_api_key_here'
}
})
.then(response => response.json())
.then(data => {
console.log('Submissions:', data.submissions);
console.log('Total:', data.total);
})
.catch(error => console.error('Error:', error));Form Submissions: 10 requests per hour per IP address + form key combination
API Requests: 10 requests per hour per API key + IP address combination
Rate limits help prevent abuse and ensure service reliability for all users.
| Error | Description |
|---|---|
| missing_ld_key | Form key is required |
| invalid_ld_key | Form key is invalid |
| form_not_found | Form does not exist |
| form_inactive | Form is paused |
| rate_limited | Too many requests, please try again later |
| invalid_api_key | API key is invalid or missing |
| unauthorized | You don't have permission to access this resource |
APIについてご質問がありますか? お問い合わせ