My proposed change may not be right, but "make a request to URL" was unclear, and it's `fetch` that's used below to make the request. If 'request to URL' has some special meaning and is what you want to say, maybe some rephrasing is in order.
Several punctuation changes, yielding:
"1. We use the browser [fetch](info:fetch) method to download from a remote URL. It allows us to supply authorization and other headers if needed -- here GitHub requires `User-Agent`.
2. The fetch result is parsed as JSON. That's again a `fetch`-specific method.
3. We should get the next page URL from the `Link` header of the response. It has a special format, so we use a regexp for that. The next page URL may look like `https://api.github.com/repositories/93253246/commits?page=2`. It's generated by GitHub itself.
4. Then we yield all commits received, and when they finish, the next `while(url)` iteration will trigger, making one more request."