Friday, November 7, 2025

thumbnail

Integrating Third-Party APIs with Full Stack Python

 ๐Ÿง  1. What is a Third-Party API?


A third-party API is an external service that provides access to data or functionality over the internet. Examples:


Payment processing: Stripe, PayPal


Social login: Google, Facebook OAuth


Messaging: Twilio, SendGrid


Data: OpenWeatherMap, NewsAPI


Your full-stack Python app (backend + frontend) can consume these APIs to enhance functionality.


⚙️ 2. Backend Setup


Python frameworks like Flask, Django, or FastAPI are commonly used to handle API requests and responses.


Backend handles:


Calling external APIs


Processing data


Forwarding responses to the frontend


Authentication / token management


Step 1: Install Dependencies

pip install requests python-dotenv



requests → HTTP requests


python-dotenv → Manage API keys securely


Step 2: Store API Keys Securely


Create a .env file:


WEATHER_API_KEY=your_api_key_here



Load it in Python:


from dotenv import load_dotenv

import os


load_dotenv()

API_KEY = os.getenv("WEATHER_API_KEY")


Step 3: Making API Calls


Example: Fetching weather data from OpenWeatherMap:


import requests


def get_weather(city):

    url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={API_KEY}&units=metric"

    response = requests.get(url)

    if response.status_code == 200:

        return response.json()

    else:

        return {"error": "Failed to fetch data"}


Step 4: Expose Endpoint for Frontend


Using FastAPI:


from fastapi import FastAPI


app = FastAPI()


@app.get("/weather/{city}")

def weather(city: str):

    data = get_weather(city)

    return data



Frontend can now call /weather/{city} to get processed data.


๐Ÿ”„ 3. Frontend Integration


If using React:


import { useEffect, useState } from "react";


function Weather({ city }) {

  const [data, setData] = useState(null);


  useEffect(() => {

    fetch(`/weather/${city}`)

      .then((res) => res.json())

      .then((data) => setData(data));

  }, [city]);


  if (!data) return <p>Loading...</p>;

  return <div>

    <h2>{data.name}</h2>

    <p>Temp: {data.main.temp}°C</p>

  </div>;

}



The frontend never calls the third-party API directly, which keeps API keys secure.


๐Ÿ” 4. Handling Authentication & Tokens


Many third-party APIs require authentication:


API keys: Simple header or query string


OAuth 2.0: Google, Facebook


JWTs: Some modern APIs


Example: Using headers for API key:


headers = {"Authorization": f"Bearer {API_KEY}"}

response = requests.get("https://api.example.com/data", headers=headers)


๐Ÿ› ️ 5. Error Handling & Best Practices


Check response status codes


if response.status_code != 200:

    raise Exception(f"API call failed: {response.status_code}")



Handle timeouts


response = requests.get(url, timeout=5)



Retry on failure


Use urllib3.util.retry or tenacity for automatic retries.


Limit rate of requests


Respect API rate limits, implement caching if needed.


Abstract API calls


Use separate service modules (e.g., services/weather.py) for maintainability.


๐Ÿ”— 6. Example Full-Stack Flow


Mobile/React frontend calls your backend → /weather/{city}


Backend calls third-party API → OpenWeatherMap


Backend processes response → filters fields, handles errors


Backend returns clean JSON to frontend


Frontend renders data for users


This protects API keys, centralizes error handling, and allows you to enrich or cache data.


✅ 7. Best Practices for Full-Stack API Integration


Never expose API keys in frontend


Use environment variables and secret managers


Handle errors gracefully and provide fallback data


Cache frequently requested data to reduce API calls


Use asynchronous requests for performance (FastAPI + httpx)


Log API calls for debugging and monitoring


Respect API rate limits and quotas

Learn Fullstack Python Training in Hyderabad

Read More

Creating APIs for Mobile Applications with Python

How to Handle API Requests in Python: Methods and Best Practices

Building Authentication for APIs in Python with JWT

Using Django REST Framework for Building APIs

At Our Quality Thought Training Institute in Hyderabad

Get Directions

Subscribe by Email

Follow Updates Articles from This Blog via Email

No Comments

About

Search This Blog

Powered by Blogger.

Blog Archive