Ads
This endpoint can be used to get, create, update and remove advertisements
Reference
GET /ads/
Retrieve one or more ads associated with this client
POST /ads/
Create a new advertisement.
PUT /ads/
Update an existing advertisement.
PATCH /ads/
Patch an existing advertisement.
PATCH /ads/batch
Patch multiple advertisements
DELETE /ads/<adId>
Remove an advertisement. Please note: removing an advertisement does not unpublish the advertisement from any portal.
Use unpublish to remove an advertisement from one or more portals before deleting it from GoedGeplaatst.
DELETE /ads/batch/
Remove multiple advertisements. Please note: removing an advertisement does not unpublish the advertisement from any portal.
Use unpublish to remove an advertisement from one or more portals before deleting it from GoedGeplaatst.
General search parameters
| field | type | description/constraints | Req | W | U |
|---|---|---|---|---|---|
| useCache | boolean | Use API caching module | No | No | No |
| page | int | Show page x from resultset (default: 1) | No | No | No |
| itemsPerPage | int | Number of items per page (default 25) | No | No | No |
| Minimum: 1 item | |||||
| Maximum with simple = false: 25 items | |||||
| Maximum with simple = true: 500 items | |||||
| order | array | List of order-objects | No | No | No |
| adId | int / array / string | When searching for ads, adId can be: | No | No | No |
| - a single integer | |||||
| - an array of integers | |||||
| - a string value where adId's are seperated by a comma. | |||||
| simple | boolean | Only return a simple resultset containing the most essential information | No | No | No |
| Use this option to get a | |||||
| The following fields are not available in the resultset when simple is set to true: | |||||
| - attributes | |||||
| - contact | |||||
| - settings | |||||
| - images Only the primary image is returned in the resultset, not the complete imagelist. |
Fields order
| field | type | constraints | Req | W | U |
|---|---|---|---|---|---|
| field | string | Available options: | Yes | No | No |
| - price | |||||
| - closeDate (a combined closedate of all portals) | |||||
| - closeDateMarktplaats | |||||
| - closeDateTweedehands | |||||
| - closeDateMeta | |||||
| - created (default) | |||||
| - updated | |||||
| - title | |||||
| descending | boolean | If set to true: ordering is done descending instead of ascending | No | No | No |
Fields
| field | type | constraints | Req | W | U | S | P |
|---|---|---|---|---|---|---|---|
| searchkeyword | string | search/filter by keyword | No | No | No | Yes | No |
| searchportal | string | search/filter by portal. Only show ads who are currently active on the specified portal. | No | No | No | Yes | No |
| Use an exclamation mark before the value to create an inverted search. | |||||||
| (e.g. !marktplaats: find items not published to marktplaats) | |||||||
| Available options: | |||||||
| - marktplaats | |||||||
| - tweedehands | |||||||
| - website | |||||||
| - meta (only available for internal use) | |||||||
| searchattributes | array | search/filter by a list of searchattributes. | No | No | No | Yes | No |
| Field: categoryId is mandatory when using this search-option. | |||||||
| searchmanufacturer | boolean | true: find ads where manufacturer has been set and attributes are available for the specified category | No | No | No | Yes | No |
| false: find ads where manufacturer has not been set and attributes are available for the specified category | |||||||
| adId | int | No | No | No | Yes | No | |
| created | datetime | creationdate of this ad | No | No | No | No | No |
| updated | datetime | updatedate of this ad | No | No | No | No | No |
| userId | int | The userId for this advertisement | Yes | Yes | No | Yes | No |
| contactId | int | The contactId to use for this ad to overrule the default contact information associated with this user. | No | Yes | Yes | No | No |
| folderId | int | The folder to use for this ad. | No | Yes | Yes | Yes | No |
| status | string | Available options: | Yes | Yes | Yes | Yes | Yes |
| - concept | |||||||
| - active (default) | |||||||
| - archive | |||||||
| Please note: status archive does not unpublish the advertisement from any portal. | |||||||
| Use unpublish to remove an advertisement from one or more portals before moving it to archive. | |||||||
| externalAdId | int | The external adid in the clients backend Mandatory for partners only. |
Yes | Yes | No | No | No |
| type | string | Available options: | Yes | Yes | Yes | Yes | No |
| - supply | |||||||
| - demand | |||||||
| title | string | min 5 characters max 60 characters |
Yes | Yes | Yes | Yes | No |
| imagetext | string | Imagetext to be displayed in the primary image. Max. 18 characters. Marktplaats/Tweedehands: opvalsticker |
No | Yes | Yes | No | No |
| description | text | Description of the advertisement. | Yes | Yes | Yes | Yes | No |
| min 5 characters | |||||||
| max 65.536 characters | |||||||
| Available HTML tags: | |||||||
<b> </b> |
|||||||
<strong> </strong> |
|||||||
<u> </u> |
|||||||
<ul> </ul> |
|||||||
<li> </li> |
|||||||
<br /> <br/> |
|||||||
| groupId | int | The main-categoryId. | No | No | No | Yes | No |
| groupDescription | string | The description of the group | No | No | No | Yes | No |
| categoryId | int | The categoryId. See also: categories | Yes | Yes | No | Yes | No |
| categoryDescription | string | The description of the category | No | No | No | Yes | No |
| attributes | array | List of attributes-objects For a list of available attributes see chapter: Attributes |
Yes | Yes | Yes | No | No |
| url | string | Direct link to this object on a website. | No | Yes | Yes | No | No |
| price | object | The price-type | Yes | Yes | Yes | No | No |
| prices | object | prices-object for adding this ad to the available portals. | No | No | No | No | No |
| Not to be confused with the previous field 'price' which are the prices of the object for sale. | |||||||
| settings | array | List of settings-objects for this advertisement. | No | Yes | Yes | No | No |
| images | array | List of image-objects | No | No | No | No | No |
| misc | object | miscellaneous fields | No | Yes | Yes | No | No |
Fields searchattributes
| field | type | constraints | Req | W | U |
|---|---|---|---|---|---|
| portal | string | Use attributes of the following portal to search/filter | Yes | No | No |
| Available options: | |||||
| - marktplaats | |||||
| - tweedehands | |||||
| locale | string | nl_NL | Yes | No | No |
| key | string | The keyfield | Yes | No | No |
| value_equals | any | Value must match exactly | Yes/No | No | No |
| value_equals_list | array | Values must match exactly. | Yes/No | No | No |
Use with attributes like accessories where multiple options can be selected |
|||||
| value_lessequal | int/float | Value must be equal or less then the provided value | Yes/No | No | No |
| value_greaterequal | int/float | Value must be equal greater then the provided value | Yes/No | No | No |
| Either value_equals is mandatory or value_lessequal or value_greaterequal | |||||
| Use both value_lessequal and value_greaterequal to search for items matching a range of values. |
Fields: attributes
| field | type | constraints | Req | W | U |
|---|---|---|---|---|---|
| portal | string | Yes | Yes | Yes | |
| locale | string | Yes | Yes | Yes | |
| values | array | List of attribute-objects to submit | Yes | Yes | Yes |
Fields: attribute
| field | type | constraints | Req | W | U |
|---|---|---|---|---|---|
| key | string | Yes | Yes | Yes | |
| value | string | Yes | Yes | Yes | |
| label | string | No | No | No |
Fields price
From April 17th 2025 Marktplaats and 2dehands will remove the following price models:
- to be discussed
- by request
- trade
- buy it now
The remaining (valid) price-models are:
- fixed
- bidding
- see description
- reserved
Existing advertisements using the absolete price models will be converted to see description
New advertisements with these absolete price models will be rejected.
| field | type | constraints | Req | W | U | P |
|---|---|---|---|---|---|---|
| model | string | Available options: | Yes | Yes | Yes | Yes |
| - fixed | ||||||
| - bidding | ||||||
| - see description | ||||||
| - reserved | ||||||
| - to be discussed (removed) | ||||||
| - by request (removed) | ||||||
| - trade (removed) | ||||||
| - buy it now (removed) | ||||||
| price | int | The price in cents Mandatory for model: bidding, fixed and buy it now |
Yes/No | Yes | Yes | No |
| minimumBid | int | The minimal bid when model is set to: bidding | Yes/No | Yes | Yes | No |
| shippingCosts | int | The shipping costs when model is set to: buy it now | No | Yes | Yes | No |
| retail | int | The retail price of the object. | No | Yes | Yes | No |
Fields prices
| field | type | description/constraints | Req | W | U |
|---|---|---|---|---|---|
| marktplaats | array | List of price-objects | Yes | No | No |
| tweedehands | array | List of price-objects | No | No | No |
Fields settings
| field | type | constraints | Req | W | U |
|---|---|---|---|---|---|
| portal | string | Available options: | Yes | Yes | Yes |
| - marktplaats | |||||
| - tweedehands | |||||
| showcontact | boolean | Whether or not to enable contact-information in the advertisement | No | Yes | Yes |
| autoreplace | boolean | Auto re-publish the advertisement at the end of its duration. Default: false |
No | Yes | Yes |
| video | string | The URL to a video (mp4-format) to include in the advertisement | No | Yes | Yes |
Fields: misc
| field | type | constraints | Req | W | U |
|---|---|---|---|---|---|
| licensePlate | string | max 8 charachters. Only applicable for automotive categories. | No | Yes | Yes |
Example creating ad
Request
POST /ads/ HTTP/2
{
"status": "concept",
"externalAdId": 2,
"userId": 13023,
"contactId": 1,
"type": "supply",
"title": "Title for the new advertisement",
"imagetext": "AANBIEDING!",
"description": "Description of the advertisement with <strong>HTML Markup</strong><br>And some more information here...",
"categoryId": 2317,
"attributes": [
{
"portal": "marktplaats",
"locale": "nl_NL",
"values": [
{
"key": "numberOfSleepingPlaces",
"value": "tot en met 4"
},
{
"key": "bodyLength",
"value": "4 tot 5 meter"
},
{
"key": "constructionYear",
"value": 2016
},
{
"key": "accessories",
"value": "Disselslot"
},
{
"key": "accessories",
"value": "Ladder"
},
{
"key": "accessories",
"value": "Serviceluik"
},
{
"key": "accessories",
"value": "Zonnepaneel"
}
]
}
],
"url": "https://webshop-domain.nl/products/1000-product-title.html",
"price": {
"model": "fixed",
"price": 1995,
"minimumBid": 0,
"shippingCosts": 0,
"retail": 2500
},
"provider": {
"name": "Alternative companyname",
"address": "Streetname",
"houseNumber": "1A",
"postalCode": "1721PJ",
"city": "Broek op Langedijk",
"county": "NH",
"country": "NL",
"phone": "0226-111111"
},
"settings": [
{
"portal": "marktplaats",
"showcontact": true,
"autoreplace": false,
"video": "https://media.taggle.nl/238934/283928382.mp4"
}
],
"misc": {
"licensePlate": "TY-03-XS"
}
}
Response
{
"result": true,
"errors": [],
"data": {
"adId": 664608,
"created": "2024-09-06 11:45:54",
"updated": "2024-09-13 10:20:46",
"userId": 13023,
"contactId": 1,
"folderId": 0,
"status": "concept",
"externalAdId": 2,
"type": "supply",
"title": "Title for the new advertisement",
"imagetext": "AANBIEDING!",
"description": "Description of the advertisement with <strong>HTML Markup</strong><br>And some more information here...",
"groupId": 8,
"groupDescription": "Caravans en Kamperen",
"categoryId": 2317,
"categoryDescription": "Caravans",
"attributes": [
{
"portal": "marktplaats",
"locale": "nl_NL",
"attributes": [
{
"key": "numberOfSleepingPlaces",
"value": "tot en met 4",
"label": "Aantal slaapplaatsen"
},
{
"key": "bodyLength",
"value": "4 tot 5 meter",
"label": "Opbouw lengte"
},
{
"key": "constructionYear",
"value": 2016,
"label": "Bouwjaar"
},
{
"key": "accessories",
"value": "Disselslot",
"label": "Accessoires"
},
{
"key": "accessories",
"value": "Ladder",
"label": "Accessoires"
},
{
"key": "accessories",
"value": "Serviceluik",
"label": "Accessoires"
},
{
"key": "accessories",
"value": "Zonnepaneel",
"label": "Accessoires"
}
]
}
],
"url": "webshop-domain.nl/products/1000-product-title.html",
"price": {
"model": "fixed",
"price": 1995,
"minimumBid": 0,
"shippingCosts": 0,
"retailPrice": 2500
},
"prices": {
"marktplaats": [
{
"action": "plaatsen",
"priceInternal": 500,
"priceExternal": 1350,
"priceTotal": 1850,
"priceNative": 3203
},
{
"action": "omhoogplaatsen",
"priceInternal": 30,
"priceExternal": 170,
"priceTotal": 200,
"priceNative": 0
},
{
"action": "blikvanger",
"priceInternal": 30,
"priceExternal": 4360,
"priceTotal": 4390,
"priceNative": 0
},
{
"action": "dagtopper",
"priceInternal": 30,
"priceExternal": 200,
"priceTotal": 230,
"priceNative": 0
},
{
"action": "topadvertentie",
"priceInternal": 30,
"priceExternal": 1070,
"priceTotal": 1100,
"priceNative": 0
}
],
"tweedehands": [
{
"action": "plaatsen",
"priceInternal": 30,
"priceExternal": 1499,
"priceTotal": 1529,
"priceNative": 0
}
]
},
"contact": false,
"settings": [
{
"portal": "marktplaats",
"showcontact": true,
"autoreplace": false,
"video": "media.taggle.nl/238934/283928382.mp4"
},
{
"portal": "tweedehands",
"showcontact": false,
"autoreplace": false,
"video": ""
}
],
"images": false,
"portals": [
{
"portal": "marktplaats",
"publish": {
"pending": false,
"pendingDate": "0000-00-00 00:00:00",
"processing": false,
"processingDate": "0000-00-00 00:00:00",
"error": false,
"active": false,
"online": false,
"startDate": "0000-00-00 00:00:00",
"closeDate": "0000-00-00 00:00:00",
"remoteAdId": 0,
"clientResult": false,
"queueResult": false
},
"features": false
},
{
"portal": "tweedehands",
"publish": {
"pending": false,
"pendingDate": "0000-00-00 00:00:00",
"processing": false,
"processingDate": "0000-00-00 00:00:00",
"error": false,
"active": false,
"online": false,
"startDate": "0000-00-00 00:00:00",
"closeDate": "0000-00-00 00:00:00",
"remoteAdId": 0,
"clientResult": false,
"queueResult": false
},
"features": false
},
{
"portal": "website",
"publish": {
"pending": false,
"pendingDate": "0000-00-00 00:00:00",
"processing": false,
"processingDate": "0000-00-00 00:00:00",
"error": false,
"active": false,
"online": false,
"startDate": "0000-00-00 00:00:00",
"remoteAdId": 0
},
"features": false
}
],
"misc": {
"licensePlate": "TY-03-XS"
}
}
}
Example retrieving ads
Request
GET /rest/v1/ads/?userId=13023&status=concept&useCache=0&page=1&itemsPerPage=25&order%5B0%5D%5Bfield%5D=created&order%5B0%5D%5Bdescending%5D=1" HTTP/2
Response
{
"result": true,
"fromCache": false,
"totalItems": 2,
"totalInSet": 2,
"page": 1,
"itemsPerPage": 25,
"speed": 0.010261058807373047,
"data": [
{
"adId": 664608,
"created": "2024-09-06 11:45:54",
"updated": "2024-09-13 10:20:46",
"userId": 13023,
"contactId": 1,
"folderId": 0,
"status": "concept",
"externalAdId": 2,
"type": "supply",
"title": "Title for the new advertisement",
"imagetext": "AANBIEDING!",
"description": "Description of the advertisement with <strong>HTML Markup</strong><br>And some more information here...",
"groupId": 8,
"groupDescription": "Caravans en Kamperen",
"categoryId": 2317,
"categoryDescription": "Caravans",
"attributes": [
{
"portal": "marktplaats",
"locale": "nl_NL",
"attributes": [
{
"key": "numberOfSleepingPlaces",
"value": "tot en met 4",
"label": "Aantal slaapplaatsen"
},
{
"key": "bodyLength",
"value": "4 tot 5 meter",
"label": "Opbouw lengte"
},
{
"key": "constructionYear",
"value": 2016,
"label": "Bouwjaar"
},
{
"key": "accessories",
"value": "Disselslot",
"label": "Accessoires"
},
{
"key": "accessories",
"value": "Ladder",
"label": "Accessoires"
},
{
"key": "accessories",
"value": "Serviceluik",
"label": "Accessoires"
},
{
"key": "accessories",
"value": "Zonnepaneel",
"label": "Accessoires"
}
]
}
],
"url": "webshop-domain.nl/products/1000-product-title.html",
"price": {
"model": "fixed",
"price": 1995,
"minimumBid": 0,
"shippingCosts": 0,
"retailPrice": 2500
},
"prices": {
"marktplaats": [
{
"action": "plaatsen",
"priceInternal": 500,
"priceExternal": 1350,
"priceTotal": 1850,
"priceNative": 3203
},
{
"action": "omhoogplaatsen",
"priceInternal": 30,
"priceExternal": 170,
"priceTotal": 200,
"priceNative": 0
},
{
"action": "blikvanger",
"priceInternal": 30,
"priceExternal": 4360,
"priceTotal": 4390,
"priceNative": 0
},
{
"action": "dagtopper",
"priceInternal": 30,
"priceExternal": 200,
"priceTotal": 230,
"priceNative": 0
},
{
"action": "topadvertentie",
"priceInternal": 30,
"priceExternal": 1070,
"priceTotal": 1100,
"priceNative": 0
}
],
"tweedehands": [
{
"action": "plaatsen",
"priceInternal": 30,
"priceExternal": 1499,
"priceTotal": 1529,
"priceNative": 0
}
]
},
"contact": false,
"settings": [
{
"portal": "marktplaats",
"showcontact": true,
"autoreplace": false,
"video": "media.taggle.nl/238934/283928382.mp4"
},
{
"portal": "tweedehands",
"showcontact": false,
"autoreplace": false,
"video": ""
}
],
"images": false,
"misc": {
"licensePlate": "TY-03-XS"
}
},
{
"adId": 664607,
"created": "2024-09-06 11:17:39",
"updated": "2024-09-06 11:17:39",
"userId": 13023,
"contactId": 1,
"folderId": 0,
"status": "concept",
"externalAdId": 1,
"type": "supply",
"title": "Title for the new advertisement",
"imagetext": "AANBIEDING!",
"description": "Description of the advertisement with <strong>HTML Markup</strong><br>And some more information here...",
"groupId": 8,
"groupDescription": "Caravans en Kamperen",
"categoryId": 2317,
"categoryDescription": "Caravans",
"attributes": [
{
"portal": "marktplaats",
"locale": "nl_NL",
"attributes": [
{
"key": "numberOfSleepingPlaces",
"value": "tot en met 4",
"label": "Aantal slaapplaatsen"
},
{
"key": "bodyLength",
"value": "4 tot 5 meter",
"label": "Opbouw lengte"
},
{
"key": "constructionYear",
"value": 2016,
"label": "Bouwjaar"
},
{
"key": "accessories",
"value": "Disselslot",
"label": "Accessoires"
},
{
"key": "accessories",
"value": "Ladder",
"label": "Accessoires"
},
{
"key": "accessories",
"value": "Serviceluik",
"label": "Accessoires"
},
{
"key": "accessories",
"value": "Zonnepaneel",
"label": "Accessoires"
}
]
}
],
"url": "webshop-domain.nl/products/1000-product-title.html",
"price": {
"model": "fixed",
"price": 1995,
"minimumBid": 0,
"shippingCosts": 0,
"retailPrice": 2500
},
"prices": {
"marktplaats": [
{
"action": "plaatsen",
"priceInternal": 500,
"priceExternal": 1350,
"priceTotal": 1850,
"priceNative": 3203
},
{
"action": "omhoogplaatsen",
"priceInternal": 30,
"priceExternal": 170,
"priceTotal": 200,
"priceNative": 0
},
{
"action": "blikvanger",
"priceInternal": 30,
"priceExternal": 4360,
"priceTotal": 4390,
"priceNative": 0
},
{
"action": "dagtopper",
"priceInternal": 30,
"priceExternal": 200,
"priceTotal": 230,
"priceNative": 0
},
{
"action": "topadvertentie",
"priceInternal": 30,
"priceExternal": 1070,
"priceTotal": 1100,
"priceNative": 0
}
],
"tweedehands": [
{
"action": "plaatsen",
"priceInternal": 30,
"priceExternal": 1499,
"priceTotal": 1529,
"priceNative": 0
}
]
},
"contact": false,
"settings": [
{
"portal": "marktplaats",
"showcontact": true,
"autoreplace": false,
"video": "media.taggle.nl/238934/283928382.mp4"
},
{
"portal": "tweedehands",
"showcontact": false,
"autoreplace": false,
"video": ""
}
],
"images": false,
"misc": {
"licensePlate": ""
}
}
]
}
Example batch delete ads
Request
DELETE /ads/batch/
{
"userId": 12311,
"adId": [
664569,
664570,
664571
]
}
Response
{
"result": true,
"errors": [],
"data": []
}
Example batch patch ads
Request
PATCH /ads/batch/
{
"userId": 12311,
"adId": [
664569,
664570,
664571
],
"status": "concept"
}
Response
{
"result": true,
"errors": [],
"data": []
}