A provider is a plugin that lets Terraform manage the resources of a platform (AWS, Azure, Google Cloud, GitHub...) through its API. It is declared in the required_providers block with its source and a version constraint, then downloaded during terraform init.
Example
required_providers { aws = { source = "hashicorp/aws", version = "~> 5.0" } }