Your AIYour scripts

Connect your scripts

The TDP Search REST API gives you programmatic access to 2000+ RoboCup Team Description Papers. No authentication required. All endpoints return JSON.

Base URL

https://tdpsearch.com/api

All endpoints return JSON. No authentication required.

Search papers

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

Read a paper abstract

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

List teams

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

Filter values

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.

Leagues

athome_domesticathome_openathome_socialindustrial_atworkrescue_robotrescue_simulation_agentrescue_simulation_infrastructurerescue_simulation_virtualsoccer_humanoid_adultsoccer_humanoid_kidsoccer_humanoid_teensoccer_midsizesoccer_simulation_2dsoccer_simulation_3dsoccer_smallsizesoccer_standardplatform

Years

200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025

All endpoints

GET /api/search?query=<query>&league=&year=&team=&content_type=&search_type=

Search across all papers using hybrid semantic+keyword search

GET /api/papers?league=&year=&team=

List papers, optionally filtered by league, year, or team

GET /api/papers/{paper_lyt}/toc

Get the table of contents for a paper

GET /api/papers/{paper_lyt}/abstract

Get the abstract of a paper

GET /api/papers/{paper_lyt}/references

Get the references/bibliography of a paper

GET /api/papers/{paper_lyt}/info

Get paper metadata: title, authors, institutions, URLs

GET /api/papers/{paper_lyt}/paragraph/{seq}

Get a specific paragraph by content sequence number

GET /api/papers/{paper_lyt}/table/{seq}

Get a specific table by content sequence number

GET /api/papers/{paper_lyt}/image/{seq}

Get a specific image by content sequence number

GET /api/teams

List all teams in the corpus

GET /api/leagues

List all leagues

GET /api/years?league=&team=

List all years, optionally filtered by league or team

GET /api/registry/team/{name}

Get team metadata: GitHub, website, social links

GET /api/registry/league/{name}

Get league metadata: official site, GitHub org, rules, community links

Machine-readable endpoint list available at /api.