# Lesson 5 - Remote sources

Extend the e-commerce project schema to include queryable types from an external review API. This section covers Content Federation through remote sources, remote fields, and top-level remote fields.

This section covers connecting the e-commerce project to an external REST API and making its data queryable through the Hygraph API alongside native Hygraph content.

**Plan requirement:**
Remote sources require a Growth plan or higher, or a [30-day trial](https://hygraph.com/docs/getting-started/update-billing).

Without this section, the schema can only return data stored in Hygraph. After completing the lessons in this section, a single API call to Hygraph returns both Hygraph content and external review data. No separate API request is needed, and no data is migrated or duplicated.

The three lessons build on each other in sequence. The remote source must exist before adding remote fields. Remote fields must exist before the top-level remote field can be tested against real data.

By the end of lesson 5.3, the project schema includes:

- A REST remote source connected to the Hygraph demo API (`HyDemoAPI`)
- A remote field on the `Product` model that fetches reviews scoped to each product entry
- A top-level remote field on the `Query` model that fetches reviews independently of any product entry

## Lessons in this section

| Lesson | What you will do |
|---|---|
| [5.1 Add a remote source](https://hygraph.com/docs/getting-started/tutorial/tutorial-add-remote-source) | Connect the HyDemoAPI REST endpoint to the project schema and define the custom types Hygraph needs to query it |
| [5.2 Add remote fields](https://hygraph.com/docs/getting-started/tutorial/tutorial-add-remote-fields) | Add a remote field to the `Product` model to fetch review data scoped to each product entry |
| [5.3 Add top-level remote fields](https://hygraph.com/docs/getting-started/tutorial/tutorial-add-top-level-remote-fields) | Add a top-level remote field to the `Query` model and run a test query to confirm the remote source is working |

For the complete remote sources documentation, see [Remote Sources](https://hygraph.com/docs/developer-guides/remote-data/overview).

## What's next

[Lesson 5.1 - Add a remote source](https://hygraph.com/docs/getting-started/tutorial/tutorial-add-remote-source)

Or, go to the [Tutorial overview](https://hygraph.com/docs/getting-started/tutorial/tutorial-overview) for the full lesson list.
