Angular12 min read

HTTP in Angular: GET Data from an API

Fetch data from a backend using HttpClient with a clean service-based approach.

Rachel Stone
July 22, 2025
4.2k186

Most real Angular apps talk to a backend. Angular uses HttpClient for API calls.

Step 1: Provide HttpClient

In modern Angular, use:

import { provideHttpClient } from '@angular/common/http';

bootstrapApplication(AppComponent, {
  providers: [provideHttpClient()],
});

Step 2: Create an API service

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

export type Product = { id: number; title: string; price: number };

@Injectable({ providedIn: 'root' })
export class ProductsApi {
  constructor(private http: HttpClient) {}

  getProducts(): Observable<Product[]> {
    return this.http.get<Product[]>('/api/products');
  }
}

Step 3: Use it in a component

import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ProductsApi, Product } from './products.api';

@Component({
  selector: 'app-products',
  standalone: true,
  imports: [CommonModule],
  template: `
    <h2>Products</h2>
    <ul>
      <li *ngFor="let p of products">{{ p.title }} - ${{ p.price }}</li>
    </ul>
  `,
})
export class ProductsComponent {
  products: Product[] = [];

  constructor(private api: ProductsApi) {
    this.api.getProducts().subscribe(data => (this.products = data));
  }
}

Next: Observables explained, because HttpClient returns Observables.

#Angular#HTTP#Intermediate