The TDP Search REST API gives you programmatic access to 2000+ RoboCup Team Description Papers. No authentication required. All endpoints return JSON.
https://tdpsearch.com/api All endpoints return JSON. No authentication required.
Search for papers about ball detection in the Small Size League
/api/search?query=ball+detection&league=soccer_smallsize Python
import requests
response = requests.get("https://tdpsearch.com/api/search", params={
"query": "ball detection",
"league": "soccer_smallsize"
})
results = response.json()["data"]
for chunk in results["chunks"]:
print(f'{chunk["paper_lyt"]}: {chunk["title"]}')
print(f' {chunk["text"][:120]}...')curl
curl -s "https://tdpsearch.com/api/search?query=ball+detection&league=soccer_smallsize" | python3 -m json.tool
Get the abstract of a specific paper using its paper_lyt identifier
/api/papers/soccer_smallsize__2024__RoboTeam_Twente/abstract Python
import requests
paper = "soccer_smallsize__2024__RoboTeam_Twente"
response = requests.get(f"https://tdpsearch.com/api/papers/{paper}/abstract")
data = response.json()["data"]
print(data)curl
curl -s "https://tdpsearch.com/api/papers/soccer_smallsize__2024__RoboTeam_Twente/abstract" | python3 -m json.tool
Get all teams in the corpus
/api/teams Python
import requests
response = requests.get("https://tdpsearch.com/api/teams")
teams = response.json()["data"]
for team in teams:
print(f'{team["name"]:30} {team["name_pretty"]}')curl
curl -s "https://tdpsearch.com/api/teams" | python3 -m json.tool
Use these exact values when filtering by league, year, or team. Paper identifiers use
the format {league}__{year}__{team} (double underscore), e.g. soccer_smallsize__2024__RoboTeam_Twente.
athome_domesticathome_openathome_socialindustrial_atworkrescue_robotrescue_simulation_agentrescue_simulation_infrastructurerescue_simulation_virtualsoccer_humanoid_adultsoccer_humanoid_kidsoccer_humanoid_teensoccer_midsizesoccer_simulation_2dsoccer_simulation_3dsoccer_smallsizesoccer_standardplatform200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025Search across all papers using hybrid semantic+keyword search
List papers, optionally filtered by league, year, or team
Get the table of contents for a paper
Get the abstract of a paper
Get the references/bibliography of a paper
Get paper metadata: title, authors, institutions, URLs
Get a specific paragraph by content sequence number
Get a specific table by content sequence number
Get a specific image by content sequence number
List all teams in the corpus
List all leagues
List all years, optionally filtered by league or team
Get team metadata: GitHub, website, social links
Get league metadata: official site, GitHub org, rules, community links
Machine-readable endpoint list available at /api.