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
    Microsoft 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
        Microsoft 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