It is the first week of the month and you are planning. You would like to know what else is on Saturday mornings around you, what the neighbors charge for something like your class, and which slots are already crowded.
You can find all of this out. This post walks through the actual requests, in the order you would ask the questions. You do not need to be a programmer, but you will need a key (we set those up by request for now) and either a developer friend or an AI assistant that can make web requests. Hand them the commands below.
Each one asks the Tailend API about Philadelphia, which is the only live metro today.
1. How do you tell it which neighborhood you mean?
Start by finding the neighborhood's slug:
- qfishtown
curl -G -H "X-API-Key: $TJ_KEY" https://api.tailend.dev/v1/philadelphia/neighborhoods \
--data-urlencode "q=fishtown"Each result has a name and a slug. Save the slug. Every request below reuses it as neighborhood=.
export SLUG="fishtown"(Use whatever the previous call returned for yours.)
2. What is on Saturday mornings?
- neighborhood$SLUG
- from2026-10-01
- to2026-10-31
- weekdaysaturday
- start_after09:00
- start_before12:00
- limit50
curl -G -H "X-API-Key: $TJ_KEY" https://api.tailend.dev/v1/philadelphia/events \
--data-urlencode "neighborhood=$SLUG" \
--data-urlencode "from=2026-10-01" --data-urlencode "to=2026-10-31" \
--data-urlencode "weekday=saturday" \
--data-urlencode "start_after=09:00" --data-urlencode "start_before=12:00" \
--data-urlencode "limit=50" \
| jq -r '.data[] | [.starts_local[0:16], .name, (.place.name // "-"), (.price.min // "n/a")] | @tsv'You get one row per event: local start time, name, where, and the lowest listed price. Two things to know. from and to are local calendar dates, and start_after/start_before are local clock times, so they mean what they say. And a repeating event, like a weekly storytime, is one row for the whole series rather than one per Saturday, so you see the rhythm of the neighborhood and not a wall of copies.
If the response says "has_more": true, pass meta.next_cursor back as cursor to get the next page.
3. What do similar classes cost?
- neighborhood$SLUG
- categorymusic_movement
- age3
- weekdaysaturday
curl -G -H "X-API-Key: $TJ_KEY" https://api.tailend.dev/v1/philadelphia/classes \
--data-urlencode "neighborhood=$SLUG" \
--data-urlencode "category=music_movement" \
--data-urlencode "age=3" \
--data-urlencode "weekday=saturday" \
| jq -r '.data[] | [.name, (.organization.name // "-"), .schedule.start_time, (.tuition.amount // "n/a"), (.tuition.text // "")] | @tsv'age=3 keeps classes whose stated age range covers a three-year-old. category takes the API's categories, such as music_movement, arts_creative, stem_learning or storytime_books. tuition.amount is a number in dollars when the organizer states one, and tuition.text is the organizer's own wording ("$120 for 10 weeks"), so you can compare the number and read the fine print. When a class does not state a price, it says n/a, not a guess.
To see only what costs less than yours, add max_price=120.
4. Who else is here?
- qmusic
- limit25
curl -G -H "X-API-Key: $TJ_KEY" https://api.tailend.dev/v1/philadelphia/organizations \
--data-urlencode "q=music" --data-urlencode "limit=25"Each organizer has a name, a website_url and live counts of what they currently have listed. Take an id from one and you can see everything that organizer runs with GET /v1/organizations/{id}/classes (or /events, /camps, /places), which is useful for a competitor you are curious about and for a partner you might want to talk to.
5. Where are the clashes?
Run step 2 again with the slot you are considering, say start_after=10:00 and start_before=11:00, and see what shares it. Then try the next slot over. It is the simplest possible clash check: same day, same hour, same neighborhood.
What does the picture not show?
Honesty matters here. The API shows what is currently listed. Some nearby offerings are not there yet, and a listing that lacks a stated price or time shows that as empty instead of guessing. Use it to see the shape of your neighborhood, not to conclude nothing else exists. Each listing also says when it was last confirmed (verified_at), so you can tell fresh from old.
Looking back at last season is not something the API offers today.
Why this matters
Owners are good at deciding things when they can see them. What used to take an evening of tabs is now a few short requests, and you can rerun them next month.
How Tailend helps
Tailend reads events, classes, camps and places from the organizers' own pages and calendars and turns them into consistent, dated records, so a Saturday is a Saturday and a price is a number. It is built for people making small, local decisions with less visibility than the big platforms have.
We start in Philadelphia and are working outward from there.
