para chamar uma api você vai usar a biblioteca requests. Por exemplo na API no tabnews temos a url "https://www.tabnews.com.br/api/v1/contents"

import requests 

url = "https://www.tabnews.com.br/api/v1/contents"

r = requests.get(url)

if r.status_code == 200:
    resposta = r.json()
else:
    print('Erro na chamada')

E então você pode usar o conteúdo nessa variável resposta, que é um dicionário python.

Geralmente eu crio funções sim, pois fica mais fácil de usar no código.


def buscar_titulos_tabnews():
    url = "https://www.tabnews.com.br/api/v1/contents"

    r = requests.get(url)

    if r.status_code == 200:
        resposta = r.json()
        return [item["title"] for item in resposta]
    else:
        print('Erro na chamada')
 


A biblioteca requests suporta todos os métodos http, tipo GET, POST, PUT, etc...

Uma chamada mais completa seria tipo assim:

import requests

url = "https://httpbin.org/post"

headers = {"Content-Type": "application/json; charset=utf-8"}

data = {
	"id": 1001,
	"name": "geek",
	"passion": "coding",
}

response = requests.post(url, headers=headers, json=data)

print("Status Code", response.status_code)
print("JSON Response ", response.json())