cricket-api APIcricket-api.net ↗
Access cricket-api.net tutorial posts, documentation, pricing pages, and tag vocabulary via 5 structured endpoints. Search, filter by tag, and read full content.
What is the cricket-api API?
This API exposes 5 endpoints covering cricket-api.net's tutorial blog, information pages, and tag taxonomy. Use list_posts to browse published tutorials with pagination, free-text search, and tag filtering, or call get_post to retrieve a full post including its heading outline, HTML body, and associated tag IDs. Information pages like pricing, coverage, and documentation are accessible through list_pages and get_page, with structured table extraction included.
curl -X GET 'https://api.parse.bot/scraper/74fe8ff0-e8c6-4684-968a-13ad906eb2e5/list_posts?tag_id=150' \ -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 cricket-api-net-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: cricket-api.net SDK — browse tags, posts and pages."""
from parse_apis.cricket_api_net_api import CricketApi, InputNotFound
client = CricketApi()
# Browse the tag vocabulary and pick the most-used tag.
tag = client.tags.list(limit=5).first()
if tag is None:
raise SystemExit("no tags found")
print(f"Top tag: {tag.name} ({tag.post_count} posts)")
# List posts carrying that tag, then drill into the first one.
post_summary = client.post_summaries.list(tag_id=str(tag.id), limit=3).first()
if post_summary is not None:
print(f"Post: {post_summary.title}")
post = post_summary.details()
print(f"Headings: {len(post.headings)}")
for h in post.headings[:3]:
print(f" h{h.level}: {h.text}")
print(post.content_text[:200])
# Browse information pages and fetch one with its tables.
page_summary = client.page_summaries.list(limit=3).first()
if page_summary is not None:
page = page_summary.details()
print(f"Page: {page.title} — {len(page.tables)} table(s)")
for tbl in page.tables[:2]:
print(f" columns: {tbl.header}")
# Point lookup by slug with error handling.
try:
doc = client.pages.get(slug="api-documentation")
print(f"Documentation page: {doc.title}")
except InputNotFound:
print("Documentation page not found")
print("exercised: tags.list / post_summaries.list / details / page_summaries.list / pages.get")
Lists published blog posts (tutorials) newest first, one summary per post with slug, title, URL, dates, excerpt and category/tag ids. Paginated by page and per_page (per_page is clamped to 100); a page beyond the last page returns an empty posts array with total 0 and has_more false. Optional free-text search and tag filter narrow the result set; the search matches title and body text. One request per call.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based page number. |
| query | string | Free-text search term matched against post title and body. Omitted = all posts. |
| tag_id | string | Numeric tag id from list_tags.tags[*].id; returns only posts carrying that tag. Omitted = no tag filter. |
| per_page | integer | Posts per page, 1-100. |
{
"type": "object",
"fields": {
"page": "page returned",
"posts": "array of post summaries: id (integer), slug (string, feed to get_post), title, url, published_at, modified_at (site-local ISO datetimes), excerpt (plain text), category_ids, tag_ids (integer arrays)",
"total": "total posts matching across all pages",
"has_more": "true when a later page exists",
"per_page": "page size applied",
"total_pages": "number of pages"
},
"sample": {
"data": {
"page": 2,
"posts": [
{
"id": 1416,
"url": "https://cricket-api.net/cricket-api-tutorials/how-to-add-live-cricket-odds-to-your-website/",
"slug": "how-to-add-live-cricket-odds-to-your-website",
"title": "How to Add Live Cricket Odds to Your Website",
"excerpt": "Learn how to integrate live cricket odds into a website using secure server-side API requests, market normalisation, bookmaker comparison, caching, status handling and stale-price protection.",
"tag_ids": [
169,
175,
174,
170,
173,
176,
171,
172
],
"modified_at": "2026-08-04T08:45:35",
"category_ids": [
1
],
"published_at": "2026-08-04T08:32:28"
}
],
"total": 6,
"has_more": true,
"per_page": 2,
"total_pages": 3
},
"status": "success"
}
}About the cricket-api API
Blog Post Discovery and Retrieval
list_posts returns paginated post summaries ordered newest first. Each summary includes slug, title, url, published_at, modified_at, excerpt, and integer category_ids and tag_ids. The page and per_page parameters control pagination (per_page is clamped to 100); when you go past the last page, posts returns empty and total returns 0. Pass a query string to match against titles and bodies, or pass a tag_id from list_tags to narrow results to a specific topic.
Full Post Content
get_post takes a slug from any list_posts summary and returns the same metadata fields plus content_html (full published HTML), content_text (plain text), and a headings array listing every h2 and h3 in document order with its level and text. An unknown slug returns an input error rather than an empty result, so slug values should always come from list_posts first.
Site Information Pages
list_pages returns all published site pages in one call — no pagination — with id, slug, title, url, published_at, and modified_at. Feed any slug to get_page to get content_text, an h2/h3 headings outline, and a tables array where each entry holds a header string array and a rows array of string arrays. Pages without tables return an empty tables array. This makes it straightforward to extract structured data from pages like pricing or coverage without parsing raw HTML.
Tag Vocabulary
list_tags returns up to 100 tags in a single call, ordered by post_count descending. Each tag has an integer id (passed as a string to list_posts tag_id), a slug, a name, and the count of posts carrying that tag. Tags with zero posts are included.
The cricket-api API is a managed, monitored endpoint for cricket-api.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cricket-api.net 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 cricket-api.net 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?+
- Build a searchable index of cricket API tutorial content using list_posts with the query parameter
- Sync a documentation mirror by polling list_posts for modified_at changes and fetching updated bodies via get_post
- Extract pricing table data from the cricket-api.net pricing page using get_page's structured tables field
- Enumerate all topic tags and their post counts via list_tags to build a tag-frequency chart
- Filter tutorial posts by a specific topic using tag_id from list_tags fed into list_posts
- Retrieve the h2/h3 heading outline of any post or page to generate a table of contents without parsing HTML
- Audit site coverage documentation by reading content_text from the coverage page returned by get_page
| 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.