Com APIthebabylounge.com.ng ↗
Access The Baby Lounge's pages, blog posts, products, and official contact details via 3 endpoints. Verify programmes, hiring info, and contact data programmatically.
What is the Com API?
The Baby Lounge API gives developers structured access to thebabylounge.com.ng across 3 endpoints, covering published pages, blog posts, shop products, and official contact details. Use search_site_content to run full-text queries across any of those three content collections, get_content_item to fetch a single item's full plain-text body by its numeric ID, and get_contact_details to retrieve verified addresses, phone numbers, email addresses, and social-media profile links as published on the site's Contact Us page.
curl -X GET 'https://api.parse.bot/scraper/501c0776-0f78-46b6-ab25-4173826146b9/search_site_content?query=work+experience&content_type=page' \ -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 thebabylounge-com-ng-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: The Baby Lounge site content SDK — bounded, re-runnable."""
from parse_apis.thebabylounge_com_ng_api import TheBabyLounge, ContentType, ItemNotFound
client = TheBabyLounge()
# Search published pages for a programme keyword; cap total items fetched.
for item in client.content_items.search(query="summer camp", content_type=ContentType.PAGE, limit=3):
print(item.title, item.url)
# Drill into the first search hit to read its full body text.
hit = client.content_items.search(query="work experience", limit=1).first()
if hit is not None:
try:
detail = client.content_items.get(item_id=str(hit.id))
except ItemNotFound:
print("content item was removed since the search")
else:
print(detail.title, detail.modified)
print(detail.text[:200])
# Retrieve the business's official contact details.
contact = client.contact_details.get()
print(contact.business_name)
for phone in contact.phones:
print(phone.display)
for addr in contact.addresses:
print(addr)
if contact.social_links.instagram is not None:
print(contact.social_links.instagram)
print("exercised: content_items.search / content_items.get / contact_details.get")
Full-text search over the site's published content of one type (pages, blog posts or shop products). The site's search matches any of the query words, so each hit also carries exact_phrase_found (whether the full query string appears verbatim, case-insensitive, in the item's body text) and matches (up to 10 text snippets around each verbatim occurrence) to separate loose hits from confirmed ones. One round trip per call. Result grain is one content item per row with its full plain-text body (text). Paginated: page (default 1) and per_page (default 10, maximum 20, larger values are clamped) are read; total and total_pages are the site's own counts and has_more tells whether a further page exists. A page beyond the last returns an empty items list with total 0 and has_more false. A query with no matches is a valid empty result.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based results page. |
| queryrequired | string | Free-text search term or phrase, e.g. a programme name. |
| per_page | integer | Items per page, 1 to 20. |
| content_type | string | Which published content collection to search. |
{
"type": "object",
"fields": {
"page": "page number served",
"items": "array of content items: id (integer, pass to get_content_item), content_type, title, url, modified (site-local ISO datetime), text (full plain-text body), exact_phrase_found (boolean), matches (array of snippet strings around verbatim occurrences; empty when none)",
"query": "the query echoed back",
"total": "site-reported total matching items",
"has_more": "true when a further page exists",
"per_page": "page size applied after clamping",
"total_pages": "site-reported number of pages",
"content_type": "collection searched (page, post or product)"
},
"sample": {
"data": {
"page": 2,
"items": [
{
"id": 1836,
"url": "https://thebabylounge.com.ng/child-care-training/",
"text": "Professional Childcare Training & Certification ... Get Exclusive Bonuses with 10+ Trainings FREE 2-Hour Speed Mentoring & Clarity Session on Zoom 1-Week In-Person Internship & Work Experience at The Baby Lounge, Lagos ...",
"title": "Child Care Training",
"matches": [
"FREE 2-Hour Speed Mentoring & Clarity Session on Zoom 1-Week In-Person Internship & Work Experience at The Baby Lounge, Lagos 2-Month Hand-Holding Support"
],
"modified": "2026-02-24T14:28:21",
"content_type": "page",
"exact_phrase_found": true
}
],
"query": "work experience",
"total": 18,
"has_more": true,
"per_page": 5,
"total_pages": 4,
"content_type": "page"
},
"status": "success"
}
}About the Com API
Content Search and Retrieval
search_site_content accepts a query string and an optional content_type parameter (page, post, or product) to scope the search to one collection. Results are paginated via page and per_page (capped at 20). Each item in the items array carries an integer id, title, url, content_type, modified datetime, and a text snippet. An exact_phrase_found boolean flags whether the full query string appears verbatim in the body — useful when the site's any-word matching returns loosely related results alongside precise hits. total, total_pages, and has_more support pagination logic without an extra request.
Fetching a Full Item
get_content_item takes an item_id (the integer from search_site_content's items[*].id) and an optional content_type that must match the collection the ID came from. The response returns the complete plain-text text body of the item, its canonical url, title, modified datetime, and content_type. This single round trip is the way to read the full text of a page or product listing after a search has identified the relevant ID.
Contact Details
get_contact_details returns no inputs and resolves to the business's officially published contact information: business_name, website, addresses (Victoria Island and Magodo, Lagos locations), phones (each with a human-readable display value and a dash-free number for programmatic dialing), emails, and a social_links object keyed by platform (facebook, x, instagram). The contact_page_url field records which page these details were read from, making it straightforward to link back to the source.
The Com API is a managed, monitored endpoint for thebabylounge.com.ng — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when thebabylounge.com.ng 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 thebabylounge.com.ng 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?+
- Verify whether a specific work-experience or teen scheme is described in published pages or posts using
search_site_contentwithexact_phrase_foundto confirm verbatim mentions. - Check current product listings and descriptions in the shop by searching with
content_type: productand fetching full text viaget_content_item. - Retrieve the official Lagos office addresses and dialable phone numbers from
get_contact_detailsfor a business directory or contact-verification tool. - Monitor when pages or blog posts about childcare programmes were last updated using the
modifiedfield returned byget_content_item. - Pull all published blog posts mentioning a keyword (e.g. a staff name or location) to audit public claims about the business.
- Collect social-media profile URLs from
social_linksinget_contact_detailsto cross-reference official accounts in a brand-monitoring workflow.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does thebabylounge.com.ng have an official developer API?+
How does `exact_phrase_found` differ from the `total` match count in `search_site_content`?+
total reflects the site's own match count, which treats query words independently — a post containing some but not all query words can still be included. exact_phrase_found is a per-item boolean that is true only when the full, unbroken query string appears verbatim (case-insensitive) somewhere in that item's body, letting you distinguish strong matches from incidental ones.Is product pricing returned by any endpoint?+
get_content_item and search_site_content endpoints return the plain-text body of product listings, which may include price text as it appears on the page, but there is no dedicated structured price field. You can fork this API on Parse and revise it to add a structured price-extraction endpoint if you need price data as a discrete field.Can the API return images, attachments, or media files from the site?+
Are there any limitations on how many results `search_site_content` can return per request?+
per_page is clamped to a maximum of 20 items per request. For larger result sets, use the page parameter alongside has_more and total_pages to iterate through all available pages.