Not affiliated with, endorsed by, sponsored by, or operated by Texas A&M University.
This is an independent, unofficial project built by one person. It reuses public data that Texas A&M publishes on its own website. The university has not reviewed it, has no involvement in it, and is not responsible for anything on it. "Texas A&M", "Aggie", and related names belong to the university and are used here only to describe whose listings these are.
Texas A&M runs a public board of research studies looking for volunteers, most of which pay. The official board is a good list but a hard one to shop: pay is written as free text ("Up to $30, paid as an Amazon gift card"), time commitment is written as different free text ("One-session study lasting about 2 hours"), and the two are never put together. So there is no way to see which studies are actually worth your afternoon.
This site reads both strings, works out guaranteed dollars per hour of your time, and sorts by it. It also tells you when a listing looks like it has been left up past its end date, which turns out to be common.
Everything comes from the public Aggie Research Volunteers WordPress API athttps://research.tamu.edu/wp-json/wp/v2/study, plus the four matching taxonomy endpoints for category, location, session type, and topic. No login, no scraping of pages, no private endpoints — it is the same JSON the university's own site is built from.
That API sends no CORS header, so your browser could not read it directly even if this site asked it to. All of it is fetched server-side when the site is built and baked into static files. At runtime, only an explicit private-vault sign-in talks to Firebase; the public study feed never fetches upstream data from your browser.
The listings are re-fetched every time the site is rebuilt. There is no live connection and no background refresh — what you are reading is a snapshot.
Studies also come and go upstream faster than a snapshot can track. A listing that was live when the snapshot was taken may have closed since, which is why every study page leads with "ask whether they are still recruiting".
This is the most important caveat on the site. The dollar and hour figures are produced by a heuristic parser reading sentences written by dozens of different labs with no shared format. It handles the common shapes well and it definitely gets some listings wrong.
If you fill in the optional details form, this site compares your answers with the criteria it read out of each listing and sorts studies into "looks like a fit", "probably not", and "cannot tell". That isa reading of some wording on a web page, not a medical or official determination, and it is not medical advice. Only the study team can decide who is eligible, and they will screen you themselves.
Anything you leave blank counts as "not answered", never as "no". That deliberately keeps more studies visible rather than fewer: quietly filtering out a study someone would have qualified for is a worse mistake than showing one they will not.
The optional form asks about age, handedness, MRI safety, cardiovascular conditions, pregnancy, seizure history, sex, fasting, and student status. Those answers are stored in your browser's local storage. If you explicitly sign in with either provisioned Google account, the same private owner-vault record follows you across devices.
Each listing includes a contact address, usually a graduate student's personal university email. Those people agreed to be listed on a university recruitment page; they did not agree to be on a scrapeable mirror. So no address appears in this site's HTML — each one is encoded and assembled in your browser only after you press "Show contact details". That stops bulk harvesters, not people, which is the point.
The same applies to the downloadable dataset: api/studies.json publishes every parsed figure but blanks out the contact name, email and phone, because one file holding all of them is exactly the list this is meant to prevent. The build refuses to finish if an address ever reaches either the pages or the dataset.
If you are a coordinator and would rather your study not appear here at all, that is a fair ask and it will be honoured.
status field says "publish" even for listings whose recruitment end date has passed, so expiry is worked out from the dates instead.