Discover/Ethereum API
live

Ethereum APIesp.ethereum.foundation

Access Ethereum Foundation ESP grant rounds, RFPs, wishlist items, blog posts, and application form fields via 12 structured endpoints.

Endpoint health
verified 3h ago
get_office_hours_form_fields
get_about_esp
get_applicants_overview
get_office_hours_info
get_open_rounds
11/12 passing latest checkself-healing
Endpoints
12
Updated
26d ago

What is the Ethereum API?

The Ethereum Foundation ESP API exposes 12 endpoints covering the full Ecosystem Support Program surface: active grant rounds, RFPs, wishlist items, blog posts, and application form metadata. The get_rfps endpoint returns Salesforce-backed RFP objects with fields like Name, Description__c, Tags__c, and Resources__c, while get_round_details fetches compiled MDX content and associated RFP items for any round by slug. Developers monitoring ESP funding opportunities or building grant-discovery tools get structured data without screen-scraping HTML.

Try it

No input parameters required.

api.parse.bot/scraper/08f63c73-ce3b-42cd-b2f4-ad7c81056ed7/<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/08f63c73-ce3b-42cd-b2f4-ad7c81056ed7/get_office_hours_form_fields' \
  -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 esp-ethereum-foundation-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.

"""Walkthrough: Ethereum Foundation ESP SDK — bounded, re-runnable; every call capped."""
from parse_apis.ethereum_foundation_esp_api import ESP, RFP, BlogPost, WishlistItem, FormField, RoundDetail, RoundSummary, RoundNotFound

esp = ESP()

# List all RFPs — inspect funding opportunities with requirements and deadlines
for rfp in esp.rfps.list(limit=5):
    print(rfp.name, rfp.tags, rfp.close_date)

# Browse wishlist items ESP is actively seeking proposals for
for item in esp.wishlistitems.list(limit=3):
    print(item.name, item.description[:80])

# List blog posts and drill into the first one for full content
post = esp.blogposts.list(limit=1).first()
if post:
    print(post.frontmatter.title, post.frontmatter.date, post.frontmatter.author)
    detail = esp.blogposts.get(url_path=post.url)
    print(detail.frontmatter.title, detail.content[:100])

# Get a specific grant round's full details, with typed error handling
try:
    round_detail = esp.rounddetails.get(slug="phdfp26")
    print(round_detail.details.name, round_detail.details.start_date, round_detail.content_mdx[:80])
except RoundNotFound as exc:
    print(f"Round not found: {exc}")

# List currently open rounds (may be empty when no rounds are active)
for r in esp.roundsummaries.list_open(limit=5):
    print(r.slug, r.name, r.start_date)

# List form fields for the Office Hours application
for field in esp.formfields.list(limit=5):
    print(field.name, field.label, field.required)

print("exercised: rfps.list / wishlistitems.list / blogposts.list / blogposts.get / rounddetails.get / roundsummaries.list_open / formfields.list")
All endpoints · 12 totalmissing one? ·

Returns all form fields with their metadata for the Office Hours application form, including field names, types, labels, required status, help text, and options for dropdowns/radios. Each field object describes one input in the form; dropdown fields include their full options array.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "fields": "array of FormField objects with name, type, label, required, placeholder, options, help, and default properties"
  },
  "sample": {
    "data": {
      "fields": [
        {
          "name": "firstName",
          "type": "text",
          "label": "First name",
          "required": true,
          "placeholder": ""
        },
        {
          "name": "domain",
          "type": "dropdown",
          "label": "Domain",
          "options": [
            "Application layer",
            "Cryptography",
            "DeFi",
            "Other"
          ],
          "required": true
        }
      ]
    },
    "status": "success"
  }
}

About the Ethereum API

Grant Rounds and RFPs

get_open_rounds returns an array of currently active grant round objects — or an empty array when no rounds are open, so your app can handle the off-cycle state cleanly. To drill into a specific round, call get_round_details with a slug parameter (e.g. phdfp26); the response includes frontmatter fields (name, description, tags, startDate, endDate), an rfp_items array of associated proposals, and a content_mdx string of the full compiled page content. get_rfps lists all Requests for Proposals with their Salesforce-native field names (Id, Name, Description__c, Tags__c, Resources__c), and get_wishlist returns the same shape for project types ESP is actively seeking.

Blog and Informational Content

get_blog_posts fetches all posts from the Ecosystem Support Program category on the Ethereum blog, returning each post's frontmatter (title, date, author, category, image), a content string, and a url. Individual posts can be fetched with get_blog_post_detail using a url_path in YYYY/MM/DD/slug format; the endpoint accepts paths with or without the /en/ prefix and trailing slash, returning the canonical URL, full markdown content, and frontmatter. get_applicants_overview returns the How to Apply page broken into mission_and_scope, process steps, and faq items — useful for surfacing eligibility context alongside listing data.

Application Form Metadata

get_office_hours_form_fields returns every field in the Office Hours application form as structured objects with name, type, label, required, placeholder, options, help, and default properties — enough to render the form programmatically or validate user input before submission. Two focused endpoints — get_domain_dropdown_options and get_profile_type_options — return the option arrays for those specific dropdowns independently, useful when you only need to populate a single select element. get_office_hours_info returns section strings for Summary, Eligibility, Process, What we offer, and FAQ.

Scope and Data Shape

All endpoints are GET requests with no required authentication. get_rfps and get_wishlist return Salesforce-style field names (__c suffix) reflecting the upstream data model. The get_round_details endpoint returns a stale_input error with kind: input_not_found when the provided slug doesn't match any known round, so callers should handle that case explicitly.

Reliability & maintenanceVerified

The Ethereum API is a managed, monitored endpoint for esp.ethereum.foundation — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when esp.ethereum.foundation 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 esp.ethereum.foundation 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
3h ago
Latest check
11/12 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 grant-discovery dashboard that surfaces open ESP rounds via get_open_rounds and their full details via get_round_details.
  • Aggregate all ESP RFPs and wishlist items into a searchable database using the Tags__c and Description__c fields from get_rfps and get_wishlist.
  • Render a programmatic application form by consuming the field metadata from get_office_hours_form_fields, including dropdown options and required-field flags.
  • Sync ESP blog posts into a content feed or newsletter by polling get_blog_posts for new entries by date from frontmatter.
  • Embed eligibility and process copy from get_applicants_overview into a grant-matching tool so users see ESP scope before applying.
  • Track ESP team and mission changes over time by periodically calling get_about_esp and diffing the summary and team_sections fields.
  • Populate domain and profile type dropdowns in an external intake form using get_domain_dropdown_options and get_profile_type_options.
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 the Ethereum Foundation ESP website have an official developer API?+
The Ethereum Foundation does not publish an official public REST API for the ESP website (esp.ethereum.foundation). The data exposed by these endpoints — rounds, RFPs, blog posts, and form fields — is not available in a documented machine-readable format from the Foundation directly.
What does `get_round_details` return when a slug doesn't exist?+
When the slug parameter doesn't match any known grant round, the endpoint returns a stale_input error object with kind: input_not_found. Your client code should check for this before trying to access details, rfp_items, or content_mdx.
Does the API expose grant application submission or status-checking functionality?+
No submission or application status endpoints are included. The API covers form field metadata (via get_office_hours_form_fields), informational content, and listing data. You can fork this API on Parse and revise it to add an endpoint targeting the submission flow or any status-check surface.
Are past or archived grant rounds accessible, not just currently open ones?+
get_open_rounds only returns currently active rounds and returns an empty array during off-cycles. get_round_details accepts a slug for any round, including past ones, if you know the slug — but there is no endpoint that lists all historical rounds. You can fork this API on Parse and revise it to add a round-index or archive endpoint.
How fresh is the data returned by `get_rfps` and `get_wishlist`?+
The RFP and wishlist data reflects the current state of the ESP site at the time of each request. There is no built-in change-detection or delta endpoint, so to track additions or removals you would need to poll and diff the returned arrays yourself.
Page content last updated . Spec covers 12 endpoints from esp.ethereum.foundation.
Related APIs in Crypto Web3See all →
espa.gr API
Discover and browse EU funding programs available in Greece, view detailed information about each initiative, and stay updated with the latest news from the ESPA portal. Search across the database and explore program planning details to find opportunities relevant to your interests.
grantwatch.com API
Search and browse thousands of grants from GrantWatch.com to find funding opportunities tailored to individuals, nonprofits, small businesses, and foundations. Get detailed grant information, filter by category, and discover newly posted grants to match your eligibility and funding needs.
sundance.org API
Discover and explore Sundance Institute film grants and funding opportunities, including detailed program information, eligibility criteria, application requirements, and award details from the official Sundance portal. List all active funding programs and retrieve comprehensive details for any specific grant.
arts.ca.gov API
Discover California arts funding opportunities by browsing grant programs, searching awarded grantees, and accessing resources from the California Arts Council. Find relevant grants and grantee information while staying updated with the latest news and resources in California's arts funding landscape.
soliditylang.org API
Access comprehensive Solidity documentation, search language references, and browse blog posts to stay updated on development news. Query compiler bug data filtered by version to identify known issues and compatibility concerns across smart contract projects.
crypto-fundraising.info API
Track cryptocurrency fundraising activity by searching projects and investors, viewing deal details, and staying updated with the latest crypto funding news and top active venture funds. Monitor major fundraising rounds, explore investor portfolios, and research emerging crypto projects all in one place.
etherscan.io API
etherscan.io API
ens.vision API
Search and explore ENS domains across the marketplace, discover owner portfolios and activity feeds, and resolve names to addresses with complete text records. Get domain details, browse categories, view offers and recommendations, and track all marketplace listings in one place.