The Point.P Search API returns product listings from Point.P search result pages. Pass a keyword (e.g. colle) or a full search URL and receive structured JSON with titles, prices, brands, ratings, units, and pagination.
Point.P pages are protected and JavaScript-heavy. Piloterr uses browser rendering to load the page and extract listing cards.
Use each result's listing_url with Point.P Product for full PDP details (description, EAN, specifications, breadcrumbs).
GET https://api.piloterr.com/v2/pointp/search?query=colle
Paginate with the optional page parameter or pass pagination.next:
GET https://api.piloterr.com/v2/pointp/search?query=colle&page=2
GET https://api.piloterr.com/v2/pointp/search?query=https://www.pointp.fr/search/page-2?q=colle
Via POST:
POST https://api.piloterr.com/v2/pointp/search
Content-Type: application/json
{"query": "colle", "page": 1, "return_page_source": false}
| Parameter |
Type |
Required |
Description |
query |
string |
yes |
Search keyword or full Point.P search URL |
page |
integer |
no |
1-based page number. Overrides the page inferred from the URL |
return_page_source |
boolean |
no |
Return raw HTML as {"result": "..."} (default: false) |
| Format |
Example |
| Keyword |
colle → https://www.pointp.fr/search?q=colle |
| Search URL |
https://www.pointp.fr/search?q=colle |
| Paginated URL |
https://www.pointp.fr/search/page-2?q=colle |
Accepted paths: /search, /search/page-{n} with query param q.
| Field |
Type |
Always present |
Description |
product_id |
string |
yes |
Point.P ID with A prefix (e.g. A7147449) |
reference |
string |
no |
Display reference shown on the card (≠ product_id) |
title |
string |
yes |
Product title |
listing_url |
string |
yes |
Absolute URL /p/...-A{id} |
image_url |
string |
no |
Thumbnail URL |
brand |
string |
no |
Brand name |
price |
number |
no |
Sale price; null when shown as agency-dependent |
currency |
string |
no |
ISO 4217 code (EUR) when price is set |
rating |
number |
no |
Star rating out of 5, 1 decimal |
review_count |
integer |
no |
Number of reviews |
unit |
string |
no |
Sales unit (e.g. Sac-sachet, m²) |
| Field |
Type |
Description |
page |
integer |
Current page |
per_page |
integer |
Listings on this page (typically 24) |
total_results |
integer |
Total products matching the query |
total_pages |
integer |
Total pages available |
next |
string | null |
Full URL of the next page; null on the last page |
To paginate, call pagination.next or pass page=N.
- Search: discover listings by keyword or search URL (this endpoint)
- Product: fetch full PDP JSON from any
listing_url
| Code |
Meaning |
400 |
Missing or invalid query |
404 |
Resource not found or not parseable |
500 |
Rendering or parsing error |
product_id (URL suffix) and reference (display ref) are distinct identifiers.
- Currency codes are normalized to ISO 4217 (
EUR, not €).
- Costs 2 credits per call (browser rendering).
- Building-materials repricing: monitor Point.P prices by keyword
- Catalog discovery: harvest
product_id and listing_url at scale
- Search rank tracking: track listing visibility across pages
- Product enrichment: chain Search → Product for EAN and specifications