Weather API in Java

Complete Java integration guide for the Weather API. Copy the code below, add your RapidAPI key, and start building.

Prerequisites

  • 1.Sign up for a free account on RapidAPI
  • 2.Subscribe to the Weather API (free tier available)
  • 3.Copy your X-RapidAPI-Key from the dashboard

Complete Java Example

helix-weather.java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class HelixApiExample {
    public static void main(String[] args) throws Exception {
        String url = "https://weather-by-helix-api.p.rapidapi.com/current?city=Berlin";

        HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create(url))
            .header("X-RapidAPI-Key", "YOUR_API_KEY")
            .header("X-RapidAPI-Host", "weather-by-helix-api.p.rapidapi.com")
            .GET()
            .build();

        HttpClient client = HttpClient.newHttpClient();
        HttpResponse<String> response = client.send(
            request, HttpResponse.BodyHandlers.ofString()
        );

        System.out.println("Status: " + response.statusCode());
        System.out.println("Body: " + response.body());
    }
}

Response Format

All Helix-API endpoints return a consistent JSON envelope:

{
  "status": "ok",
  "data": { ... },
  "meta": {
    "request_id": "req_abc123",
    "latency_ms": 42
  }
}

On errors, status becomes "error" and a message field explains what went wrong.

Error Handling

StatusMeaningAction
200SuccessParse the response body normally
400Bad requestCheck your request parameters
401UnauthorizedVerify your X-RapidAPI-Key header
429Rate limitedWait and retry with exponential backoff
500Server errorRetry after a short delay

Java Best Practices

Java 11+ HttpClient

The example uses java.net.http.HttpClient, available since Java 11. No external libraries needed to call the Weather API.

Spring RestTemplate / WebClient

In Spring Boot, use RestTemplate (blocking) or WebClient (reactive). Both handle serialization and error mapping.

Gson or Jackson for JSON

Parse the response body with Gson or Jackson to map it to a POJO. This gives you type safety and easy field access.

CompletableFuture for async

Use HttpClient.sendAsync() with CompletableFuture for non-blocking calls in high-throughput applications.

Weather API Endpoints

GET
/current

Current weather for a city or coordinates

GET
/forecast

Daily forecast for up to 16 days

Other Languages

View the Weather API integration guide in another language:

Related APIs

Start building with real APIs today

Free tier on every API, a live demo on every page, and a guide for each. No credit card to explore.

Helix-API Newsletter

Get new API launches, integration guides, and code examples in your inbox.