Discover/Climatebase API
live

Climatebase APIclimatebase.org

Search and retrieve climate job listings from Climatebase.org. Filter by location, remote, experience level, org type, and date. Full job details and employer data.

Endpoint health
verified 4d ago
search_jobs
get_company_info_from_job
list_jobs_by_date_posted
list_jobs_remote
get_job_detail
6/6 passing latest checkself-healing
Endpoints
6
Updated
26d ago

What is the Climatebase API?

The Climatebase API covers 6 endpoints for searching, filtering, and retrieving job listings from Climatebase.org, the dedicated platform for climate-sector careers. The search_jobs endpoint accepts free-text queries alongside filters for location, employment type, experience level, and organization size, returning paginated results with employer name, job types, and remote preferences. Companion endpoints expose full job details, employer profiles, and related listings.

Try it
Location filter. Free-text location name (e.g. 'San Francisco') or 'Remote' to filter for remote jobs
Search query keyword matching job title and description
Date posted filter
Page number (0-indexed)
Results per page (max 1000)
Employment type filter
Experience level filter
Organization size filter
Organization type filter
Workplace preference filter
api.parse.bot/scraper/bdf0c143-2779-4da9-b1da-d7a96d156156/<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/bdf0c143-2779-4da9-b1da-d7a96d156156/search_jobs?date=month&page=0&limit=5&employment_type=Full+time+role&experience_level=Mid+Level&organization_size=5000+%2B&organization_type=Company&workplace_preference=In-person' \
  -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 climatebase-org-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.

"""Climatebase SDK walkthrough — search climate jobs, drill into details, explore similar roles."""
from parse_apis.climatebase_jobs_api import (
    Climatebase, DatePosted, WorkplacePreference, ExperienceLevel, JobNotFound
)

client = Climatebase()

# Search for remote solar jobs — limit caps total items fetched across all pages.
for job in client.jobsummaries.search(q="solar", workplace_preference=WorkplacePreference.REMOTE, limit=5):
    print(job.title, "|", job.name_of_employer, "|", job.activation_date)

# Drill into the first result for full details (separate network call).
summary = client.jobsummaries.search(q="engineer", date=DatePosted.WEEK, limit=1).first()
if summary:
    detail = summary.details()
    print(detail.title, detail.how_to_apply, detail.employer_name)

    # Walk similar jobs offered on the detail page.
    for similar in detail.similar_jobs.list(limit=3):
        print(similar.title, similar.employer_name)

    # Fetch full employer info from the job detail.
    employer = detail.get_employer()
    print(employer.company_name, employer.website)

# List remote jobs posted today using convenience filter.
for remote_job in client.jobsummaries.list_remote(date=DatePosted.TODAY, limit=3):
    print(remote_job.title, remote_job.remote_preferences)

# Typed error handling: catch JobNotFound for an invalid ID.
try:
    bad_summary = client.jobsummaries.search(q="nonexistent_xyz_99999", limit=1).first()
    if bad_summary:
        bad_summary.details()
except JobNotFound as exc:
    print(f"Job not found: {exc.job_id}")

print("exercised: search / details / similar_jobs.list / get_employer / list_remote / JobNotFound")
All endpoints · 6 totalmissing one? ·

Full-text search over the Climatebase job board. Supports filtering by location, date posted, workplace preference, employment type, experience level, organization size, and organization type. Returns paginated results ordered by relevance. Each result contains summary-level fields (title, employer name, locations as strings, remote preferences); full job details require a separate get_job_detail call.

Input
ParamTypeDescription
lstringLocation filter. Free-text location name (e.g. 'San Francisco') or 'Remote' to filter for remote jobs
qstringSearch query keyword matching job title and description
datestringDate posted filter
pageintegerPage number (0-indexed)
limitintegerResults per page (max 1000)
employment_typestringEmployment type filter
experience_levelstringExperience level filter
organization_sizestringOrganization size filter
organization_typestringOrganization type filter
workplace_preferencestringWorkplace preference filter
Response
{
  "type": "object",
  "fields": {
    "jobs": "array of job summary objects with id, title, description, locations, name_of_employer, remote_preferences, job_types, experience_levels, activation_date, sectors, categories, logo",
    "pages": "integer total number of pages",
    "total": "integer total number of matching jobs",
    "current_page": "integer current page index (0-based)"
  },
  "sample": {
    "data": {
      "jobs": [
        {
          "id": 73616240,
          "logo": "https://climatebaseuserstorage.s3-us-west-1.amazonaws.com/photos/316a6ad2-fe03-4452-a10f-ed23b5649889-res_group_logo.webp",
          "title": "Field Service Technician I - Solar",
          "sectors": [
            "Energy"
          ],
          "job_types": [
            "Full time role"
          ],
          "locations": [
            "Kress, TX, US"
          ],
          "categories": [
            "Technician",
            "Agriculture"
          ],
          "activation_date": "2026-06-10T05:31:53.903Z",
          "name_of_employer": "Renewable Energy Systems",
          "experience_levels": [
            "Early Career"
          ],
          "remote_preferences": [
            "In-person"
          ]
        }
      ],
      "pages": 334,
      "total": 3827,
      "current_page": 0
    },
    "status": "success"
  }
}

About the Climatebase API

Search and Filter Climate Jobs

The search_jobs endpoint is the primary entry point. Pass a keyword via q, a location string or 'Remote' via l, and narrow results with employment_type, experience_level, organization_size, or a date filter. Results are paginated (0-indexed via page, up to 1000 per page via limit) and each job summary includes id, title, description, locations, name_of_employer, remote_preferences, and job_types. The total and pages fields let you walk the full result set programmatically.

Full Job Details and Employer Data

get_job_detail takes a numeric job_id (from any search result's id field) and returns the complete listing: an HTML description, salary_from/salary_to bounds, how_to_apply (URL or email), activation_date, and an employer object containing company_name, company_description, logo, website, org_types, org_sizes, climate_solutions, and active_sectors. The similar_jobs array inside the response gives a quick starting point for related listings without a second request.

Focused Convenience Endpoints

get_similar_jobs returns related positions for a given job_id, useful for building recommendation flows. get_company_info_from_job surfaces the employer record independently — including climate_solutions and active_sectors arrays — which is useful when company context matters more than the job itself. list_jobs_by_date_posted accepts a required date value of 'today', 'week', or 'month' alongside optional q and l filters. list_jobs_remote is a dedicated filter that returns only remote-flagged listings and accepts the same optional q and date parameters.

Reliability & maintenanceVerified

The Climatebase API is a managed, monitored endpoint for climatebase.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when climatebase.org 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 climatebase.org 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
4d ago
Latest check
6/6 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 climate job alert system that polls list_jobs_by_date_posted with date='today' and emails new listings.
  • Aggregate remote climate roles using list_jobs_remote filtered by keyword for a niche job board.
  • Extract employer climate_solutions and active_sectors fields via get_company_info_from_job to map which organizations are hiring across specific climate verticals.
  • Power a job recommendation widget using get_similar_jobs keyed to a listing a user is currently viewing.
  • Analyze salary ranges by scraping salary_from/salary_to across search_jobs result pages segmented by experience_level.
  • Index full HTML job descriptions from get_job_detail into a search engine with richer semantic matching than Climatebase's own filters.
  • Compile a company directory of climate employers from employer objects returned by get_job_detail, deduplicated by company_name.
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 Climatebase have an official developer API?+
Climatebase does not publish a documented public developer API. There is no official REST or GraphQL API listed in their documentation or developer portal.
What does `get_job_detail` return that `search_jobs` does not?+
search_jobs returns summary fields: id, title, description (truncated), locations, name_of_employer, remote_preferences, and job_types. get_job_detail adds the full HTML description, salary_from/salary_to, how_to_apply, activation_date, the full employer object (including climate_solutions, active_sectors, logo, website, org_types, org_sizes), and a similar_jobs array.
What date filter values does `list_jobs_by_date_posted` accept?+
The date parameter accepts exactly three values: 'today', 'week', or 'month'. It is a required field for that endpoint. The same date parameter is optional on search_jobs and list_jobs_remote.
Does the API expose job applications or candidate profiles?+
No. The API covers job listings and employer data only — search results, job details, employer profiles, and related listings. Candidate profiles, application submissions, and user account data are not included. You can fork the API on Parse and revise it to add any adjacent endpoint if Climatebase exposes that data at a stable URL.
How current are the job listings returned by the API?+
The listings reflect what is currently active on Climatebase.org. The activation_date field on each job detail indicates when the listing went live. There is no historical archive endpoint — closed or expired listings are not retrievable once removed from the Climatebase site. You can fork the API on Parse and revise it to snapshot and store active listings over time.
Page content last updated . Spec covers 6 endpoints from climatebase.org.
Related APIs in JobsSee all →
dailyremote.com API
Search and browse remote job listings from DailyRemote.com with complete job details including descriptions, salary ranges, company information, and hiring process steps. Access structured job data and company contact details to find and evaluate remote opportunities all in one place.
welcometothejungle.com API
Search and discover job postings and company information from Welcome to the Jungle, including detailed job listings, company profiles with employee statistics and social links, and the ability to browse all available positions. Find the perfect role by searching jobs and companies, then access comprehensive details about positions and organizations in one place.
job-boards.greenhouse.io API
Access job listings, department information, office locations, and application forms from Greenhouse.io job boards, then submit applications directly through the platform. Search and filter available positions by keywords to find roles that match your qualifications.
shine.com API
Search and discover job listings on Shine.com with detailed information including job descriptions, categories, locations, and top hiring companies. Find similar job opportunities and explore roles across different industries and geographical areas to match your career goals.
ethiojobs.net API
Search and explore job listings across Ethiopian companies with detailed job information, categories, locations, and industries. Discover company profiles, view their open positions, and find similar job opportunities tailored to your preferences.
caljobs.ca.gov API
Search and discover job listings from California's official CalJOBS database, with the ability to filter results by posting date and specific employers to find opportunities that match your needs. View detailed information about individual positions to learn more about roles that interest you.
emploi.ma API
Search and browse job listings from Emploi.ma with detailed information about positions, companies, and available categories across the Moroccan job market. Access company profiles, featured job opportunities, and full job details including requirements, salary, and employment type.
monster.com API
Search and retrieve job listings from Monster.com. Supports keyword and location-based search with structured results including job descriptions, salary ranges, company info, and employment details. Also provides access to popular job categories.