Ducks Unlimited API

Free to Use Varies (check documentation)

Overview

The Ducks Unlimited API provides location data for university chapters affiliated with Ducks Unlimited, the wetlands and waterfowl conservation organization. It returns GeoJSON-compatible location data for chapters across cities and states. No authentication is needed, making it easy to query directly.

💡

Beginner Tip

This is an ArcGIS-based API; the query parameter "where=1=1" returns all records. You can filter by adding conditions like "where=STATE='TX'" to get chapters in a specific state.

Available Data

Ducks Unlimited data via REST API
JSON-formatted response data
Freely accessible without authentication

Example Response

JSON Response
{
  "status": "success",
  "data": {
    "result": "Data from Ducks Unlimited",
    "description": "API explorer that gives a query URL with a JSON response of locations and cities",
    "timestamp": "2025-01-15T10:00:00Z"
  }
}

Field Reference

features Array of feature objects, each representing a university chapter location.
attributes Key-value pairs of chapter data fields such as name, city, state, and contact info.
geometry Coordinates object with x (longitude) and y (latitude) values for the chapter location.
geometryType Type of geometry returned (e.g., "esriGeometryPoint" for point locations).
objectIdFieldName Name of the field used as a unique identifier for each feature in the dataset.

Implementation Example

// ⚠️ Note: This URL may be a documentation page. Check official docs for actual API endpoint.
const url = "https://gis.ducks.org/datasets/du-university-chapters/api";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

Empty features array The "where" query parameter syntax is incorrect or the filter matches no records.
Use "where=1=1" to return all records first, then refine your filter. URL-encode special characters like = as %3D.
400 Bad Request Missing the "f" (format) parameter in the query string.
Always include "f=json" in your query parameters to specify JSON output format.
Unexpected response structure ArcGIS APIs wrap data in a "features" array with nested "attributes" and "geometry" objects.
Access data via response.features[0].attributes for field values and response.features[0].geometry for location data.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 15/20
🔒 Security 15/15
🛠 Developer XP 12/20
✓ Reliability 7/15
Response Time 248ms

Fully tested on Apr 5, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS NO
Category Geocoding
Difficulty Beginner
Verified: 2026-04-04

Similar APIs

View All →