Home / Form backend for Angular

Form backend for Angular

Handle form submissions in Angular without building an API. Reactive and template-driven forms supported.

Angular has powerful form handling with ReactiveFormsModule, but sending that data to a server still requires an API. LazyForms is the API — POST your form data to our endpoint and we handle email, storage, and integrations.

How it works

  1. 1

    Create a LazyForms endpoint.

  2. 2

    Build your Angular form (reactive or template-driven).

  3. 3

    Use HttpClient to POST to your LazyForms URL.

  4. 4

    Submissions go to your email and dashboard.

Code example

import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { FormsModule } from '@angular/forms';

@Component({
  selector: 'app-contact-form',
  standalone: true,
  imports: [FormsModule],
  template: `
    <form (ngSubmit)="onSubmit()" #contactForm="ngForm">
      <input type="text" name="name" [(ngModel)]="name" placeholder="Name" required />
      <input type="email" name="email" [(ngModel)]="email" placeholder="Email" required />
      <textarea name="message" [(ngModel)]="message" placeholder="Message" required></textarea>

      <button type="submit" [disabled]="status === 'sending'">
        {{ status === 'sending' ? 'Sending...' : 'Send' }}
      </button>
      <p *ngIf="status === 'sent'">Message sent!</p>
    </form>
  `,
})
export class ContactFormComponent {
  name = '';
  email = '';
  message = '';
  status = 'idle';

  constructor(private http: HttpClient) {}

  onSubmit() {
    this.status = 'sending';
    this.http.post('https://api.lazyforms.com/f/YOUR_ACCESS_KEY', {
      name: this.name,
      email: this.email,
      message: this.message,
    }).subscribe({
      next: () => {
        this.status = 'sent';
        this.name = this.email = this.message = '';
      },
      error: () => this.status = 'error',
    });
  }
}

Tips

  • Works with both template-driven forms (FormsModule) and reactive forms (ReactiveFormsModule).
  • LazyForms accepts JSON — just POST an object with HttpClient.
  • No CORS issues — LazyForms allows requests from any origin by default.

What you get

Email notifications on every submission
Web dashboard to browse and export data
Google Sheets integration
Webhook support for automation
Spam protection (honeypot + Turnstile)
Unlimited forms and submissions

Start collecting Angular form submissions

Enter your email to get your form endpoint. Free forever.

Enter your email to receive your form action URL · No password needed