FAPESP APIfapesp.br ↗
Access all currently open FAPESP research funding calls via API. Returns title, aid modality, research area, submission deadline, and call URL in structured JSON.
What is the FAPESP API?
The FAPESP Open Calls API exposes 1 endpoint — list_open_calls — that returns every currently open call for research funding proposals from FAPESP (Fundação de Amparo à Pesquisa do Estado de São Paulo). Each response object includes 6 fields: title, aid modality, research area, deadline in ISO 8601 format, the original Portuguese deadline text, and the direct call URL. Calls with continuous submission are also included with a null deadline value.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/6ce2c2d6-ff43-4b45-aa74-01ef394bef06/list_open_calls' \ -H 'X-API-Key: $PARSE_API_KEY'
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 fapesp-br-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: FAPESP open calls — list all current funding opportunities."""
from parse_apis.fapesp_br_api import Fapesp, ParseError
client = Fapesp()
# List open calls for proposals, capped at 10 items
try:
for call in client.calls.list(limit=10):
print(call.title)
print(f" Modalidade: {call.modalidade}")
print(f" Área: {call.area}")
print(f" Deadline: {call.deadline}")
print(f" URL: {call.url}")
print()
except ParseError as e:
# Site structure may change; handle extraction failures gracefully
print(f"Extraction failed: {e}")
# Grab just the first open call for a quick summary
first_call = client.calls.list(limit=1).first()
if first_call is not None:
print(f"Next deadline: {first_call.deadline} — {first_call.title}")
print("exercised: calls.list")
Lists all currently open calls for proposals (chamadas abertas) from FAPESP. Returns each call's title, aid modality, main research area/theme, submission deadline in YYYY-MM-DD format, the original deadline text, and the call URL. Calls with continuous submission (fluxo contínuo) have deadline set to 'continuous'. Makes a single request to the FAPESP chamadas page and parses all entries from the 'Chamadas Abertas (Todas)' section.
No input parameters required.
{
"type": "object",
"fields": {
"calls": "array of call objects with title, modalidade, area, deadline, deadline_raw, and url",
"total": "integer count of calls returned"
},
"sample": {
"data": {
"calls": [
{
"url": "https://fapesp.br/18192",
"area": "consulte a chamada",
"title": "Chamada de Propostas do Programa FAPESP para o Atlântico Sul e Antártica",
"deadline": "2026-08-10",
"modalidade": "Auxílio à Pesquisa Regular, Projeto Temático e Jovem Pesquisador (fase 1)",
"deadline_raw": "Data-limite para submissão de propostas: 10/08/2026"
},
{
"url": "https://fapesp.br/18262",
"area": "Tecnologias Quânticas e Transição Energética",
"title": "Chamada Pública FAPESP-FACEPE 2026 – Tecnologias Quânticas e Transição Energética",
"deadline": "2026-08-31",
"modalidade": "Auxílio à Pesquisa - Regular",
"deadline_raw": "Data-limite para submissão de propostas: 31/08/2026"
},
{
"url": "http://www.fapesp.br/11999",
"area": "Temas científicos das ciências biológicas e biotecnologia, mas propostas nos temas segurança alimentar, bioenergia ou biotecnologia industrial terão prioridade.",
"title": "FAPESP-BBSRC Pump-Priming Award (FAPPA)",
"deadline": "continuous",
"modalidade": "Auxílio à Pesquisa Regular",
"deadline_raw": "Submissão de propostas: fluxo contínuo"
}
],
"total": 21
},
"status": "success"
}
}About the FAPESP API
What the API Returns
The list_open_calls endpoint returns the full list of active chamadas abertas from FAPESP's funding opportunities page. Each call object in the calls array contains: title (the call's name in Portuguese), modalidade (aid modality, such as Auxílio à Pesquisa or Bolsa), area (the main research theme or thematic area), deadline (submission cutoff in YYYY-MM-DD format), deadline_raw (the original Portuguese deadline string as published), and url (direct link to the call's detail page on fapesp.br). The total field gives the integer count of calls in the current response.
Deadline Handling
Calls that accept submissions on a rolling basis (fluxo contínuo) return null for the deadline field while still populating deadline_raw with the original text. This lets you distinguish between fixed-cutoff and open-ended calls without string-parsing the raw value. No input filters are accepted — the endpoint always returns the complete set of currently open calls as published.
Coverage and Freshness
Data reflects the open calls listed on fapesp.br/chamadas at the time of the request. Coverage is limited to calls that FAPESP has marked as currently open; closed, archived, or forthcoming calls are not included. The url field for each call points to the official FAPESP page where applicants can find the full call document, eligibility rules, and required materials.
The FAPESP API is a managed, monitored endpoint for fapesp.br — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when fapesp.br 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 fapesp.br 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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor FAPESP funding opportunities by polling
list_open_callsand alerting researchers when new calls matching theirareaappear. - Build a research grant calendar by sorting calls by the
deadlinefield to surface approaching submission cutoffs. - Filter calls by
modalidadeto separate fellowship (Bolsa) opportunities from research grants (Auxílio à Pesquisa) in a lab management dashboard. - Aggregate FAPESP calls alongside other Brazilian funding agencies to give researchers a unified view of open opportunities.
- Track thematic trends in Brazilian public research funding by logging
areavalues across calls over time. - Auto-populate a university grants office database with current call titles, deadlines, and direct
urllinks without manual copy-paste from the FAPESP site.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 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.
Does FAPESP have an official developer API?+
What does `list_open_calls` return for calls with no fixed deadline?+
deadline field is null and the deadline_raw field contains the original Portuguese text as published by FAPESP. Both fields are always present in the response object.Can I filter calls by research area or aid modality using this API?+
list_open_calls endpoint takes no input parameters and always returns all currently open calls. Filtering by area or modalidade must be done client-side after receiving the full response array. You can fork this API on Parse and revise it to add server-side filtering parameters.Does the API include closed or past FAPESP calls?+
Does the API return the full call document or eligibility criteria?+
url returned for each call. The API does not currently parse the individual call detail pages. You can fork it on Parse and revise to add an endpoint that retrieves detail-page content.