Aggregate requests
Send two GET request to two urls and aggregates the responses into one response.
export default {  async fetch(request) {    // someHost is set up to return JSON responses    const someHost = "https://jsonplaceholder.typicode.com";    const url1 = someHost + "/todos/1";    const url2 = someHost + "/todos/2";
    const responses = await Promise.all([fetch(url1), fetch(url2)]);    const results = await Promise.all(responses.map((r) => r.json()));
    const options = {      headers: { "content-type": "application/json;charset=UTF-8" },    };    return new Response(JSON.stringify(results), options);  },};export default {  async fetch(request) {    // someHost is set up to return JSON responses    const someHost = "https://jsonplaceholder.typicode.com";    const url1 = someHost + "/todos/1";    const url2 = someHost + "/todos/2";
    const responses = await Promise.all([fetch(url1), fetch(url2)]);    const results = await Promise.all(responses.map((r) => r.json()));
    const options = {      headers: { "content-type": "application/json;charset=UTF-8" },    };    return new Response(JSON.stringify(results), options);  },} satisfies ExportedHandler;from workers import Response, fetchimport asyncioimport json
async def on_fetch(request):    # some_host is set up to return JSON responses    some_host = "https://jsonplaceholder.typicode.com"    url1 = some_host + "/todos/1"    url2 = some_host + "/todos/2"
    responses = await asyncio.gather(fetch(url1), fetch(url2))    results = await asyncio.gather(*(r.json() for r in responses))
    headers = {"content-type": "application/json;charset=UTF-8"}    return Response.json(results, headers=headers)Was this helpful?
- Resources
 - API
 - New to Cloudflare?
 - Products
 - Sponsorships
 - Open Source
 
- Support
 - Help Center
 - System Status
 - Compliance
 - GDPR
 
- Company
 - cloudflare.com
 - Our team
 - Careers
 
- 2025 Cloudflare, Inc.
 - Privacy Policy
 - Terms of Use
 - Report Security Issues
 - Trademark