Discover/Earth911 API
live

Earth911 APIearth911.com

Search recycling centers by location and material, get facility details, autocomplete material names, and retrieve sustainability articles from Earth911.

Endpoint health
verified 2d ago
search_recycling_centers
suggest_materials
get_location_details
get_educational_resources
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the Earth911 API?

The Earth911 API covers 4 endpoints that let you search recycling centers by material and ZIP code, retrieve full facility details by location_id, autocomplete material names via suggest_materials, and page through sustainability articles. A single call to search_recycling_centers returns name, address, phone, distance, and a materials preview for every matching facility in one result set.

Try it
Search radius in miles.
Zip code or city name to search near (e.g. '10001' or 'New York').
Material to recycle. Use suggest_materials to discover valid names.
api.parse.bot/scraper/0be26c57-6028-468b-b7b2-60bc9f679d5b/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/0be26c57-6028-468b-b7b2-60bc9f679d5b/search_recycling_centers?distance=25&location=10001&material=paper' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace earth911-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.earth911_recycling_api import Earth911, RecyclingCenter, RecyclingCenterSummary, AcceptedMaterial, Article

earth911 = Earth911()

# Discover material names via autocomplete
suggestions = earth911.recyclingcentersummaries.suggest_materials(query="glass")
for material_name in suggestions:
    print(material_name)

# Search for recycling centers near a zip code
centers = earth911.recyclingcentersummaries.search(material="paper", location="10001", distance=10)
for center in centers:
    print(center.name, center.address, center.distance, center.phone)

# Navigate from a summary to full details
first_center = earth911.recyclingcentersummary(location_id="Q1RTNVlbU19C")
detail = first_center.details()
print(detail.name, detail.phone, detail.description)
for mat in detail.materials_accepted:
    print(mat.name, mat.services)

# Get a center directly by ID
full = earth911.recyclingcenters.get(location_id="Q1RTNVlbU19C")
print(full.name, full.hours)

# Search educational articles
articles = earth911.articles.search(query="plastic recycling")
for article in articles:
    print(article.title, article.url, article.excerpt)
All endpoints · 4 totalmissing one? ·

Search for recycling centers and programs by material and location. Returns a list of matching centers with address, phone, distance, and a preview of accepted materials. The full result set is returned in one page. Use suggest_materials to discover valid material names before searching.

Input
ParamTypeDescription
distanceintegerSearch radius in miles.
locationrequiredstringZip code or city name to search near (e.g. '10001' or 'New York').
materialrequiredstringMaterial to recycle. Use suggest_materials to discover valid names.
Response
{
  "type": "object",
  "fields": {
    "query": "object containing the search parameters (material, location, distance)",
    "results": "array of recycling center summary objects with name, location_id, address, phone, distance, type, preview_materials, and detail_url",
    "total_results": "integer count of results returned"
  },
  "sample": {
    "data": {
      "query": {
        "distance": 25,
        "location": "10001",
        "material": "paper"
      },
      "results": [
        {
          "name": "New York City Curbside Recycling Program",
          "type": "program",
          "phone": "+1 (555) 012-3456",
          "address": "New York, NY 10001",
          "distance": "MunicipalProgram",
          "detail_url": "https://search.earth911.com/program/Q1RTNVlbU19C/",
          "location_id": "Q1RTNVlbU19C",
          "preview_materials": [
            "Blueprints",
            "Booklets",
            "Brochures"
          ]
        }
      ],
      "total_results": 10
    },
    "status": "success"
  }
}

About the Earth911 API

Searching for Recycling Centers

The search_recycling_centers endpoint accepts a required material string and a location (ZIP code or city name), plus an optional distance in miles. It returns a flat array of results — no pagination — where each object includes name, location_id, address, phone, distance, type, and preview_materials. The location_id value is the key you need to drill into a specific facility.

Facility Details and Accepted Materials

get_location_details takes a single location_id and returns the complete profile for that facility or program: materials_accepted (an array of objects with name and a services array such as dropoff or pickup), hours, phone, address, and a free-text description. The type field distinguishes between a physical location and a mail-in or virtual program.

Material Autocomplete

Earth911 uses specific material name strings that must match its catalog. The suggest_materials endpoint accepts a partial query (e.g. 'plas') and returns a suggestions array of valid material name strings. Run this before calling search_recycling_centers to avoid zero-result queries caused by inexact material names.

Educational Resources

get_educational_resources searches Earth911's article archive. It accepts an optional query keyword and an optional 1-based page integer for pagination. Each result object contains title, url, and excerpt. This endpoint is independent of the recycling-center endpoints and covers sustainability guides, how-to articles, and recycling explainers.

Reliability & maintenanceVerified

The Earth911 API is a managed, monitored endpoint for earth911.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when earth911.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official earth911.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a recycling locator widget that shows the nearest drop-off points for a specific material given a user's ZIP code.
  • Populate a facility detail page with accepted materials, hours, and phone using get_location_details after a center search.
  • Validate user-entered material names against the Earth911 catalog with suggest_materials before running a center search.
  • Filter search results by distance to surface only the closest facilities within a configurable radius.
  • Index Earth911 sustainability articles in a content aggregator using get_educational_resources with keyword and page parameters.
  • Show service type badges (dropoff vs. pickup) per material on a facility detail view using the materials_accepted services array.
  • Classify facilities as physical locations versus remote programs using the type field from get_location_details.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Earth911 have an official developer API?+
Yes. Earth911 offers the Earth911 API (sometimes called the Recycling Locator API) for partners at earth911.com/home-garden/earth911-recycling-api/. Access requires an application and approval from Earth911 directly.
What does search_recycling_centers return, and is the result paginated?+
It returns a single flat array under the results key — no pagination. Each element includes name, address, phone, distance, type, and preview_materials. The total_results integer tells you how many records came back. To get the full materials list for any facility, pass its location_id to get_location_details.
Does the API return user reviews or ratings for recycling centers?+
No. The endpoints cover facility metadata (address, phone, hours, accepted materials, services) and article content. User reviews and ratings are not part of the current data shape. You can fork the API on Parse and revise it to add a reviews endpoint if that data becomes available on the source.
Is geographic coverage limited to the United States?+
The location parameter accepts U.S. ZIP codes and city names. Earth911's database is primarily U.S.-focused, so international location queries may return sparse or no results. The API does not expose a country filter parameter. You can fork the API on Parse and revise it to add international location handling if broader coverage is needed.
How do I avoid getting zero results when searching by material?+
Earth911 requires material names that match its internal catalog. Call suggest_materials with a partial string (e.g. 'batt' for batteries) first, then use one of the returned suggestions array values as the material parameter in search_recycling_centers. Freeform strings that don't match the catalog typically return empty result sets.
Page content last updated . Spec covers 4 endpoints from earth911.com.
Related APIs in Maps GeoSee all →
recovery.com API
Search for recovery centers across the country, browse available locations, and access detailed information about specific facilities including services, reviews, and contact details on Recovery.com. Find the right treatment center by location or search criteria to compare options and make informed decisions about recovery resources.
zoom.earth API
Search Zoom Earth for places and get live environmental data including weather forecasts by coordinates, satellite imagery timestamps, active tropical storm tracks, active fires, and current platform status.
cityelectricsupply.com API
Search and browse City Electric Supply's product catalog across categories, view detailed product information with localized pricing and inventory based on a ZIP code, and manage a shopping cart. Access product details and real-time stock availability for any area.
car-part.com API
Search for recycled auto parts across thousands of vehicles and get detailed information on pricing, availability, and specifications from car-part.com. Find the exact parts you need with comprehensive search metadata and individual part details to compare options and locate the best deals.
baxtel.com API
Access data from baxtel.com.
11880.com API
Search and discover millions of German businesses from 11880.com's comprehensive directory, instantly accessing company contact details, locations, and trade information. Get intelligent autocomplete suggestions for trades and cities to refine your business searches and find exactly who you're looking for.
feedingamerica.org API
Find nearby food banks by ZIP code or state, view detailed organizational profiles and leadership information, and access hunger statistics and news about food insecurity across the nation. Discover ways to take action and support local food banks through giving options and impact metrics.
yellowpages.com API
Search and retrieve business listings, contact info, hours, categories, and customer reviews from YellowPages.com. Browse by category or location across the US.