To extract and transform JSON data from an API in Power Query:
Connect to API & Load JSON
Source = Json.Document(Web.Contents("https://api.example.com/data"))
Expand & Structure Data
- If the root is a list, use Table.FromList(Source).
- If it's a record, use Table.FromRecords({Source}).
- Expand nested records/lists using Table.ExpandRecordColumn().
Handle Dynamic Schema
- Use Record.ToTable() for varying fields:
Table.FromRecords(List.Transform(Source, each Record.ToTable(_)))
Convert & Clean Data
- Use Table.TransformColumnTypes() to assign correct types.
- Remove unwanted columns with Table.RemoveColumns().