FFreeAPI Hub

USGS Water Services

Science & Math

Water quality and level info for rivers and lakes

No AuthHTTPSNo CORS

Auth

No Auth

HTTPS

Yes

CORS

No

Common Use Cases

  • •Integrate this API into your web or mobile application
  • •Build data-driven dashboards and visualization tools
  • •Create automated workflows using the API endpoints

Integration Guide

1

Review the API Documentation

Visit the official USGS Water Services documentation to understand available endpoints, request formats, and response structures. Familiarize yourself with the API's rate limits and usage policies before integration.

2

No Authentication Required

Good news — USGS Water Services does not require any authentication. You can start making API requests directly without registering for an API key or setting up OAuth credentials.

3

Use HTTPS for Secure Requests

USGS Water Services supports HTTPS, ensuring encrypted communication. Always use HTTPS endpoints in production to protect data in transit and comply with modern web security standards.

4

No CORS — Use a Backend Proxy

USGS Water Services does not support CORS. To use it in a browser-based app, set up a backend proxy server that forwards requests to the API and returns the response with appropriate CORS headers.

5

Implement and Test

Write your API integration code, start with a simple test request to verify connectivity. Implement proper error handling for network failures, rate limits, and invalid responses. Monitor your API usage to stay within any limits.

Code Examples

JavaScript / Fetch API:

javascript
// JavaScript example
fetch("https://waterservices.usgs.gov/")
  .then(response => {
    if (!response.ok) {
      throw new Error(`HTTP error! status: ${response.status}`);
    }
    return response.json();
  })
  .then(data => {
    console.log("API response:", data);
  })
  .catch(error => {
    console.error("Error fetching from USGS Water Services:", error);
  });

Python / Requests:

python
# Python example
import requests

response = requests.get("https://waterservices.usgs.gov/")

if response.status_code == 200:
    data = response.json()
    print("API response:", data)
else:
    print(f"Error: {response.status_code}")

Frequently Asked Questions

Is USGS Water Services free to use?
Yes, USGS Water Services is listed as a free public API. However, some free APIs may have usage limits or rate restrictions. Check the official documentation for details on any quotas or fair use policies.
Do I need an API key for USGS Water Services?
No, USGS Water Services does not require authentication. You can start using the API immediately without registering or obtaining any credentials. This makes it perfect for quick prototyping and demos.
Can I use USGS Water Services in a browser-based application?
USGS Water Services does not support CORS. For browser-based apps, you'll need to route requests through a backend proxy server that adds the necessary CORS headers to responses.
What category does USGS Water Services belong to?
USGS Water Services is categorized under Science & Math. You can browse more APIs in the same category to find similar services and alternatives for your project.
Is USGS Water Services secure?
Yes, USGS Water Services supports HTTPS, which encrypts all data transmitted between your application and the API server. Always use HTTPS endpoints in production environments.