Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
TuanPham1999
Frequent Visitor

Pull data from API using POST method in Power BI

Hi all, I'm a fresher in Power BI Desktop. my mission is extract data from given credentials include: ClientID, Password and Url. The credentials must be Base64 encoded for use in the POST /oauth2/token request. I have used that credentials in Postman and I got its header such as: Authorization: Basic xxxxxxxxxxxxxxxxxxxxxx. what should i start with all of them to get data from API. Can anyone help me to solve this probleml. thank you so much for any solution and suggestion. Cheer!!!

1 ACCEPTED SOLUTION
v-chuncz-msft
Community Support
Community Support

@TuanPham1999,

 

You may refer to the following post.

https://community.powerbi.com/t5/Desktop/Connect-to-a-Web-Service-sending-parameters/td-p/225510

Community Support Team _ Sam Zha
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

7 REPLIES 7
Thiaan
Regular Visitor

if you add content ie:

 Content = Text.ToBinary(postData)

 to the web.conents on the call it automatically does a post. just send a parameter to the API ie: 

Content = Json.FromValue([ pageSize = "200" ]), //even though this MIGHT be the same as the default, specifying content forces the post. 

finally:

...
Web.Contents( Url

                              , [ Headers = Headers
                              , Content = Json.FromValue([ pageSize = "200" ]) // ← This makes it a POST
...

Anonymous
Not applicable

I found it not so easy to get data via POST so I am pasting here what I did in case this helps someone else in the future.

 

I created the following blank query:

 

= let
   body = "The POST method body here",
   Data= Web.Contents("https://yourusrlhere",[Content=Text.ToBinary(body),Headers=[#"Content- 
   Type"="application/json"]]),
   DataRecord = Json.Document(Data),
   Source=DataRecord 
in
   Source

 

 

i4
Frequent Visitor

How can I insert a variable (dateTo) instead of the date, i.e. 2024-12-31, into parameter5?

 

let
   dateTo= DateTime.LocalNow(),
   body = "{""parameter1"":""xxx"",""parameter2"":""xxx"",""parameter3"":""xxx"",""parameter4"":""xxx"",""parameter5"":""2024-12-31""}",
   Data= Web.Contents("https://xxx",[Content=Text.ToBinary(body),Headers=[#"Content-Type"="application/json"]]),
   DataRecord = Json.Document(Data),
   Source=DataRecord
in
   Source

 

I wanted to post a more complete/cleaner version of the above solution that contains multiple headers and shows how to convert the body to binary data for POST operations: 

 

let
    url = "https://api.somevendor.com/api/",
    headers = [#"Content-Type" = "application/x-www-form-urlencoded", #"Accept" = "application/json"],
    postData = "Any sort of text data you want to post to the API",
    response = Web.Contents(
        url,
        [
            Headers = headers,
            Content = Text.ToBinary(postData)
        ]
    ),
    jsonResponse = Json.Document(response)
in
    jsonResponse

 

What  body = "The POST method body here", is for?

 

Thanks

TuanPham1999
Frequent Visitor

Hi all, I'm a fresher in Power BI Desktop. my mission is extract data from given credentials include: ClientID, Password and Url. The credentials must be Base64 encoded for use in the POST /oauth2/token request. I have used that credentials in Postman and I got its header such as: Authorization: Basic xxxxxxxxxxxxxxxxxxxxxx. what should i start with all of them to get data from API. Can anyone help me to solve this probleml. thank you so much for any solution and suggestion. Cheer!!!

v-chuncz-msft
Community Support
Community Support

@TuanPham1999,

 

You may refer to the following post.

https://community.powerbi.com/t5/Desktop/Connect-to-a-Web-Service-sending-parameters/td-p/225510

Community Support Team _ Sam Zha
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Fabric Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.