Forum Discussion

sboulanger1986's avatar
sboulanger1986
New Member
5 years ago
Solved

API call for each record of another API call

Hi everyone,

 

I'm working with an API that let me 

  1. Retrieve all contacts within a list.
  2. Retrieve all email messages for a specific contact.

I need to extract all email messages for all the contacts identified in my first API call. The first call will provide me with the contact ID I need for the second call. It involved I'll need to make a call for each record returned in the first place. 

 

Is there a way I can do this in Power Query and does it make sense in terms of performance? 

 

Regards

 

  • mahoneypat's avatar
    mahoneypat
    5 years ago

    Yes.  Add a custom column in your first query and do Web.Contents("your url" & [ColumnFromFirstWebCall]), where you concatenate the column with the rest of your url.

     

    Pat

     

3 Replies

  • mahoneypat's avatar
    mahoneypat
    Icon for Microsoft Employee rankMicrosoft Employee

    Performance will depend on how many there are but it can be done within the query editor.  Just make your first API call, expand that to a table and transform as needed, and then add a custom column that uses the contact column in the second API call fo reach row.

     

    Pat

     

    • sboulanger1986's avatar
      sboulanger1986
      New Member

      Hi Pat,

       

      Thank you for your answer. I must say I'm still new to Power Query and I'm not sure how to dot it. Should I add custom column in the first query and then add the second API call in that column? 

      • mahoneypat's avatar
        mahoneypat
        Icon for Microsoft Employee rankMicrosoft Employee

        Yes.  Add a custom column in your first query and do Web.Contents("your url" & [ColumnFromFirstWebCall]), where you concatenate the column with the rest of your url.

         

        Pat